secluded/content/posts/2020-03-09-creating-an-open...

90 lines
3.5 KiB
Markdown

---
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