In the market for a NAS?
So you’re thinking of getting a NAS, or perhaps your NAS is ancient and runs on 100mbit ethernet or something and you need an upgrade. What to get?
There are a lot of different options out there! If you want convenience there are QNAP, WD or Synology. These systems come with different ways to store your data on your own cloud, create easy backups and so on. I haven’t tried any of these myself but I’ve heard they work just fine. All the price information is without drives though so have that in mind!
|Hard drives||price (including shipping to sweden)||CPU||Memory||Drive hot-swap|
|Rockpro64 NAS||2x 3.5″ + |
|188$ + VAT(maybe)||ARM cortex 2xA72 + 4xA53 cores||4GB LPDDR4||NO|
|QNAP TS-231P||2x 3,5″/2,5″||255$||ARM Alpine 2xAL-212 cores||1GB DDR3||YES|
|Synology DiskStation DS218+||2x 3.5″/2.5″||382$||Intel Celeron J3355 dual-core||2GB DDR3L (expandable to 6GB)||NO|
|WD My Cloud EX2 Ultra||2x 3.5″/2.5″||189$||ARM ARMADA 2×385 cores||1GB DDR3||NO|
Long story short, price to performance is great! It has 6 cores, 4GB of LPDDR4 and space in the NAS-case for up to 4 drives! All this for 188$. It isn’t all plug and play though. You have to set everything up yourself, building the case, installing fans, heat sinks and of course the drives (that’s no different from the other options though). You have to flash the boot module with OS of choice and set it up yourself. Most of the services that come pre-configured on the competitors need to be manually set up (well, semi-manually since there is a GUI and it’s pretty straight forward).
The price is also not including VAT which may or may not be an issue for you! When I ordered my Rockpro64 the invoice, well lets just say it didn’t really match the value inside the box so it was practically VAT-free. This was using pine64s flat rate shipping and was sent by EMS, I believe. You can check which shipping service is applied to your country here. When I bought my Pinebook pro though, it was sent by DHL(apparently because of the lithium ion battery) and I had to pay full VAT.
The OS I used was Openmediavault(OMV) which I talk about more in this post. It manages the things you expect of a NAS like smb/cifs, (s)ftp, RAID arrays, S.M.A.R.T. hard drive diagnostics, easy set up of shared folders, SSH, DAAP media server, Rsync backup (push/pull) and more! Since it’s a debian system you can install various things as long as there is a ARM package for it. As I have described earlier OMV also have a simple docker gui aswell, something I have used extensively.
Synthetic drive performance
So what is the performance like then? I had a hard time thinking of what to benchmark when it comes to the rockpro64 as a NAS and if you have a request just let me know in the comment section!
I decided to test the hard drives, would the SBC be able to handle the drives and make the most out of the bandwidth? Would read/write speed be tanked by the lower power of ARM chips?
|hdparam -tT||eMMC 16GB||SATA SSD 120GB||Hard drive 6TB #1||Hard drive 6TB #2|
|Timing cached reads mean (MB/s)||1 245,9||1 276,5||1 292,6||1 298,9|
|Timing cached reads SD (MB/s)||±62,3||±3,5||±8,2||±26,0|
|Timing buffered disk reads mean (MB/s)||100,8||278,2||73,2||73,7|
|Timing buffered disk reads SD (MB/s)||±0,8||±1,5||±0,4||±0,1|
I ran hdparam to do a simple read and write benchmark of the disks. I ran the test 3 times per disk and above you can see the results including SD(standard deviation, a measure of the spread of the numbers from the mean). Now I’m no computer wizard but it feels strange that all of the cached reads are around the 10gbit/s mark considering the limit of 6gbit/s of SATAIII… I guess I don’t understand the test enough.
|eMMC 16GB||SATA SSD 120GB||Hard drive RAID|
|dd write benchmark mean (MB/s)||29,6||257,0||217,0|
|dd write benchmark SD (MB/s)||±1,9||±23,6||±14,4|
|Sysbench read/write mean (MB/s)||12,1||43,8||4,0|
|Sysbench read/write SD (MB/s)||±1,1||±5,4||±0,5|
|Sysbench mean requests/sec||775,6||2 803,4||257,8|
|Sysbench SD requests/sec||±71,0||±345,7||±30,7|
Next I used dd to try a write benchmark. As before I repeated the test for a total of 3 times per drive(Or RAID array).
$ dd if=/dev/zero of=benchfile bs=4k count=200000 && sync; rm benchfile
I also tried Sysbench by the following commands:
$ sysbench –test=fileio prepare
$ sysbench –test=fileio –file-test-mode=rndrw run
I found the dd benchmark quite interesting as it shows some horrible numbers on the eMMC module. Remember that this is a live system with services running and the eMMC is half full, but not full… So my decision of installing a SSD as a host for my webservices seems to have been a good one.
Real world drive performance
So synthetics are good and all but what about real life? How is the rockpro64 when you use it? So to test this i used my windows machine and created two tests. Using fsutil in the command prompt I made one 1GB file and a folder containing 1000 1MB files. I then proceeded to transfer these by ethernet and smb over my LAN. This using windows file explorer and measuring how long it took to transfer. I did this 6 times per drive and test and have made some boxplots showing the results!
So is the rockpro64 good as a NAS? Yes. Yes it is.
Is it the perfect match for you? That’s a different question. Do you like to fiddle with linux and making your own thing? Or would you rather have something that just works? Is FOSS important to you? Or does it not matter as long as it has the right functions?
The rockpro64 has a great community backing it and you can get help at any time on pine64’s forum. The company goes to great lengths to support the FOSS-community and many have caught on, creating a great software environment for the hardware. Lately the pinebook pro has launched and since it’s based on the same chip as rockpro64 the software support is advancing rapidly.
I have had no problems with my NAS/server after I managed to set it up and it is really stable. Add to this the flexibility of running debian instead of some proprietary mess and you have something that can achieve great things. All this on a very power efficient, small ARM system.