--- title: Creating an open source NAS description: My process for building an open source NAS with a powerful single board computer and a couple of large HDDs tags: Sysadmin NAS Backups date: 2020-03-09 23:43 -0400 cover: /assets/posts/disk.png draft: true --- A few months ago, I decided that I needed a NAS. I didn't want anything proprietary because this was going to store all of my data, my mother's, possibly some friends', as well as backups for _all_ of my servers; I needed to know I had full control over every aspect of the system to ensure it was secure. To that end, I decided to build it with an SBC[^1] from [Pine64](https://www.pine64.org). # Parts - [ROCKPro64](https://store.pine64.org/?product=rockpro64-4gb-single-board-computer) - $79.99 - [NAS Case](https://store.pine64.org/?product=rockpro64-metal-desktopnas-casing) - $44.99 - [SATA -> PCIe adapter & RAID controller](https://www.amazon.com/N-ORANIE-Controller-HyperDuo-Multiplier-88SE9230/dp/B07KYP5RRL) - $47.99 - [6 TB WD Red Pro](https://www.newegg.com/p/N82E16822234344) - $203.99 - [Heatsink w/ fan](https://store.pine64.org/?product=rockpro64-10mm-low-profile-heatsink-with-fan) - $5.29 - [Fan for the case](https://store.pine64.org/?product=fan-for-rockpro64-metal-desktopnas-casing) - $3.99 - Power supply: [US](https://store.pine64.org/?product=rockpro64-12v-5a-us-power-supply) or [EU](https://store.pine64.org/?product=rockpro64-12v-5a-eu-power-supply) - $12.99 - [16 GB eMMC Module](https://store.pine64.org/?product=16gb-emmc) - $15.95 - Any microSD card **Total:** $415.18 To reduce the overall cost, you could go with a cheaper HDD; I got this one because I need reliability in the _very_ long run but a more inexpensive disk is perfectly suitable. Without accounting for the drive, the NAS is ~$215 and very reasonably priced compared to most other options. # Assembly Refer to [Pine64's wiki](https://wiki.pine64.org/index.php/NASCase) on assembling the case. I don't know if it was intentional or what but, for the HDDs, I was only given enough screws for one. For the cover, I still have three empty screw holes. It's not a huge deal but it would have been nice to have enough screws for everything. # Software I chose to go with [OpenMediaVault](https://openmediavault.org). However, I didn't use Pine64's image; there were a variety of errors when basic operations were run so I decided to use vanilla [armbian](https://www.armbian.com). Thankfully, they have an image for the [ROCKPro64](https://www.armbian.com/rockpro64/) and it worked flawlessly. The next step was getting OMV set up on it but, like a boss, they provide a script for that 😉 ```bash wget https://raw.githubusercontent.com/OpenMediaVault-Plugin-Developers/installScript/master/install chmod +x install sudo ./install ``` Additional setup info can be found in an [armbian guide](https://github.com/OpenMediaVault-Plugin-Developers/docs/blob/master/Adden-A-Installing_OMV5_on_Armbian.pdf) they've created. # Drivers This posed a huge problem for me. Neither the "official" ROCKPro64 OMV image nor armbian included the driver for my RAID controller so I had to figure that out. Huge shoutout to `fromport` in the `#openmediavault` channel on Freenode; they were a _massive_ help with getting the driver situation sorted out. Check out [Secluded.Site](https://secluded.site), my personal webpage; I'll be using it for posts like this in the future and will try to leave this space for official announcements (like when backups have been automated using this very NAS 😉). [^1]: Single Board Computer