[conspire] external storage recommendation

Rick Moen rick at linuxmafia.com
Sat Sep 25 18:36:04 PDT 2021


Quoting Josef Grosch (jgrosch at gmail.com):

> True. ZFS requires lots of memory but RAM has gotten very
> inexpensive in the last few years.The OpenZFS project and FreeNAS
> recommends a server with no less than 8 GB of RAM. The rule of thumb
> I have seen is 4 GB of RAM per core. When I built my current storage
> server I maxed out the RAM to the limit the motherboard supported,
> 64 GB.

And that bit of realism is why I was talking nonsense in suggesting the
otherwise admirable PC Engines APU or APU2 mini-ITX motherboards.  Those
max out a 4GB RAM, total, so, no, not useful for a currently viable and
future-proofed NAS.

I guess where I'd start, then, would be to see what suitable
motherboards in mini-ITX _or_ micro-ATX form factors _with Intel NICs_
and good RAM capacity are out there from, say, ASUS and SuperMicro.
(But not to the exclusion of other brands, as we'll get to, below).

And then find a decent enclosure, and the rest.

Again, this guy seems to have a sane grasp of the subject:
https://butterwhat.com/2019/06/16/brians-top-three-diy-nas-cases-as-of-2019.html

> ZFS is really the way to go if one wants/needs a mass storage server
> for backups or a media server. The two options for an open source
> solution is either FreeNAS ( http://truenas.com ) or install OpenZFS
> on your Linux server. My current server was initially Debian 10
> recently upgraded to Debian 11. Installing ZFS was as easy as "sudo
> apt install zfs". I also installed build-essential and
> linux-headers-`uname -r`.

It should be mentioned that this is a workaround for the CDDL/GPL licence
incompatibility _because_ although you are creating a derivative work
when you compile your OpenZFS kernel modules, you aren't distributing
them.  (Not that this is a dealbreaker, but this also means you'll be 
doing the same recompilation at every kernel upgrade).

I personally am just a _little_ not-comfortable with the
licence-incompatible approach, though as it doesn't involve distributing
binaries it's not unlawful.  Also, I think it'd be really cool to 
try out the native implementation on an Illumos distribution (like
an OpenIndiana Hipster load) or FreeBSD.

But, sure, building OpenZFS for a Linux distro works, too.

(Does that mean you first install your distro on a Linux-native
filesystem, and then construct and load the OpenZFS kernel module,
and only _then_ build your ZFS pool?  Like, on additional hard drives,
that are not the ones you installed onto?)


> My previous server used an Intel CPU and I've found that AMD CPU
> seem to be faster. 

AMD Ryzen CPUs seem to be a huge step forward and also cost-beating over
Intel's offerings.  And the nice thing is, your ASRock X470 Taichi
motherboard even has good Intel gigabit NICs -- so, best of both worlds.
Nice find.  But I note that it's full-sized ATX (12" x 9.6").

Just pro bono publico, let's go over motherboard form factors common in
2021 starting with smallest:

o  6.7" x 6.7":  mini-ITX.  Originated for light-duty PCs.  Has a single
   PCIe slot (PCI Express x16).  Maybe two 3.5" HDs.  Have to be careful
   about cooling.

o  9.9" x 9'6";  micro-ATX.  Relatively small systems.  Maximum of four 
   PCIe slots.

o  12" x 9.6":  ATX.  Desktop/workstation standard.  Lots of 
   expansion potential.

o  12" x 13":  Extended ATX.  Server-centric or gamer PC, lots of 
   space for everything.

RAM capacity and adequate space for cooling permitting, one might base a 
NAS on any of those four.

E.g., here's a good ASRock micro-ATX motherboard that accepts AMD Ryzen
2000 and 3000 series CPUs and has Intel NICs:
https://www.ebay.com/itm/ASRock-X570M-PRO4-AM4-AMD-X570-SATA-6Gb-s-Micro-ATX-AMD-Motherboard/293176972184


Smaller form factors (obviously not for NAS) include:  
o  4.7" x 4.7":  nano-ITX.  Designed for digital entertainment devices,
   like set-top boxes, car PCs, thin devices, media centers, and DVRs.
o  3.9" x 2.8":  pico-ITX
o  2.4" x 2.4":  mobile-ITX



> The real issue that one has to be aware of is choosing the right
> discs. ZFS, like RAID, wants the discs to be all the same size.
> Mixing disc sizes causes real problems.

Yes, thanks for harping on that, because it's important.  Paul, this is
also relevant to the "Should I go with a RAID1 mirrored pair and lose
50% space, or do RAID5 with 3 more more drives, and lose less space?"
question.  

Let's say you could, today, afford to go either of two ways:

o  RAID1 pair of 16 TB hard drives, net capacity 16 TB.
o  RAID5 set comprising qty. 5 of 4TB hard drives, net capacity 16 TB

Today, you buy into option #2, and feel good about it.  But, four years
down the road in 2025, your growing collection of Jenniecam... I mean,
your A/V collection is outgrowing your NAS, and you want to retire your
five 4GB drives.  But, eek.  Now you're shopping for five drives again,
and all must (for all practical purposes) be the same size, so it's a
big hit.  If you had gone for option #1, you would be shopping for
only _two_ drives of 2025-competitive capacity each.  This might well be
cheaper -- and it's a little easier to find secondary uses for two
16TB yanked drives than for five 4TB ones.  And, also, don't forget, the
2-drive NAS is going to be smaller, quieter, less power-hungry than the
5-drive one.


I should also mention here:  A NAS really isn't backup.  Seriously!
https://butterwhat.com/2019/12/17/pats-nas-building-tips-and-rules-of-thumb.html
explains:

  RAID is not a backup!

  RAID helps prevent downtime. RAID doesn’t do much of anything to ensure
  the integrity of your data.

  If you have a single drive, and it fails, your server is going down.
  You’ll have to replace the drive, reinstall your operating system, and
  restore from backup.

  If a disk in your RAID fails, the server keeps on ticking. You can swap
  in a new disk, the array will rebuild, and you’ll be ready for your next
  disk failure. If you don’t have hot-swap-capable gear, you might have to
  shut down the server to replace the drive. This is a minor inconvenience
  compared to restoring from backup!

  RAID does not protect you from:

  Disk controller failure
  A bug in your SATA driver
  Too many disks failing
  Accidentally deleting things
  Buggy software deleting or corrupting data
  Ransomware
  Malicious users messing with your stuff

  If your data is worth storing, then it is worth backing it up. Off-site
  backups are even better!

Which nicely ties back to my earlier point about Paul's half-terabyte 
memory stick's future set of video and still-photo files.  Paul 
sought _backup_, not live network storage.  From that perspective, 
remember my mentioning the option of buying a pair of USB2-connectable
external hard drives, Tweedledum Backup and Tweedledee backup, and
rsync'ing to them alternately?

Honestly, as the guy quoted above points out, Tweedledum and Tweedledee
would be a more on-point solution to the use-case Paul mentioned.




More information about the conspire mailing list