Affordable High Performance DIY 8TB NAS

Moderators: mdrjr, odroid

Affordable High Performance DIY 8TB NAS

Unread postby odroid » Tue Jun 27, 2017 5:12 pm

A forum user @linuxest reported the most affordable 8TB external storage could work with XU4 UAS driver in Kernel 4.9.
viewtopic.php?f=146&t=26016&start=200#p192817

I also wanted to make my own NAS because my Google Cloud storage was almost full.
I ordered the same storage(STEB8000100) from Amazon. It is US$180 only. 1TB costs $22 approximately. :o
https://www.amazon.com/Seagate-Expansio ... B01HAPGEIE

It has arrived here this morning and I've run a few Samba performance tests with Kernel 4.9 on my XU4Q.
I formatted the storage with EXT4 file system before testing because its stock file system is NTFS.

Downloading an 8GB file to my laptop(Windows 10) from the XU4 NAS. It shows 110MB/sec of transfer speed stably.
Image

Uploading an 8GB file to the XU4 NAS from my Windows laptop. It shows 90~100MB/sec of transfer speed.
Image

Helios LanTest (3GB transfer option) also shows good performance too.
Image

I am going to attach the XU4Q + Case on the storage with Velcro tape.
I hope I can share some pictures by end of this week. ;)

PS: I used the latest OMV image on an 8GB SD card to build this great NAS.
User avatar
odroid
Site Admin
 
Posts: 24623
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID

Re: Affordable High Performance DIY 8TB NAS

Unread postby odroid » Tue Jun 27, 2017 5:27 pm

Some pictures

XU4Q and the official case
Image

Velcro tape (3M Scotch 40mm x 25mm 4-pairs)
Image

Attach Velcro tape (loop side) to the XU4Q case bottom
Image

Attach Velcro tape (hook side) to the Seagate HDD case
Image

Place the XU4Q case on the HDD case
Image

Connect cables.
DC plug for HDD, DC plug for XU4Q, Ethernet and USB 3.0 cables.
Image
User avatar
odroid
Site Admin
 
Posts: 24623
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID

Re: Affordable High Performance DIY 8TB NAS

Unread postby mad_ady » Tue Jun 27, 2017 6:24 pm

You should also test the following:
* samba/NFS move speed (from one directory to another on the same disk
* local (shell) move speed (should depend only on uas)
User avatar
mad_ady
 
Posts: 2587
Joined: Wed Jul 15, 2015 5:00 pm
Location: Bucharest, Romania
languages_spoken: english
ODROIDs: XU4, C1+, C2

Re: Affordable High Performance DIY 8TB NAS

Unread postby odroid » Tue Jun 27, 2017 6:31 pm

mad_ady wrote:You should also test the following:
* samba/NFS move speed (from one directory to another on the same disk
* local (shell) move speed (should depend only on uas)


Any recommended commands or scripts or utility like the iozone?
Code: Select all
root@odroidxu4:/srv/dev-disk-by-id-ata-ST8000AS0002-1NA17Z_Z8410XJ5-part2# iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
   Iozone: Performance Test of File I/O
           Version $Revision: 3.429 $
      Compiled for 32 bit mode.
      Build: linux

   Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
                Al Slater, Scott Rhine, Mike Wisner, Ken Goss
                Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
                Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
                Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
                Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
                Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
                Vangel Bojaxhi, Ben England, Vikentsi Lapa.

   Run began: Tue Jun 27 11:35:11 2017

   Include fsync in write timing
   O_DIRECT feature enabled
   Auto Mode
   File size set to 102400 kB
   Record Size 4 kB
   Record Size 16 kB
   Record Size 512 kB
   Record Size 1024 kB
   Record Size 16384 kB
   Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
   Output is in kBytes/sec
   Time Resolution = 0.000001 seconds.
   Processor cache size set to 1024 kBytes.
   Processor cache line size set to 32 bytes.
   File stride size set to 17 * record size.
                                                              random    random     bkwd    record    stride                                   
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
          102400       4    16235    17418    19668    22467     1638     6171                                                         
          102400      16    36653    54856    42832    59549     6150    21621                                                         
          102400     512    81752   130692    97405   107465    56880    13806                                                         
          102400    1024   134536    58596    99396   116019    75389    21479                                                         
          102400   16384    73012    86099    61309   105185   148646    78000                                                         

iozone test complete.


1.1GB write/read test
Code: Select all
root@odroidxu4:/srv/dev-disk-by-id-ata-ST8000AS0002-1NA17Z_Z8410XJ5-part2# dd if=/dev/zero of=test oflag=direct bs=8M count=128
128+0 records in
128+0 records out
1073741824 bytes (1.1 GB) copied, 9.70109 s, 111 MB/s

root@odroidxu4:/srv/dev-disk-by-id-ata-ST8000AS0002-1NA17Z_Z8410XJ5-part2# dd if=test of=/dev/null iflag=direct bs=8M
128+0 records in
128+0 records out
1073741824 bytes (1.1 GB) copied, 8.39087 s, 128 MB/s
User avatar
odroid
Site Admin
 
Posts: 24623
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID

Re: Affordable High Performance DIY 8TB NAS

Unread postby mad_ady » Tue Jun 27, 2017 7:04 pm

I was thinking more like:
Code: Select all
time cp test test.2
User avatar
mad_ady
 
Posts: 2587
Joined: Wed Jul 15, 2015 5:00 pm
Location: Bucharest, Romania
languages_spoken: english
ODROIDs: XU4, C1+, C2

Re: Affordable High Performance DIY 8TB NAS

Unread postby odroid » Tue Jun 27, 2017 7:18 pm

Code: Select all
# time cp test_8GB test.2

real   2m13.274s
user   0m0.045s
sys   0m50.420s

Roughly 60MB/sec for local copying (read&write in interleaved-parallel).
But it is not accurate due to caches probably.
User avatar
odroid
Site Admin
 
Posts: 24623
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID

Re: Affordable High Performance DIY 8TB NAS

Unread postby memeka » Tue Jun 27, 2017 8:05 pm

any chance for a cheap (no lcd) cloudshell with the controller in this enclosure (and 2x drives if supported)? :D
User avatar
memeka
 
Posts: 3638
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART

Re: Affordable High Performance DIY 8TB NAS

Unread postby mad_ady » Tue Jun 27, 2017 8:26 pm

Shouldn't it be faster because of UAS? 60MB/s is something you could expect from mass-storage drivers...
User avatar
mad_ady
 
Posts: 2587
Joined: Wed Jul 15, 2015 5:00 pm
Location: Bucharest, Romania
languages_spoken: english
ODROIDs: XU4, C1+, C2

Re: Affordable High Performance DIY 8TB NAS

Unread postby odroid » Wed Jun 28, 2017 8:43 am

mad_ady wrote:Shouldn't it be faster because of UAS? 60MB/s is something you could expect from mass-storage drivers...

This 8TB storage box seems to include a 5400rpm HDD and its maximum throughput could be 120~130MB/sec.
So the read + write speed on a single disk could be 60MB/sec reasonably.
User avatar
odroid
Site Admin
 
Posts: 24623
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID

Re: Affordable High Performance DIY 8TB NAS

Unread postby odroid » Wed Jun 28, 2017 8:49 am

memeka wrote:any chance for a cheap (no lcd) cloudshell with the controller in this enclosure (and 2x drives if supported)? :D

I think you can stack two 8TB external HDDs and XU4 all together to make a very affordable two-bay 16TB NAS. ;)
User avatar
odroid
Site Admin
 
Posts: 24623
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID

Re: Affordable High Performance DIY 8TB NAS

Unread postby Snk » Tue Jul 04, 2017 7:16 am

Following the logic of our friend @odroid, I come to make my contribution.
If we do not have money to buy a Cloudshell 2 and some HD's, we come up with new ideas. Haha
XU4 + 32Gb eMMC Kernel 4.9 + 1TB Seagate Expansion Desktop

Image
Image
Image
User avatar
Snk
 
Posts: 217
Joined: Sun Jul 31, 2016 6:43 am
languages_spoken: Portuguese
ODROIDs: XU4 + eMMC 32GB + UART

Re: Affordable High Performance DIY 8TB NAS

Unread postby odroid » Tue Jul 04, 2017 9:18 am

@Snk,
Thank you for the contribution.
We love Poor Man's High-performance NAS. ;)

I also have an Expansion Portable Drive 2TB and I will try to improve the performance in this weekend.
User avatar
odroid
Site Admin
 
Posts: 24623
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID

Re: Affordable High Performance DIY 8TB NAS

Unread postby Snk » Tue Jul 04, 2017 11:19 am

@odroid
I believe that for my configuration, the performance was pretty cool.
I will buy a Gigabit switch to maintain this performance ... In a few months, I will buy a unit of this same model from yours, to use correctly here.
I bought 1Tb just to do an experiment, I risked a good money and I saw that it was worth it.
Now, I'm going to go improve performance and then increase capacity.
If you get new optimizations, share here on the topic to exchange experiences!
User avatar
Snk
 
Posts: 217
Joined: Sun Jul 31, 2016 6:43 am
languages_spoken: Portuguese
ODROIDs: XU4 + eMMC 32GB + UART

Re: Affordable High Performance DIY 8TB NAS

Unread postby odroid » Tue Jul 04, 2017 4:04 pm

I couldn't wait until the weekend. :D
I've installed the latest OMV image on an SD card and updated.
OMV image : https://sourceforge.net/projects/openme ... d-XU3_XU4/

Just connected the Expansion Portable 2.5inch 2TB HDD for a quick test.
The performance is quite great. I think the OMV has been well optimised and easy to use.
We need to check why its Samba performance is 15~20% better than our Ubuntu Samba configuration.

Downloading an 8GB file to my laptop from XU4.
Image

Uploading from laptop to XU4.
Image

Helios LanTest (3GB transfer option)
Image

Note that this small Seagate external USB3.9 2.5inch HDD is not compatible with Linux UAS driver.
So it is another proof that the generic NAS performance is not affected by the UAS feature since most NAS uses the HDD not the SSD.
User avatar
odroid
Site Admin
 
Posts: 24623
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID

Re: Affordable High Performance DIY 8TB NAS

Unread postby mad_ady » Tue Jul 04, 2017 4:41 pm

They might have USB3 interrupts pinned to the big cores. By default all interrupts are pinned to core 0, which is little.
User avatar
mad_ady
 
Posts: 2587
Joined: Wed Jul 15, 2015 5:00 pm
Location: Bucharest, Romania
languages_spoken: english
ODROIDs: XU4, C1+, C2

Re: Affordable High Performance DIY 8TB NAS

Unread postby odroid » Tue Jul 04, 2017 4:59 pm

No. our Ubuntu assigns the USB IRQs to the big cores while OMV assigns them to the little cores.
Very weird.
User avatar
odroid
Site Admin
 
Posts: 24623
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID

Re: Affordable High Performance DIY 8TB NAS

Unread postby odroid » Sun Jul 23, 2017 4:18 pm

I had a chance to test the WesternDigital My Book Desktop External Hard Drive 8TB USB HDD.
My friend bought it from Amazon at US$200 to build his own NAS because he doesn't like Seagate HDD.

Its VID/PID is 1058:25ee Western Digital Technologies, Inc. and it is not compatible with the current Linux UAS driver.
Image

But the Samba performance is quite great. :D

Downloading an 8GB file to my laptop from XU4.
Image

Uploading from laptop to XU4.
Image

Helios LanTest (3GB transfer option)
Image

1.1GB write/read test
Code: Select all
root@odroidxu4:/srv/dev-disk-by-label-WD-8TB# dd if=/dev/zero of=test oflag=direct bs=8M count=128
128+0 records in
128+0 records out
1073741824 bytes (1.1 GB) copied, 6.83797 s, 157 MB/s
root@odroidxu4:/srv/dev-disk-by-label-WD-8TB# dd if=test of=/dev/null iflag=direct bs=8M
128+0 records in
128+0 records out
1073741824 bytes (1.1 GB) copied, 7.30801 s, 147 MB/s


iozone test
Code: Select all
root@odroidxu4:/srv/dev-disk-by-label-WD-8TB# iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
   Iozone: Performance Test of File I/O
           Version $Revision: 3.429 $
      Compiled for 32 bit mode.
      Build: linux

   Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
                Al Slater, Scott Rhine, Mike Wisner, Ken Goss
                Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
                Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
                Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
                Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
                Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
                Vangel Bojaxhi, Ben England, Vikentsi Lapa.

   Run began: Sun Jul 23 09:46:21 2017

   Include fsync in write timing
   O_DIRECT feature enabled
   Auto Mode
   File size set to 102400 kB
   Record Size 4 kB
   Record Size 16 kB
   Record Size 512 kB
   Record Size 1024 kB
   Record Size 16384 kB
   Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
   Output is in kBytes/sec
   Time Resolution = 0.000001 seconds.
   Processor cache size set to 1024 kBytes.
   Processor cache line size set to 32 bytes.
   File stride size set to 17 * record size.
                                                              random    random     bkwd    record    stride                                   
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
          102400       4    11961    12917    13657    13407      975     1697                                                         
          102400      16    36688    46307    48070    48766     3995     6688                                                         
          102400     512    99193   170704   142096   144098    58088   105747                                                         
          102400    1024   128864   168531   138373   147353    76938   128194                                                         
          102400   16384   133294   145069   126976   129849   137700   141307                                                         

iozone test complete.


Another proof that generic NAS performance is not affected by the UAS feature significantly.
User avatar
odroid
Site Admin
 
Posts: 24623
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID

Re: Affordable High Performance DIY 8TB NAS

Unread postby Snk » Mon Aug 14, 2017 10:11 am

Guys, is there any possibility of creating a NAS this way, but based on Android? I searched Samba for Android but I was not successful in finding it.
User avatar
Snk
 
Posts: 217
Joined: Sun Jul 31, 2016 6:43 am
languages_spoken: Portuguese
ODROIDs: XU4 + eMMC 32GB + UART

Re: Affordable High Performance DIY 8TB NAS

Unread postby mad_ady » Mon Aug 14, 2017 2:37 pm

In theory you could either use volkspc if supported by xu4. Or put android + install a linux distro on top and it should allow you to access the disk and create shares
User avatar
mad_ady
 
Posts: 2587
Joined: Wed Jul 15, 2015 5:00 pm
Location: Bucharest, Romania
languages_spoken: english
ODROIDs: XU4, C1+, C2

Re: Affordable High Performance DIY 8TB NAS

Unread postby Snk » Tue Sep 12, 2017 5:43 am

Hello everyone, reliving the topic here ... Could anyone tell me if this ORICO enclosure is UAS compliant?

https://pt.aliexpress.com/item/ORICO-95 ... e74590b491
User avatar
Snk
 
Posts: 217
Joined: Sun Jul 31, 2016 6:43 am
languages_spoken: Portuguese
ODROIDs: XU4 + eMMC 32GB + UART

Re: Affordable High Performance DIY 8TB NAS

Unread postby DarkBahamut » Tue Sep 12, 2017 9:50 pm

That listing and their official website are a bit barren on specs, but this Amazon listing for the same device is more helpful. Chipset is listed as a JMS 56x (Likely 561) and UAS is supported.

https://www.amazon.co.uk/ORICO-9528U3-B ... B072VC5NY8
DarkBahamut
 
Posts: 241
Joined: Tue Jan 19, 2016 10:19 am
languages_spoken: english
ODROIDs: XU4

Re: Affordable High Performance DIY 8TB NAS

Unread postby Snk » Tue Sep 12, 2017 10:29 pm

DarkBahamut wrote:That listing and their official website are a bit barren on specs, but this Amazon listing for the same device is more helpful. Chipset is listed as a JMS 56x (Likely 561) and UAS is supported.

https://www.amazon.co.uk/ORICO-9528U3-B ... B072VC5NY8


Hello Friend! Thanks for the answer!
I'll make the request then to mount a decent NAS. I think it will be worth the investment.
User avatar
Snk
 
Posts: 217
Joined: Sun Jul 31, 2016 6:43 am
languages_spoken: Portuguese
ODROIDs: XU4 + eMMC 32GB + UART

Re: Affordable High Performance DIY 8TB NAS

Unread postby Earth Eater » Thu Sep 14, 2017 3:23 am

Are you running Linux as OS? And eMMC I assume, how much GB?
Earth Eater
 
Posts: 19
Joined: Mon Nov 28, 2016 4:18 am
languages_spoken: english, dutch
ODROIDs: C2

Re: Affordable High Performance DIY 8TB NAS

Unread postby odroid » Fri Sep 15, 2017 8:06 am

Ubuntu, Debian or OMV Linux OS can run.
8GB eMMC or SD card is enough for NAS application.
User avatar
odroid
Site Admin
 
Posts: 24623
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID

Re: Affordable High Performance DIY 8TB NAS

Unread postby Earth Eater » Fri Sep 15, 2017 11:15 pm

odroid wrote:Ubuntu, Debian or OMV Linux OS can run.
8GB eMMC or SD card is enough for NAS application.
ok thank you! :)
Earth Eater
 
Posts: 19
Joined: Mon Nov 28, 2016 4:18 am
languages_spoken: english, dutch
ODROIDs: C2


Return to Projects

Who is online

Users browsing this forum: No registered users and 3 guests