Data array disks connected via USB3


Recommended Posts

Hello Everyone!

I'm just having a quick question, for which I'd highly appreciate the esteemed community's thoughts. I'm currently in the process of setting up an testing an UnRAID server mainly for NAS purposes. I'm using a Gigbyte GB-BACE 3150 small form factor PC with a low power Celeron N3150. I'm testing how well (or unwell) connecting data array disks via USB3 works.

 

I know that connecting data disk arrays via USB is not recommended. However, since there are no other options in this case, I wanted to see how it works anyway. I have tested already with one single disk, and I ended up with 50 MB/s transfer rate, which obviously isn't exactly light speed.

 

Now the question: I want to test an array with 4 HDDs in one data array including a parity disk. The GB-BACE has 4 USB3 connectors. I could use one USB enclosure for 4 HDDs with a single USB connection to the GD-BACE, or I could split the disks via multiple enclosures, for instance using one UBS connection per enclosure, hence and obviously up to 4 separate enclosures and connections. If I do so, would it be a fair assumption that the transfer rate would go up since I simply had (4 times) more USB bandwidth available in the multi-enclosure scenario compared to the single enclosure scenario?

 

Thanks a lot in advance for sharing any thoughts you might have!

 

Best,

Rick

Edited by mrrick
Fixing spelling and grammar bugs. ;-)
Link to comment
4 hours ago, mrrick said:

would it be a fair assumption that the transfer rate would go up

No. Unraid is NOT RAID. There is no striping. Each data disk in the parity array is an independent filesystem that can be read all by itself on any Linux. Each file in the parity array exists completely on a single disk. This is how Unraid allows for different sized disks in the array, and it also means data on unaffected disks isn't lost if more disks fail than parity can recover.

 

So, when reading a file, only the single disk the file is on is involved. However, when writing a file, parity is also updated realtime, so writing is actually slower than single disk speed. There are 2 different ways to configure parity updates, the slower method only involves parity and the disk being written, the faster method involves all disks in the array. Either method is slower than single disk speed.

 

There are numerous possible problems with trying to use USB for array or pool disks. Whether and which you encounter will depend somewhat on the specific hardware.

 

USB sometimes doesn't pass the disk serial number, so Unraid can't reliably identify a disk.

USB sometimes doesn't pass the SMART report, so Unraid can't monitor disk health.

USB sometimes disconnects, causing disks to get "kicked out" because they are no longer in sync with parity.

 

I often say don't try to use parity if you insist on using USB, since then there will be nothing to be out-of-sync when a disk disconnects. Of course, there is also no way to rebuild a failed disk without parity.

  • Like 1
Link to comment

If you need speed, you can have SSDs in pools separate from the parity array. The parity array is very good for WORM (Write Once, Read Many) which is often the case for our large media collections.

 

Writes can be cached in SSD pools and later moved to the parity array, and anything requiring frequent fast writes can be kept on pools and backed up to the array.

Link to comment

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.