i’m still pretty new at linux, so i don’t really follow the top part to well.
my point of the snapshot concept is that where do you get the number of the total data…
it takes time to run through the files… i think i timed my non cached df and that took like a good while to scan
yeah i’m amongst the largest possible nodes currently on the network, because i joined shortly after the reset and have kept free space for it, and on fiber with near 24/7 up time and usually close to 99.9% successrates… the 4th 9 have been giving me trouble tho… xD
ended up getting a bit distracted while writing this response so took a few days… meanwhile my node migration finished and i’m now running my 14tb storagenode on 1x hdd iops…
so far i’m 2 hours in since i started the storagenode on this pool, and it’s still haven’t settled down to it’s “normal” iowait, but i ofc doesn’t quite know what my normal iowait is at the moment, but i doubt it’s this… looks very much like the same iowait’s i observed on the old 3x hdd iops pool.
which is why i suspect it’s not done doing whatever it’s doing during boot…
grabbed some screens of the graphs
sigh 3 hours in and still not done i think… will be very interesting to see how long the scrub takes now… at 1/3 the iops
best guestimate says there isn’t more than 1hr left until the storagenode is returns to regular operation… can’t really start my scrub test before … maybe i should have scrubbed before… but lets be fair… that would mean i should scrub for 3 days maybe and then when i’m done verifying the data i can rsync it again because it won’t be exactly the same as the active storagenode…
so decided to trust it.
here are the screens of the graphs
this is the one from the old pool running the storagenode only tho it was cached in the l2arc… so pretty much optimal conditions at 3x hdd iops.
new 1x hdd iops pool storagenode boot no cache
as you can see the raised iowait are over a significantly longer timeframe.
the normal normal server iowait with the storagenode running is below 1%… maybe 0.5 or 0.25% avg
ofc this is not a huge load on the hdd at 5% iowait… but if one was rebooting the node all the time…
of if we think of the 14 day planned rollout, thats like 350 hour so the minimum current filewalker activity on a 30tb storagenode would be running for close to 6 hour+ before the node is done booting… thats literally 2% of storagenode best possible uptime… and then if we imaging having problems just 4 reboots and it would be 8% out of which 4% the high activity mark…
missed when it dropped down because my avg is i guess 3 times higher… so no real surprise there, odd that the peak isn’t higher but maybe thats a priority thing or whatever… takes 3 times as long tho, from what i can tell with limited testing… but pretty much as i would have expected…
noticed that my dips in the avg now that was at it lowest was down to 0.1% which i would suppose means the disks was basically idle, thus done with whatever it was doing… took hours to get there tho… from the proxmox daily avg graph started the node at 8:30 and it was done around 12:30-13:00
as you can see the avg levels out at way below 5% then at 15:30 i started my scrub…
the ealier iowait is from the last of the node migration, finished at 23:00 the night before or something like that and then i set rsync to run again so it was semi ready this morning, which is the island between and the reason that the iowait goes up before node boot, ran a 3rd rsync before switching the running node off and did the run command for the migrated on… at 8:30 list previously stated.
makes the data a bit annoying to read, but just wanted to verify the numbers that i expected, which was pretty much spot on…
sorry if it looks like a bit of a rush job, because it was… want to get the 2nd 4 drive raidz1 connected to the pool so it can start to slowly balance out over both raidz’s and thus share the IO load on the raidz…
my successrates have dropped…
because the iops this one raidz1 can do is to low to serve all incoming download requests.
scrub speed is also as expected…
zpool status
pool: bitlake
state: ONLINE
scan: scrub in progress since Sat Oct 17 15:30:08 2020
4.93T scanned at 860M/s, 670G issued at 114M/s, 17.3T total
0B repaired, 3.78% done, 1 days 18:28:57 to go
config:
NAME STATE READ WRITE CKSUM
bitlake ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
ata-HGST_HUS726060ALA640_AR31021EH1P62C ONLINE 0 0 0
ata-HGST_HUS726060ALA640_AR11021EH2JDXB ONLINE 0 0 0
ata-HGST_HUS726060ALA640_AR11021EH21JAB ONLINE 0 0 0
ata-HGST_HUS726060ALA640_AR31051EJSAY0J ONLINE 0 0 0
logs
fioa2 ONLINE 0 0 0
errors: No known data errors
ofc thats just an estimate, but it’s about 3 times higher than the 14-16hours i would usually see on my semi well balanced 3x3 drive raidz1 pool
so yeah… i haven’t really had a big problem with the filewalking at boot, but i could see it as being a potentially annoying issue for big nodes troubleshooting or whatever… i fully expect it to be run… i just don’t see why it should run repeatedly every time…
maybe just add a timestamp to it, so that if it’s been run once then it will wait a while before it runs again at node boot… or do so that if the node has been rebooted multiple times in like a day, it will postpone the filewalker / space accounting thingamajig
i’ve reduced my iops now, hopefully that won’t affect my performance to much and if i want to fix it i just add another 4 drive raidz1 to this pool but i doubt it will be an issue since 2x iops of single hdd setups should be more than plenty… but we will see how my successrates are after 1st quarter next year, which is how long i expect it will take before the pool will have balanced the load…
and then l2arc will have to pull its weight until then…
interesting enough either adding the l2arc helps my scrub… or it doesn’t require as much IO as i would have thought… not that it’s really relevant…