November 24, 20232 yr TLDR: When a disk from cache pool disconnects, UnRaid keeps the pool online, slowly letting btrfs errors accumulate, but doesn't notify the user about the drive being offline, and I don't quite understand, why. I have 3 SSDs on my server, forming a btrfs cache pool. From time to time, be the reason a vibration in the room, a problem with a SATA controller / cable, or whatever else, an SSD drops offline, and the cache pool starts accumulating btrfs errors. Knowing about this problem, and having encountered it previously, I run a `dev stats` script every hour that checks btrfs for errors and notifies me if it finds any. I assume, it's just a part of the hobby, me being my own sysadmin and running a virtualization server at home. What I don't quite understand is the following — why doesn't UnRaid detect this and notify user in some way? If I wouldn't run the script myself, I wouldn't know about the problem, until the pool would accumulate enough errors that even shutting the machine down, re-plugging all the cables, turning it on and running a correcting scrub operation wouldn't help anymore, forcing me to reformat the drives and recreate the pool. Been there, done that. So, my question: why doesn't UnRaid probe the drives to notice when they drop offline? As far as I could see, even when I stopped the array, the drive in question seemed to be present, even though UnRaid clearly couldn't communicate with it, and only after a reboot the system could tell that a drive actually WAS missing. Is it a hardware limitation? SATA does support hot-pluggability to some extent, so there probably is a way to know when a drive disconnects. P.S. also, facing this problem last time I noticed, that running `btrfs scrub start /mnt/cache` from the console shows me errors, but running a scrub operation from the UI returned no errors whatsoever, so without using the command directly / running a scheduled script I wouldn't even know that something happened even if I was looking for an issue. Edited November 24, 20232 yr by semioniy corrected the btrfs command, added paragraphs for readability
November 24, 20232 yr Community Expert Currently Unraid does not monitor pools, I've been asking for that since 2016, for now you can use a script, not perfect but better than nothing: https://forums.unraid.net/topic/46802-faq-for-unraid-v6/?do=findComment&comment=700582
November 24, 20232 yr Author 5 hours ago, JorgeB said: Currently Unraid does not monitor pools, I've been asking for that since 2016, for now you can use a script, not perfect but better than nothing: https://forums.unraid.net/topic/46802-faq-for-unraid-v6/?do=findComment&comment=700582 Sure, as I wrote — I accept it as a part of hobby, and use a btrfs dev stats script that runs on schedule myself. What I don't understand is the following: since UnRaid's primary purpose is to make NAS storage simple and abstract from different storage devices, Why does it not do something when one of these storage devices gets disconnected on a live array? Like, at least detect that a /dev/sdx device can't be communicated with anymore and notify user about it.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.