NAS: Difference between revisions

From Rev0 Wiki
Jump to navigation Jump to search
 
(24 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This page documents the network attached storage solution for home use and backups.
This page documents the network attached storage solution for home use and backups.


[[File:GC-D_1000_Top_Handheld.jpg|thumb|right|The final hardware for the GC-D 1000 Digital Geiger Counter.]]
[[File:R60.jpg|thumb|right|The R610 "learning" server.]]


==List of Features==
==List of Features==


===Server 1===
* ZFS file system
* ZFS file system
* 3x 14TB WD Ultrastar DC drives for main storage, in 3x mirror configuration  
* 3x 14TB WD Ultrastar DC drives for main storage, in 3x mirror configuration  
* 2x 1TB TimeTec NVMe SSDs (600TBW) for ARC/ZIL storage, in 2x 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: [https://amzn.to/42oCsIS Synology DS923] ($1160) with [https://amzn.to/3p9ZO6y 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
* Samba server for LAN access to storage


==System Architecture==
==System Architecture==
===Dell Poweredge R610===
===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 entrance 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:
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:


===HPE DL360p G8===
<syntaxhighlight lang=bash>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</syntaxhighlight>
 
Zfsutils was then installed using the following command:
 
<syntaxhighlight lang=bash>apt install zfsutils-linux</syntaxhighlight>


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:


===Hardware Revisions===
<syntaxhighlight lang=bash>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)</syntaxhighlight>


====Revision 1.0====
The ZFS pool was configured with LZ4 compression with the following command:
This is the first revision of the NFS.


====Configuration Files====
<syntaxhighlight lang=bash>zfs set compression=lz4 tank</syntaxhighlight>


==Comparison to GC-D 100==
To limit unnecessary packages being installed, suggested packages can be limited by editing this file using "vim /etc/apt/apt.conf":


The first change I wanted to make on the GC-D 100 was the battery. With my previous experience from the rev0Trac VTx, I decided to use a single-cell 1000mAH LiPo for the GC-D 1000. The primary constraint for the batteries for the GC-D 100 was the voltage needed for the step-up converter. By optimizing the boost converter design, both through simulation and breadboard prototyping, I was able to design a circuit that would operate down to the LiPo minimum of 3.0V (the boost converter can operate down to 2.6V in practice). This allowed the device to operate on a single cell, eliminating the challenges of balancing and charging a dual-cell LiPo. The voltage for the ATtiny10 microcontroller is still provided by a 5V synchronous boost converter, and is needed to operate the MOSFET efficiently (high enough voltage to operate in saturation).
<syntaxhighlight lang=bash>APT::Get::Install-Recommends "false";
APT::Get::Install-Suggests "false";</syntaxhighlight>


The high voltage circuitry in the GC-D 100 was scattered throughout the PCB layout, a potential danger when operating the device without the case, and a potential danger to the low-voltage circuitry surrounding it. The GC-D 1000 was routed such that the high voltage circuitry is spatially isolated in the bottom section of the PCB, clearly marked by silkscreen. I chose not to optically isolate the two sections due to the low selection of high-speed opto-isolators and the packages they are available in. The boost converter is operated by an independent microcontroller, freeing up cycles and adding an extra layer of isolation to the application MCU. The Geiger tube output is fed through a Schmitt inverter to clean up the signal and also provide isolation from the Geiger tube.
Samba server was then installed following this procedure: https://ubuntu.com/tutorials/install-and-configure-samba#2-installing-samba


Drawing again from my experience with the rev0Trac VTx, the GC-D 1000 uses a Nokia 5110 graphic LCD. In addition to giving more freedom with displaying information, it is thinner, cheaper, and much lower power than the 8x2 character LCD used in the GC-D 100.
===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).


This device was designed on a smaller timeline (~6 weeks) than the original and optimized for cost and manufacturability, thus some of the more exotic features, such as location logging are left out. This device nevertheless uses a more powerful microcontroller, programmable over USB, and has much greater potential for expansion.
===Hardware Revisions===


==Videos==
====Revision 1.0====
<HTML5video type="youtube" width="400" height="300" autoplay="false">1SHY4jAfTcM</HTML5video>
This is the first revision of the NFS.
<HTML5video type="youtube" width="400" height="300" autoplay="false">nnFNTOPaNV0</HTML5video>


==Photos==
====Configuration Files====
<gallery widths=180px heights=120px perrow=4>
File:GC-D_1000_Top_Handheld.jpg|GC-D 1000 Handheld
File:GC-D_1000_Top.jpg|Top view of the GC-D 1000
File:GC-D_1000_Bottom.jpg|Bottom view of the GC-D 1000
File:GC-D_1000_Side.jpg|Side view of the GC-D 1000
</gallery>


==Total Project Cost==
==Total Project Cost==
===Server 1===


{| border="1" style="text-align:center;"
{| border="1" style="text-align:center;"
Line 54: Line 67:
|- style="color:gray;text-align:left;"
|- style="color:gray;text-align:left;"


|WD Ultrastar 14TB (Mfg Refurb)
|WD Ultrastar 14TB
|$129.99
|$129.99
|[https://serverpartdeals.com/products/western-digital-ultrastar-dc-hc530-wuh721414ale604-14tb-7-2k-rpm-sata-6gb-s-512e-3-5-recertified-hard-drive Serverpartdeals]
|[https://amzn.to/3LXH976 Amazon]
|- style="color:gray;text-align:left;"
|- style="color:gray;text-align:left;"


Line 69: Line 82:
|- style="color:gray;text-align:left;"
|- style="color:gray;text-align:left;"


|TimeTec 1TB NVMe (x2)
|Teamgroup MP33 1TB NVMe (x2)
|$99.98
|$97.80
|[https://a.co/d/eQpN8wH Amazon]
|[https://amzn.to/3nzAre8 Amazon]
|- style="color:gray;text-align:left;"
|- style="color:gray;text-align:left;"


Line 85: Line 98:


|DL360p 3.5" Drive Caddy (x2)
|DL360p 3.5" Drive Caddy (x2)
|$10
|$10.33
|[https://www.ebay.com/itm/133997791650 eBay]
|[https://www.ebay.com/itm/133997791650 eBay]
|- style="color:gray;text-align:left;"
|- style="color:gray;text-align:left;"
Line 92: Line 105:
|$30.44
|$30.44
|[https://www.ebay.com/itm/265339214092 eBay]
|[https://www.ebay.com/itm/265339214092 eBay]
|- style="color:gray;text-align:left;"
|Asus 4x NVMe to PCIe 16x Adapter
|($64.95)
|[https://amzn.to/3HG1yuB Amazon]
|- style="color:gray;text-align:left;"
|12G SAS HBA
|$75.98
|[https://www.ebay.com/itm/354492178220 eBay]
|- style="color:gray;text-align:left;"
|Total Price
|$915.72
|
|-
|}
===Server 2===
{| border="1" style="text-align:center;"
|Component
|Cost
|Source
|- style="color:gray;text-align:left;"
|WD Ultrastar 14TB
|$135.86
|eBay - amtec_us
|- style="color:gray;text-align:left;"
|WD Ultrastar 14TB (Qty 2)
|$282.60
|eBay - serverpartdeals
|- style="color:gray;text-align:left;"
|WD Ultrastar 14TB
|$146.73
|eBay - serverpartdeals
|- style="color:gray;text-align:left;"
|HPE DL360p G8 Server
|$86.96
|[https://www.ebay.com/itm/185617068154 eBay]
|- style="color:gray;text-align:left;"
|HPE 530FLR 10Gb Network adapter
|$10.87
|[https://www.ebay.com/itm/155009611180 eBay]
|- style="color:gray;text-align:left;"
|DL360p 3.5" Drive Caddy (x4)
|$18.48
|[https://www.ebay.com/itm/133997791650 eBay]
|- style="color:gray;text-align:left;"
|- style="color:gray;text-align:left;"


|Total Price
|Total Price
|$829.41
|$681.50
|
|
|-
|-


|}
|}
==Links==
Main tutorial followed for setting up ZFS and explaining concepts: [https://pthree.org/2012/04/17/install-zfs-on-debian-gnulinux/ pthree.org]

Latest revision as of 19:30, 9 September 2023

This page documents the network attached storage solution for home use and backups.

File:R60.jpg
The R610 "learning" server.

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 $135.86 eBay - amtec_us
WD Ultrastar 14TB (Qty 2) $282.60 eBay - serverpartdeals
WD Ultrastar 14TB $146.73 eBay - serverpartdeals
HPE DL360p G8 Server $86.96 eBay
HPE 530FLR 10Gb Network adapter $10.87 eBay
DL360p 3.5" Drive Caddy (x4) $18.48 eBay
Total Price $681.50

Links

Main tutorial followed for setting up ZFS and explaining concepts: pthree.org