NAS
This page documents the network attached storage solution for home use and backups.
List of Features
Server 1
- ZFS file system
- 3x 14TB WD Ultrastar DC drives for main storage, in 3x mirror configuration
- 2x 1TB Teamgroup MP33 NVMe SSDs (600TBW) for ARC/ZIL storage, in 2x mirror configuration
- Samba server for LAN access to storage
- Compare to: Synology DS923 ($1160) with E10G22 10Gb upgrade ($150)
Server 2
- ZFS file system
- 4x 14TB WD Ultrastar DC drives for main storage, in 2x mirror configuration
- Samba server for LAN access to storage
System Architecture
Dell Poweredge R610
As a learning platform for ZFS setup, a temporary server was set up using 6x Toshiba 500GB 2.5" 5400rpm hard drives on a Poweredge R610. Ubuntu desktop 22.04 from a DVD (using the built in slim DVD reader) was installed to a Samsung 128GB high-endurance micro SD card on a Kingston MobileLite Plus USB micro SD card reader attached to the internal USB port. The installation was then converted to Ubuntu server using the following commands:
sudo apt install ubuntu-server
reboot
sudo systemctl set-default multi-user.target
reboot
sudo apt purge ubuntu-desktop -y && sudo apt autoremove -y && sudo apt autoclean
reboot
Zfsutils was then installed using the following command:
apt install zfsutils-linux
The 6 disks were physically labeled by the last 4 characters of their serial number in /dev/disk/by-id/, and the ZFS pool was created with the following command:
zpool create tank mirror /dev/disk/by-id/(1) /dev/disk/by-id/(2) /dev/disk/by-id/(3) mirror /dev/disk/by-id/(4) /dev/disk/by-id/(5) /dev/disk/by-id/(6)
The ZFS pool was configured with LZ4 compression with the following command:
zfs set compression=lz4 tank
To limit unnecessary packages being installed, suggested packages can be limited by editing this file using "vim /etc/apt/apt.conf":
APT::Get::Install-Recommends "false";
APT::Get::Install-Suggests "false";
Samba server was then installed following this procedure: https://ubuntu.com/tutorials/install-and-configure-samba#2-installing-samba
HPE DL360p G8
Upon receiving the DL360p G8 server, it became apparent that the built in P420i storage controller was malfunctioning, showing in the logs that it was disconnected or not present. After further research, the P420i was found to be problematic for ZFS integration, so a replacement HBA was purchased (Microsemi 2100-4i4e).
Hardware Revisions
Revision 1.0
This is the first revision of the NFS.
Configuration Files
Total Project Cost
Server 1
Component | Cost | Source |
WD Ultrastar 14TB | $129.99 | Amazon |
WD Ultrastar 14TB (New Pull) | $169.99 | Disctech |
WD Ultrastar 14TB (New) | $209.00 | Disctech |
Teamgroup MP33 1TB NVMe (x2) | $97.80 | Amazon |
HPE DL360p G8 Server | $179.14 | eBay |
HPE 530FLR 10Gb Network adapter | $10.87 | eBay |
DL360p 3.5" Drive Caddy (x2) | $10.33 | eBay |
Intel Xeon E5-2667 V2 CPU (x2) | $30.44 | eBay |
Asus 4x NVMe to PCIe 16x Adapter | ($64.95) | Amazon |
12G SAS HBA | $75.98 | eBay |
Total Price | $915.72 |
Server 2
Component | Cost | Source |
WD Ultrastar 14TB (Qty 4) | $519.96 | Amazon |
HPE DL360p G8 Server | $86.96 | eBay |
HPE 530FLR 10Gb Network adapter | $10.87 | eBay |
DL360p 3.5" Drive Caddy (x4) | $20 | eBay |
12G SAS HBA | $75.98 | eBay |
Total Price | $713.77 |
Links
Main tutorial followed for setting up ZFS and explaining concepts: pthree.org