Hiya,
I have a bit of a dilemma with my DIY NAS rig. I thought I was being clever by getting the cheapest 8TB seagates in existence for a RAIDZ1 pool, but I have to conclude they’re Fucking NoisyTM. I’m very sensitive to the noise, unable to relocate the rig further away from my sleeping space and I never need the spinning drives at night anyway.
I run Proxmox with the drives passed through to a TrueNAS VM. I’m willing to turn this setup upside down to get a super convenient way to put the drives to sleep and wake them up exactly when I want to. Heck, I’ll write my own webapp to do it if I need to, but I rather ask around first because this has to be a reoccurring thing.
I know it’s possible to put drives to sleep with Linux. I know it reduces their lifespan and I don’t care, I need to sleep. :) I’m unsure how exactly it should be done when the drives are passed through to a VM.
Do you put your drives to sleep? What tricks have you used to achieve this conveniently? Let me know!
E: Should have clarified, but there are other, SSD-backed services on the same machine that need to stay online regardless of what is going on with the spinning drives.
E2: Thanks all! Ended up dismantling the VM disk passthrough setup and going with hd-idle for now. It does what it says on the tin and even works nicely together with smartmontools even though it warned against it. Still need to setup network shares via LXC and recreate all the snapshot tasks I had going on in TrueNAS. But that’s non-urgent. I may well also look into better insulation soon, the case is indeed not ideal as it is right now.
I have a bit of a dilemma with my DIY NAS rig.
Does your setup have any way to do noise insulation? I suspect the answer is no but figured I’d throw it out there, surprisingly noise insulation helps more than you’d think. I have a bunch of drives inside a desktop case with insulation panels built in and the drives themselves are in there with rubber anti vibration screws/mounts. Barely ever hear anything from the drives (granted my WD Reds are probably quieter than your current Seagates).
Just something to think on whether it’s an option for your current NAS rig or a future configuration.
I’ll consider this!
I found with my QNAP NAS that even just sitting the case on a piece of styrofoam made it considerably quieter. A lot of vibration gets transmitted through the feet and whatever it sits on gets turned into a sounding board.
Putting drives to sleep reduces their lifespan? I thought it was some calculus involved where if they were offline for long enough to offset the cost of the spinup during a time period it was fine. Either way I have an unraid server with 6 disks being put to sleep after 4 hours inactivity and been running that for years. Have had to replace 2 pre owned drives and 1 new WD red that was under warranty in several years.
Yeah, I’m planning to spin them down so infrequently that it shouldn’t matter in the long run.
The usual trick is hdparm I guess? For me with a 8 disk raidz2 pool I found that playing a movie from that might put it to sleep between reads, because the longest timeout is a bit short. I’ve been using hd-idle with a 30 minuten timeout because of that for quite a few years already which has worked quite nice for me.
The only issue I’ve run into is that smart data reads count as activity, so make sure that any smart data software has a long timeout between reads and is configured to not wake disks.
Thanks! This sounds like an option.
Why don’t you buy a different enclosure for the drives? I have a Fractal Designs Define 6 and I dont hear any of my drives even sitting a foot away from it. The case cost me less than a single 8TB drive, and can hold around 12 3.5" drives, so it seems to be the most economical solution over running your drives into the ground by having them spin up and spin down regularly.
I could see making sure the NAS’ case is a well built/sealed one to reduce noise. I have 4 of those Seagate enterprise drives in a mesh case and boy are they loud lmao, so I get where OP is coming from.
This could be an option I guess - however the current case is a HP z440, which is SO convenient for building in that I need an extra good reason to get rid of it. Zero screws, just latches. Carrying handles.
But how often are you really in there fiddling with things to the point that not needing a Philips screwdriver outweighs your need to sleep each night?
Maybe try adding some Dynamat or other noise reducer inside the case to achieve the same result.
I’m possibly biased by the amount of initial fiddling with all the disks and pcie cards and hunting down where the noise was coming from. Will keep in mind.
I used to do this. My HDD were used only for the daily backup and nothing else. I had a cronjob sending them to sleep ten minutes after the backups (they usually took the same time). I had them in a ZFS pool and ZFS didn’t interfere with the sleep.
Using the HDD (like opening a directory on them or the like) will spin them up, so besides a little lag after the sleep, and the reduced lifespan, it won’t harm your system.
There’s also a setting where they go to sleep by themselves after not being used for x minutes, but that never really worked for me.
No idea if the passthrough will change anything but I’d just try what works. I think the command was hdparm but I’m not sure anymore.
First of all, a NAS VM is generally considered a bad idea that has been discussed before so I won’t repeat it here.
Anything using those drives is going to keep them awake. Usually, NAS software runs background tasks, as does proxmox. You’ll have to identify and schedule them to shut down during sleep hours.
But that’s going to be a huge pain, because eventually you’ll find it’s gone to sleep when you haven’t, and you want access. I’d see if you could configure proxmox to suspend the VMs and put the whole thing to sleep when you push the power button.
I’ll gladly take the advice on the NAS VM, I see so many tutorials virtualising TrueNAS and not a lot of the opposite viewpoint. If it’s not a good practice I’d indeed rather recycle that setup while I’m at it.
I don’t need to keep using Proxmox, or TrueNAS for that matter. If I need to DIY this with bare metal Debian, I will. My constraint is to have both always-on services and on-demand HDD backed services on the same machine. Sky is the limit after that…
Scheduling doesn’t sound the best indeed, which is why I’d ideally want a simple button that I can click from a GUI.
I had a longer reply typed out, but I guess the network ate it. The gist was to consider a second low power device for the always on services that don’t need the big noisy storage.
I currently have exactly this setup but I really want to migrate to a single machine :)
I think you have two goals at odds with each other.
I think it’s mostly advised against virtualizing because of problems with virtual filesystems, passing through your drives eliminats most reasons against it. I think this thread links most of the points. I think it was also in TrueNAS docs, but I can’t find it rn.
Thanks - from what I see myu CPU doesn’t support VT-d, only VT-x, which at a glance makes it not suitable for passing through these drives safely. I’ll get to dismantling the NAS VM setup actually.
I’ve put drives into standby mode with the gnome disks GUI tool on my regular desktop when they were being noisy and I wanted some peace for a while. If the drive was mounted before I put it to sleep, trying to access something on the disk will cause it to spin back up.
Don’t you want to turn off the whole NAS? Of you don’t have the disks spinning, the NAS is probably useless.
Not an option, because it will also run some essential services off SSD’s. :/
Insulation.
Or replace the drives.