93 lines
3.5 KiB
Markdown
93 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
|