Build RAID1 on two portal usb 3.0 hard drive

Hi experts,
I have an Intel NUC (i3-6100U) running ESXi6.0 and I created a VM running rockstor.

I attached two portal 2.5’ usb 3.0 hard drive to the host and assigned both drives to rockstor. More specifically, the model of the hard drives is seagate backup plus portable 4TB.

I created RAID 1 pool on top of the two drives, so far so good. Both drives hibernate during idle time, and performance is decent.

I am asking if any one here has experiences of such setup. I’m concerning if there’s any potential risk to data safety? Such as would it causing RAID lost in in case of power instability of the USB 3.0 port, etc. Anything I should specially pay attention to than hard drives on SATA port? Any other suggestions?

@niu_lin Welcome to the Rockstor community.

I don’t have any experience of such as a setup but I do run a test system with a single drive pool which is USB connected. My understanding is that there is increased risk with this type of arrangement as there are simply more ‘moving parts’ between memory and disk and that USB bus reset is not an uncommon event that could result in the 2 drives becoming out of sync, consequently degrading the pool. So yes I think it is generally considered that this is not an optimal setup given this issue. That is what I have gleened from the btrfs mailing list on a few occasions, sorry no references but a quick search should result in a few mentions of the same reservations. The USB bus does have a tendency to be much less robust / stable than SATA ports and I believe that is the origin of the concern. However if you are managing fine as is then great but I would avoid plugging and unplugging anything else USB related on that system while the pool is mounted.

Hope that helps and hopefully we will get some more input on this thread as it’s an arrangement I’d quite like to use myself but am currently shying away from for the above reasons.

If the model is one that also has a SATA port then an alternative arrangement is to use a single drive on that port and the msata device as it’s mirror / partner. Then boot using Rockstor installed on one of the more classy type USB key such as the Sandisk Extreme USB 3.0 which is essentially an ssd on a stick via builtin usb-to-sata bridge and then a proper SATA controller with wear levelling and even a degree of SMART functionality (with custom smart options applied anyway).

Thank you @phillxnet for your thoughtful answer! I do understand the concerns about the USB part. However, looks like there’re not many cases of such a setup. While small home devices without too much rooms for traditional hard drives are prevailing, I think I should give it a try and share my results in the long run. Of course, I’ll be very careful and backup my data properly.

1 Like

I started to doing some test on this setup. The first use case is what happens if I unplug the drive while the system is running, and plugged in back again.

The first test is to “accidentally” unplugged one of the drive. Unfortunately, the whole system became unresponsive. No response from Web UI, console, ssh shell, even the host did not respond to ping. On the console, it simply stucked on the shell login prompt.

I then hard restted the host (with that drive still unplugged). Then I was able to see the disk as “detached” and the pool became unusable. Then I plugged in the drive again, and after a while, the whole pool, shares were back again, and looked nothing happened.

And because while the second drive was unplugged, the whole pool was not writable, so there’was actually no way to make the two drive unsync.

The second use case is similar to the first one, but this time, I will format the unplugged drive on another server to see what happens.

The interesting thing is, on the second try, when I unplugged the drive, the system did not hang, and the pool was still usable with one of the drives shown as detached. So I wrote some files on it, and even made a scrub.

Then I formatted the unplugged drive on another computer and plugged it in back again. Unfortunately, I didn’t see any errors on web ui, it told me the disk is back to the pool and everything was good, but actually there were tons of errors shown on the host console.

In the end, I used “btrfs replace” and rebuilt my array without any data loss.

After this test, I’d like to make some suggestions to Rockstor:

  1. If some disk fails, there should be some clear notification or alert show on the UI, other than let it go without being noticed.
  2. There should be web ui support to replace disks for an pool. (I also evaluated OpenNAS which supports this feature well). I guess this is already on our roadmap:)
1 Like

Some update on this model:
It’s been more than one year since I setup this model. Two 3.5’ 3T HDD on a external HDD-USB case attached to two USB ports on my NUC, configured as RAID1, operating 24x7 (hard drive spin down during idle). The underlying OS was changed from ESXi to Linux, because ESXi has a bug with mapping USB devices into VMs. Rockstor is running as a KVM VM on Linux.
Fortunately It was very stable, worked like charm. I encountered twice sudden power loss or so due to the house’s electricity issue, but there’s no data loss, after power recovered everything was back to normal. And the performance is decent, samba share can use all my bandwidth on my 1G network, reaching transfer speed to 100+MBps.

1 Like

@niu_lin Thanks for the update on this setup, quite encouraging. As you say it makes for a convenient, and very compact and low power, home NAS system so it’s good to see a longer running test of it.

Given it’s quite low power it may be relatively cheap to put it on a UPS and setup the build in UPS / NUT support so that it can shutdown cleanly, if need be, in such a situation. Although this may be more complicated in your specific setup given the Rockstor in KVM arrangement. Just a thought.

1 Like