So now i have a correct network back-bone at home, the next obvious step is to attach it some storage: the well-known NAS (Network Attached Storage).
I personnaly choose to build my own NAS instead of buying a Qnap, Synology or Asustor one.
I wanted to be based on ARM hardware, essentially for power consumption and … for fun.
Given this direction, one has several choices. I studied the following solutions:
- The good old Raspberry Pi that has many hat and casing dedicated to this: it relies on SATA over USB3, which requires more CPU operations to achieve the same than SATA over PCIe.
- The expensive Helios64, which cost 300$. Definitely too expensive for a DIY NAS…
- The challenger Rock Pi 4 with a SATA Hat. Looked like a very promising solution, but buying the hardware looks to be the issue: there’s few vendor, and the price for the whole kit is a bit too much
- The FriendlyArm’s NanoPi M4B. It uses the same chip than the Rock Pi, providing a PCIe lane throught a GPIO like connector and FriendlyArm provide a hat using it to provide 4 SATA ports. Total cost: 80$.
So i decided to try FriendlyArm stuff… I ordered it directly from their website. After 6 weeks travel from China, it arrives on my mailbox.
After a moment in the workshop to put all that stuff with hard drive on a plexiglass sheet, here is the result:
I agree, this isn’t the most beautifull NAS you will see. But it fits perfectly on top of my patch panel:
Good surprise, the board and its hat are totally supported using the latest Armbian image: i choose the Buster Server image as i didn’t need it to run a desktop. It comes with a 5.4.49 kernel and the Debian Buster ecosystem.
Even if i didn’t make an intensive use of the NAS for the moment, it looks to run quite fine since 20 days.
For the moment, it only exports 2 NFS mountpoints:
- /data/ssd_raid0 : a SSD based 256GB RAID 0 array to store virtual machine images and run them directly from the NAS. Later, will be also used to run Nextcloud …
- /data/hdd_raid1: a HDD based 1TB RAID 1 array, to store regular data.
The performances are good enought, as you can see:
The next steps now are:
- Export using Samba (for my wife’s windows laptop).
- Manage to backup all my important stuff to a remote server. (I’ll probably use duplicity which achieve “Encrypted bandwidth-efficient backup using the rsync algorithm”.
- Make it run my Nextcloud instance: currently ~300GiB of data hosted on a Xeon server on a datacenter: 30€/month… yes, this is a challenge.?