NanoPi NEO NAS Kit Review – Assembly, OpenMediaVault Installation & Setup, and Benchmarks

NAS Dock v1.2 for Nano Pi NEO / NEO 2 is, as the name implies, a complete mini NAS kit for 2.5″ drive for NanoPi NEO or NEO 2 board. The NEO 2 board is strongly recommended, since it’s not much more expensive, but should deliver much better results due to its Gigabit Ethernet interface. I’ve received two of those kits together with several other boards & accessories from FriendlyELEC, and today I’ll show how to assemble the kit, configure OpenMediaVault, and run some benchmarks.

NAS Kit V1.2 Assembly with NanoPi NEO 2 Board

The only extra tool you’ll need is a screwdriver, and potentially a soldering iron as we’ll see further below.
The metal box is stuff wih accessories so the first thing is to open one or two sides to take out the content. We have the mainboard, NanoPi NEO back plate, NanoPi NEO 2 back plater, a heatsink and thermal set, and a set of 5 screws to tighten the hard drive which mean there’s one extra screw. FriendlyELEC always adds extra screws, and I find it’s a nice touch, as it can be a real pain if you happen to lose one.

Click to Enlarge

Let’s have a closer look at the “1-bay NAS Dock v1.2 for NanoPi NEO/NEO2” board. We have a UAS capable USB 3.0 to SATA brige chip between the two header for NanoPi NEO board (note that the USB connection will be limited to USB 2.0 since the board only supports that), an LED, a USB 2.0 host port for a printer, WiFi dongle, or webcam, the power switch, the power jack, a 3-pin serial header, an I2C connector for Grove modules, and of course the SATA connector.

Click to Enlarge

There’s not much on the other side of the board, except a CR2032 battery slot for the RTC.

Before going further, you’ll need to go to the Wiki, and get the latest OpenMediaVault firmware, in my case nanopi-neo2_debian-nas-jessie_4.11.2_20170531.img.zip, which I then flashed with Ether program to a micro SD card..

Once this is done, install the heatsink and thermal to your NanoPi NEO 2 board, and insert the micro SD card into the board.

Notice that I also soldered the headers. While it would be obvious to people would have looked at the pinout diagram, I’ve read some people have justed connect the board using the (pre-soldered) 4-pin header, as they may have believed it was a USB header, but it’s just the serial console instead, and obviously the hard drive was not detected. If you don’t feel like soldering the headers to the board yourself, make sure you tick the option “with pin headers soldered” when ordering. It just costs $1 extra.

Now we can insert our board into the “1-bay NAS Dock” board, instead the hard drive, and optionally an I2C module. I connected an I2C OLED display i the picture below for illustrate, as using the display would require cutting out the case. Some people may want to connect an I2C temperature sensor instead.

Click to Enlarge

I used four screws to tighen the hard drive on the other side of the board, and install a CR2032 battery for the real-time clock.


Finally, you’ll need a 12V power supply with at least 1A, but I could not find any (safe) spare ones so I used Maxoak K2 power bank instead, since it can output 12V @ 2.5 A max.


OpenMediaVault Setup on NanoPi NEO 2 Board

So I connected everything, and applied power, but the board would not boot with the Ethernet Link LED blinking in a regular fashion, meaning something was very wrong. So I took out the board, and connected a serial debug board, connect to the console via minicom using 115200 8N1, and that’s what I got:


The boot was just stuck there. I re-inserted the micro SD in my PC, and I could see both boot and rootfs partitions, so everything looked good.
Then I powered the NanoPi NEO 2 board with a 5V/2A power supply only, and the boot succeeded:


Then I went back to the 12V power input on NAS Kit with the power bank and the boot succeeded. Very strange. It turns out the board would not boot most of the time, but the symptoms are not reproducible 100% of the time. This kind of random behavior is usually a timing or distorted signal issue. So I thought the micro SD card might not play well with the board, and the power bank signal might not be so clean. So I first flashed another micro SD card, but same results. I used another 12V/5A power supply, and it did not really help either. Finally, I used another NanoPi NEO 2 board and it appears to be stable.

You can find the board using FriendlyELEC.local if bonjour services are running in your computer:


Alternatively, you could check out the IP address in other ways. In my case, I just type friendlyelec.local in Firefox to access the web interface. The default username and password are admin and openmediavault.

Click to Enlarge

After login, you can access the dashboard showing system information, and which services are running. You may want to disable the services you don’t need.

Click to Enlarge

You can go to Storage->Physical Disks to check if your hard drive has been detected. No problem for me here with a 931.51 GiB drive detected.

Click to Enlarge

You may then want to setup a fix IP address. There are various ways to do this but I went to Network->Interfaces and set eth0 to a fixed IP address. You’ll be asked to apply the changes once it’s done.

Click to Enlarge

I also changed the hostname to CNX-NEO2-NAS in the General tab.

After that I decided to address some security issues. First by changing the administrator password in General Settings->Web Administrator Password.

I then went to Access Rights Management->User to find out there were two pre-configured users: pi and fa. I deleted fa user, changed pi’s user password, and added it to ssh group. It’s actually even probably better to just delete both user, and create your own.

The root user is not shown, but you’ll want to login as root through ssh first and change the password, as the default password is fa. Once it’s done, you’ll have better security, and your system should not be easily accessible via basic “hacks”. For more security, you’ll still want to install an RSA certificate. A self-signed one should do if you plan to use it only in the local network, but you may also consider a free Let’s Encrypt certificate instead.

We can now take care of the hard drive. I went to Storage->File Systems, and clicked on +Create file system which will let you choose between BTRFS, EXT3, EXT4, XFS, and JFS. I’ve gone with EXT4 first.

Click to Enlarge

After a few minutes you drive should be formatted, so we can configure network shares. I want to use SAMBA and SFTP to transfer files for the purpose of this review, so I went to Access Rights Management->Shared Folders to add a new share called HDD for the root of of hard drive. You may want to add multiple share if you plan to split videos, documents, music and so on.

Click to Enlarge

I clicked Save, and selected ACL to add permissions to pi and admin users. You can add whatever users you plan to use to access the share.

Click to Enlarge

That share3d folder can now be assigned to the services you plan to use. SFTP is enabled by default when SSH is running, so I create a SAMA/CIFS share by going to Services->SMB/CIFS->Shares to add the share.

Click to Enlarge

Browsing the Network with Nautilus would show both cnx-neo2-NAS – SMB.CIFS and cnx-neo2-nas – SSH (SFTP) shares.

Configuration is now complete. I have not find a clean way to power off the system, so I normally open a terminal session via ssh and run the shutdown now command. A software button to turn of the NAS would have been a nice features on the kit.

I also often encountered the error “Software Failure. Press left mouse button to continue. Session not authenticated.” before the session timeout is set to 5 minutes. If you prefer a longer timeout, you can change it in General Settings->Web Administration.

In case you want to use the RTC, you may first want to set the timezone:


Check the date is correct, and write it to the hardware clock:

before reading it back.


You can test it by rebooting the board without the Ethernet cable:


Perfect! You’d just have to make sure the “set” command is run automatically at boot time if the time in the RTC is set. It would be good if FriendlyELEC updated their image to do that automatically at boot time.

NAS Dock V1.2 + NanoPi NEO 2 Benchmarks

Since I can now copy files and folders over SAMBA and SFTP, we can start running some benchmarks to evaluate performance. I’ll use EXT-4, BTRFS, and XFS file systems on the hard drive, and run iozone to specicially test storage performance, following by copying large and small files over SAMBA or SFTP to test real-life NAS performance. For large file copy, I’ll use a folder with 7 large files totaling 6.5 GB, and for small files, I’ve done a fresh checkout of the Linux kernel in my computer:


and removed symlinks since they may cause issues during copy, as well as .git directory with a huge 1.8GB file:


The end result is a directory with 64,013 files totaling 748.6 MB.

Iozone results

EXT-4:


BTRFS:


XFS:


I’ve taken results with 16384kB reclen for read, write, random read and random write values to draw a chart, since most people are likely going to store large files in their NAS. The smaller reclen could be interesting if you plan to handle smaller files.

All three file systems have a very good read speed of around 40 MB/s, but BTRFS write appear to be the fastest among the three, with EXT-4 being the weakest at around 25 MB/s. But for some reasons, those results are useless in practice, as we’ll see below. Finding out the exact reason would possibly require studying and profiling iozone and the kernel source code which would be outside of the scope of this review.

File copy over SAMBA and SFTP

Results for large files in minutes and seconds.

File Copy  Large FilesSMBSFTP
WriteReadWriteRead
EXT402:49.0002:40.0003:54.0004:15.00
BTRFS03:20.0002:40.0003:48.0004:32.00
XFS02:45.0002:38.0003:36.0004:23.00

Chart converted to MB/s.

Read and Write Speeds in MB/s

First, we can see very good read performance from the NAS (NAS to my PC)  with 41 to 42 MB/s close to the theorethical limit of a USB 2.0 connection. Write speed is a a little different as the files were transferred more slowly with BTRS, and around 40MB/s with EXT-4 and XFS.  Since SFTP is encrypted the transfer speed is roughly the same for all three file systems. Overall the file system you choose does not really impact performance with large files.

Results for small files in minutes and seconds.

File Copy  Small FilesSMBSFTP
WriteReadWriteRead
EXT415:26.0018:34.0009:02.0012:48.00
BTRFS18:48.0018:02.0010:30.0011:30.00
XFS17:33.0018:22.0009:18.0012:35.00

Chart converted to MB/s.

Transferring a large number of small files over SAMBA is really slow, and barely faster over SFTP. Again,there aren’t any significant differences between file systems here.  If you are going to transfer a large number of small file over the network, you may want to either compress the files before transfer, or compress the files on the fly using the command line:


It took just 1 minute and 49 seconds to transfer all 64,013 files, or over five times faster than SFTP write to XFS, at around an effective 6.86 MB/s. So knowing your tools may matter as much as having the right hardware.

I was going to run a last part after enabling optimizations provided by tkaiser, but it turns out FriendELEC has already done that in their firmware image.

If you want to reproduce the setup above, you’ll need to purchase NAS Kit v1.2 for $12.99, and a NanoPi NEO 2 with soldered headers for $15.99. If you don’t have a 2.5″ hard drive, you’ll need to add this, as well as a 12V power supply which you could purchase locally, or on FriendlyELEC website for under $10. All in all that’s cheaper than a similar kit with a Raspberry Pi 3 board, and you’ll get close to four times the SAMBA performance for large files since RPi 3 will be limited to 10 to 12 MB/s due to the Fast Ethernet connection.

Support CNX Software - Donate via PayPal, become a Patron on Patreon, or buy review samples
Subscribe
Notify of
guest
81 Comments
oldest
newest most voted
Daniel
Daniel
3 years ago

Mine will arrive in 2 weeks. Can’t wait!

tkaiser
tkaiser
3 years ago

Thanks for the numbers and taking care of details (like improved Samba settings in FriendlyELEC’s OMV image). Just two notes: By looking at the iozone numbers with btrfs it’s obvious that random write performance is ‘benchmarking gone wrong’, with all three filesystems random reads are around ~100 IOPS (you need to divide the iozone numbers that are KB/s through the block size) and random writes are ~185 IOPS with etx4 and XFS vs almost 2000 IOPS with btrfs. In other words: there’s something different at the VFS layer and this test does not report disk speeds but something else with… Read more »

tkaiser
tkaiser
3 years ago


Good to know, in the meantime I checked FriendlyELEC’s kernel repo (github.com/friendlyarm/linux/tree/sunxi-4.11.y) and saw they’re using ondemand as default which might be another possible explanation for some weird looking numbers.

Might be worth a simple retest with ext4 and cpufreq governor set to performance. And if then numbers improve it’s time to look into /etc/rc.local for something like this:

tkaiser
tkaiser
3 years ago

Unfortunately their english wiki page is still not updated.

It’s still showing JM20329 as USB to SATA bridge and misses to mention that with the PCB 1.2 version also 3.5″ HDDs should be directly useable (according to schematic VDD_SATA_12V is routed to the three appropriate pins on the SATA power connector)

: Are you able to do a quick test with a 3.5″ HDD? In that case a 12V/2.5A PSU would be a good idea.

Mike Schinkel
3 years ago

This looks promising. But too bad they do not offer a 1GB version of the Neo2. 🙁

theguyuk
theguyuk
3 years ago

@Mike Schinkel
Maybe if enough people make the case for it and uses they might?

tkaiser
tkaiser
3 years ago

@Mike Schinkel
For which use case do you need more DRAM?


I was talking about using the PCB to directly connect to a 3.5″ HDD without a cable in between.

roel
roel
3 years ago

70$ shipping to Belgium. It’s twice the price of the kit!

tkaiser
tkaiser
3 years ago

cnxsoft :
I thought the SATA connector was higher on 3.5″ drives… But it fits perfectly

Yeah, there is no different SATA connector for 2.5″ or 3.5″, the only question is always whether 12V is available on power pins or not. Thank you for confirming, I hope FriendlyELEC starts to sell the NAS 1.2 PCB separately too.

tkaiser
tkaiser
3 years ago

Availability is ‘Pre-Order’ so I hope they replace it with v1.2 soon. Maybe they could sell the remaining v1.0 PCBs as part of a really cheap ‘DYI Fast Ethernet NAS kit’ with a bundled H3 NEO — pin headers soldered — since there JM20329 doesn’t matter that much. With a price below €22 including shipping (no customs, no VAT) they could target European users that want to choose an RPi 3 for OMV instead. Same performance, same functionality (OMV) but better price and integration (no external disk and no cabling needed)

tkaiser
tkaiser
3 years ago

@roel
Please be aware that @theguyuk sent you the link to the outdated NAS 1.0 kit (so my idea above regarding a cheap ‘DYI Fast Ethernet NAS kit’ is already obsolete 😉 )

If there’s a large electronics retailer in Belgium why not asking them to get in touch with FriendlyELEC’s European distributor to improve shipping situation in the future –> [email protected]

Vai
Vai
3 years ago

What is the maximum hard drive size it supports?

roel
roel
3 years ago

@tkaiser
I already noticed it was the old version on the aliexpress store. BTW it’s also only the kit without the nanopi-neo. I don’t think some vendor will be interested in Belgium. They are alienated here for such things. In the Netherlands they are more open to it.

tkaiser
tkaiser
3 years ago

@Vai
With the above 1.2 version of the kit there’s no limitation. JMS567 supports SATA drives of any size. Be careful when following obscure links to the old 1.0 variant of this kit or at least do some research on your own whether JM20329 used there is capable to deal with disks that exceed 2.2TB in size (32 bit integer overflow with old USB-to-SATA bridges) and can cope with Advanced format 4K drives.

tkaiser
tkaiser
3 years ago

@roel Well, then it’s time to send a daily email to conrad.be (they’re ALLNET resellers and added recently some NanoPi models so show them that there’s demand for more 😉 ) BTW: I’m personally not interested in the 2.5″ enclosure solution at all since if I want to combine such a H5 based OMV thingie with 2.5″ disks I can choose any of the available options (most probably preferring Orange Pi PC 2, Prime or soon to be released NanoPi M1 Plus 2 if my use case requires more DRAM). The beauty of this solution here is the $6.99 PCB… Read more »

nobe
nobe
3 years ago

do you guys know what’s the HDD operating temperature inside the case ? https://static.googleusercontent.com/media/research.google.com/en//archive/disk_failures.pdf according to this study (fig 5), failure rates of 3+ year old drives tend to skyrocket when avg operating temp exceeds 40°C. and imho, this case shoudn’t be such a S.M.A.R.T. choice (almost no cooling, that’s what i call a mini-oven-case) you could get some nice info using these commands : sudo apt-get install smartmontools sudo smartctl /dev/sda -a | grep -i temp PS: you should always backup your data :p PPS: note that i’m talking about HDD, i have no idea about how SSD behave… Read more »

tkaiser
tkaiser
3 years ago

nobe : do you guys know what’s the HDD operating temperature inside the case ? You realized that only 2.5″ disks fit into the enclosure? Unless you take 10k WD VelociRaptors without their IcePack frames there’s no need to worry about temperatures at all. The better idea is using the -x switch with smartctl since this also allows accessing the so called ‘SCT logs’ if available and then you get also something like this: Shell Current Temperature: 30 Celsius Power Cycle Min/Max Temperature: 28/30 Celsius Lifetime Min/Max Temperature: 17/46 Celsius Under/Over Temperature Limit Count: 0/0 1234 Current Temperature:                    30 CelsiusPower Cycle… Read more »

nobe
nobe
3 years ago

come on tkaiser… imho the text you quoted is more of a general interpretation. The data is shown by the graphs, not the text. And my “claim” (i don’t like this term, it’s more like how i interpret the graphs) took into account temperature AND disk age. Figure 2 clearly shows that AFR (average annualized disk failure) is much higher starting with 2+ years old drives. Is my reading of this graph wrong ? i don’t think so. Figure 5 adds in ‘average drive temperature’. And yes, AFR of 3 years old drives skyrockets when their temp >= 40°C. Is… Read more »

tkaiser
tkaiser
3 years ago

nobe : come on tkaiser… imho the text you quoted is more of a general interpretation. It’s what’s called the result after analyzing all the data. Of course you’re free to ignore this based on looking at few graphs there 🙂 If you really read through this study you’ll find references to even older studies all mentioning a correlation between high temperatures and failure rates. Google’s numbers show this also for disks from 2001 and 2002 (you know that we’re talking here partially of ATA/IDE disks and not even SATA? And Google (mis)used desktop HDDs for 24/7 operation just as… Read more »

Dcbasso
3 years ago

This device support more them 1tb disk?!

tkaiser
tkaiser
3 years ago
tkaiser
tkaiser
3 years ago

cnxsoft : CPU is around 75% idle during the copy so it’s not a worst case scenario. Room temperature is around 30 C. So nothing to worry, disk temperature inside the enclosure is not even 15°C above ambient temperature. BTW: ‘grep -i temp’ is wrong to get the SCT logs, eg. temperature logging: this is a nice feature to get temperature variations eg. after running a heavy benchmark (heavy != NAS mode), looks then like this at the end here: https://pastebin.com/pVrPZr9Q With 2.5″ HDDs that are better choices if you fear heat (Samsung/Seagate Spinpoint — compare the min/max values with… Read more »

tkaiser
tkaiser
3 years ago

BTW: I photoshopped yesterday the combination 3.5″ HDD with the NAS 1.2 PCB: http://kaiser-edv.de/tmp/NumpU7/NAS_Kit_with_3.5_disk.jpg

Looking forward to just get the PCB, a 3.5″ HDD and then combine it with NEO2 or even NEO Plus 2.

nobe
nobe
3 years ago

@cnx thx running for the test @tkaiser it looks like the backblaze article mentions HDD which average temperature <= 38°C. obviously i wasn't talking about this scenario : google graphs show AFR = 40°C. but at least there the text (interpretation) doesn’t seem to contradict the graphs (data vizualisation). and backblaze mentions another article from microsoft and university of virginia : http://www.cs.virginia.edu/~gurumurthi/papers/acmtos13.pdf in section 4.2, this study : – correlates higher AFR with higher temperature (there seem to be much more interesting information in there, but i don’t have the time to read it completely) – points out it’s contrary… Read more »

nobe
nobe
3 years ago

oh… part of my previous comment doesn’t appear, i think it was somehow commented out

google graphs show AFR inferior or equals 5% when temp superior or equals 40°C

nobe
nobe
3 years ago

erratum : when temp inferior or equals 40°C ^^;

tkaiser
tkaiser
3 years ago

nobe : backblaze mentions another article from microsoft and university of virginia You should really read the studys you want to rely on. I know this paper since years and it’s IMO a good example why statistics is so hard. The folks who did the data research wanted to show a causation of higher temperatures with higher failure rates. They were so focused on temperature that they simply forgot about everything else, especially vibrations. They mention ‘vibrations’ as follows: ‘We currently do not have metrics that expose the level of induced vibration, and measuring the impact of vibration is one… Read more »

Andy Chentsov
Andy Chentsov
3 years ago

Does anyone use OMV on an SD card with read-only root?

tkaiser
tkaiser
3 years ago

@Andy Chentsov If you use any of the Armbian based OMV builds from here https://sourceforge.net/projects/openmediavault/files/Other%20armhf%20images/ (or the most recent ones for ODROID-C1/C2/XU4 at the same location) you don’t need to care about that. Due to disabled monitoring and optimized settings (Armbian settings + folder2ram) SD card writes are reduced to the absolute minimum. If you don’t trust in SD cards at all you could create a small partition (4GB are already sufficient) on any of the disks and move the rootfs over using ‘nand-sata-install’. SD card has to remain in the slot but only the bootloader is read so then… Read more »

Andy Chentsov
Andy Chentsov
3 years ago

@tkaiser
Thanks for the reply.
I would like to have a guarantee that the file system will not be broken if unexpected power off, so I’d like to make the root filesystem read-only.

Drone
Drone
3 years ago

Thanks, nice review… Was the bad NanoPi NEO 2 board unstable by itself if unplugged from the NAS board? Maybe the NAS board is causing the instability. What did the manufacturer have to say about this? Anyone else with out-of-the-box unstable or dead NanoPi NEO 2 hardware, with or without the NAS board? Since you said SFTP is running, an alternative to running SAMBA is to generate a key pair via OpenSSH and register the public key in your file browser (it’s easy to do in Nautilus, search online for a tutorial). Now your shared device will appear in your… Read more »

tkaiser
tkaiser
3 years ago

Andy Chentsov : I’d like to make the root filesystem read-only. Not possible and useless anyway since power losses could also corrupt data on the NAS shares. If you expect power problems simply fix them first! You can use any UPS here since power draw of such an idle NAS will be as low as 1W (a little bit more if you use an overrated 12V PSU brick). Drone : SAMBA was recently found to have some serious bugs and was patched on all mainstream distros, so I would suggest research into this plus figuring out how to patch the… Read more »

theguyuk
theguyuk
3 years ago

@tkaiser

You should given your experience do your own blog or a PDF book.

Other people still promote Banana Pi !?

https://simplenas.com/

tkaiser
tkaiser
3 years ago

theguyuk : Other people still promote Banana Pi !? The old Banana Pi with A20 SoC make up for nice little NAS boxes but you have to avoid the OMV images from simplenas.com — they are old, outdated, use broken settings and perform not that great. I’ve tried to explain that to Cyryllo (the one behind the site) several times in the past but have given up. Fully supported OMV images for the Bananas worth a try you’ll find in official OMV download section (See sourceforge link above) (they’re based on Armbian’s Debian flavour, use Armbian settings and a few… Read more »

Andy Chentsov
Andy Chentsov
3 years ago

@tkaiser
UPS is a good thing, but using a 200-300W UPS to power the NAS on a NanoPi is like “use a cannon to kill a fly.”

tkaiser
tkaiser
3 years ago

@Andy Chentsov
That’s the reason we use Olimex Lime2 for small NAS boxes. There you simply plug in a battery and are done since Olimex engineers are not that stupid as others (talking about Bananas here) and a connected disk runs from battery if needed.

Andy Chentsov
Andy Chentsov
3 years ago

@tkaiser
Olimex Lime2 has an old A20 SoC. It would be nice if FriendlyArm engineers added the LiPo battery connector to the NAS Dock.

tkaiser
tkaiser
3 years ago

@Andy Chentsov Adding a battery connector isn’t enough, you need charging circuitry and also some logic how to switch between power sources if needed. That’s the (only) reason why tablet SoCs like A20 are nice for small NAS because they’re accompanied by PMICs (AXP209 in A20’s case) that handle this. TV box SoCs like the one we’re talking here about (H5) miss this. But just adding a battery connector and PMIC is also not sufficient as you can see by looking at the ‘designs’ from manufacturers known as ‘brain damaged retards’. On almost all Banana Pi for example you find… Read more »

Andy Chentsov
Andy Chentsov
3 years ago

@tkaiser
I meant to add the connector -> to add the ability to use the battery for power backup (with switching logic).
This can be achieved not only by relying on SoC, but adding logic on its own, for example, to the NAS Dock board.

theguyuk
theguyuk
3 years ago

Would this 2015 RPI video suggest any diy solutions https://m.youtube.com/watch?v=qev1E7bqNjA

tkaiser
tkaiser
3 years ago

@Andy Chentsov Currently the NAS kit is rather cheap ($7 without enclosure, an additional $6 for enclosure + heatsink) and if you do a web search for ’12v ups’ you find only solutions twice that expensive. By choosing a tablet SoC it’s just adding PMIC, boost converter and a common battery connecter and you’re done (regarding the latter: some manufacturers also known as brain damaged retards manage to use proprietary battery connectors you can’t find a single battery for since not even the retards sell batteries that would fit). If I would want to combine a H5 based NAS with… Read more »

Advertisements