I’m building a NAS unit with Rockstor, and am wondering about which drives to use. I want a mirrored RAID with 2 disks for storage and a separate disk for the system drive. I see that there are special NAS type drives available. Should all the drives be NAS drives, or can the system drive be a " regular" drive?
@Rob25 Welcome to the Rockstor community.
It is commonly believed that there is no harm in using regular desktop drives within raid arrangements. My understanding is that this is just plain wrong; except when it isn’t . It’s mainly all down to if the drive you choose has a sensible “Time Limited Error Recovery (TLER)” mechanism. Some regular desktop drives do have this. All NAS drives have this. The reason all NAS drives have this, normally set to around 7 seconds incidentally, is because it’s set this way for a reason. A desktop drive will try much much longer to ‘recover’, but this time is often far longer that the linux kernels default time out. Hence your drive will just ‘go dark’ from the kernels perspective, and the kernel will then reach it’s timeout for such behaviour and just reset the drive. Thus loosing the possibility for the raid level to acknowledge the failure before the linux kernel timeout and take the action that can be taken in a raid setup: correct the problem via a second copy. Only relevant in redundant raid levels of course.
This topic of discussion is, apparently, a regular on the mdraid mailing list where they know a thing or two about raid. It has also come up on the btrfs mailing list. But again, if the drive you use can be configured to have a more reduced timeout and sensibly report the errors in a NAS use friendly way then great. And you should also ensure, if you go this route, that the setting is maintained over a power cycle. But there are still concerns of such things as vibration robustness etc. A drive in a machine with multiple other drives has quite a different environment to a single drive in a machine all to it’s self. This concern is far more nebulous / tircky however that comparing a 7 second error report as within a 30 second scsi block layer kernel time out.
I’ve been, for quite some time, meaning to implement a feature within Rockstor’s Web-UI to surface this information for each and every drive, it’s kind of an important feature really but as always it’s down to time and prirorities. But I am determined to get this in when resources allow. I opened the following issue for this some time ago which has multiple authoritative references concerning the importance of this drive feature with raid setups, a couple of the references are from the btrfs mailing list:
That issue also has some example commands to see the settings of your existing drives.
So in brief if you care about your data use a NAS drive, the drive manufacturers are not new to this ‘game’ and there is a reason they produce different tools for different jobs. You may also hear stories, such as I have heard, of drives ejected from for example hardware raid arrays and then when examined later are found to be ‘just find’ when tested; this is another example of that drive being inappropriate for the environment. It most likely managed to repair it’s issue but had simply taken too long for the raid array and so was rejected as dead. This is more relevant to hardware raid setups though but you see the point. If that drive had reported an issue with an element of it’s surface it might have been dealt with via the redundant mechanisms rather than just being rejected whole sale.
So to your second question:
Absolutely. The system drive can’t easily be in a raid (at least for now) so a regular drive is the tool for the job in that case.
Hope that helps.
Thanks so much for all the valuable info!!! I’ll forge ahead now with 2 NAS drives for the RAID, and a good Seagate desktop type drive for the system.