Search for previous posts

Blog History


Odroid XU4 DIY NAS (CloudShell2)

I purchased the CloudShell2 kit for the Odroid XU4 as a tinkering, project NAS. I decided against the eMMC because I wanted to eventually push the OS over to a SSD anyways and just use the SDcard for boot.

I wanted the XU4 because of the CloudShell SATA backplane, USB3, and most importantly 1Gb vs the Raspberry Pi's 100Mb.

I bought the passive cooling heatsink since I wasn't gonna be pushing this very hard, just basic document/picture storage and some movie streaming, no virtualization or gaming. Plus the CloudShell2 kit has a fan.

No RAID; don't need the extra speed of RAID 0, and don't need the HA of RAID 1. I have an external USB3 HDD I periodically dump backups to. Plus I pay attention to drive health, so worse case in a couple years if I see too many bad sectors I'll just clone the HDD to a new one.

I went with NTFS for the Red storage drive. The reason is I don't need the extra speed of Ext4 and I want the ability to take the drive out of the box and stick it in a Windows machine for some reason down the road. Obviously the SSD is Ext4.

Ubuntu Mate for ease of configuration without having to deal with outdated, buggy OpenMediaVault plugins.

Part list is as follows:
  • XU4 - $59
  • CloudShell2 kit - $70
  • WD Red 4 TB - $133
  • SanDisk 120GB - $48
  • Samsung 32GB Evo SDcard (UHS1) - $12
  • Orico 2.5" to 3.5" adapter - $8
  • RTC backup battery - $2
$332 total. 

  • Obviously SAMBA
  • NUT utility
  • iPerf for network testing
  • VNC
  • Possibly others like PiHole or VPN client when I get the time.

I followed these tutorials to some extent, adding and subtracting to my needs:

The biggest hassle that I still cannot get fixed, is guest Samba access. I have spent quite a few hours troubleshooting and cannot access the share unless I use a username and password. Android, Windows and Mac all same symptoms. Oh well, it works as is so I'm leaving it. Maybe I'll try to fix it someday when it bugs me enough.

Another is I need to tune Samba. I only get about 200 Mbps via Windows transfer, but via iPerf (see my short post about iPerf) I get my full 1 Gbps. So it's not the Odroid NIC or my LAN. Has to be Samba. I have a few articles saved mentioning some possible reasons. I have a gut feeling it's IRQ balancing with the CPU cores. Just haven't had time. But the current speed is more than enough for movies and docs.

EDIT - I just thought of something; the iPerf is running from the SSD, and the Samba share is going to the HDD. So maybe a little more to the story than Samba tuning. Again, No sure when I'll get around to researching this but I'll update this post when I do.

UPDATE 2/8/18: You need to enable the switch big_writes in fstab (reference links here and here). Both links also suggested another switch noatime. The first "instructs the driver to write data to disk in larger chunks instead of on every single write instruction received by it." The second "fully disables writing file access times to the drive every time you read a file." Both have obvious implications of less CPU tie up leading to more throughput. I assume the second will only be noticed while reading. After inserting both into fstab, and remounting...80MBps write! Very happy, significant increase of speed. I think if I was using Ext4 the number would be higher, but I'm completely satisfied with that number. See picture below.

Overall, extremely happy with the build quality and performance running Ubuntu Mate. Streaming has been without hiccups. And I've been backing up my Android to the share through Wifi via MiXplorer from XDA. Works flawlessly. Backing up the WD Red via USB3 to my external drive worked great as well. Looking forward to tinkering with it more as time allows.

No comments:

Post a Comment