Since I'm on a very limited budget, I'm going to try to build a very primitive NAS with the hardware I currently have. I'll be using 6x1TB HDDs, FreeNAS (never used it) and ZFS (also never used it) where 2 of the 6 HDDs will be for redundancy, so if my math is correct about 3.63TB usable (4x 939GB per drive). The computer I have available has an Intel D945PSN board with 4 sATA2 ports (will require a card with extra sATA ports), Pentium D 940 3.2Ghz, 4GB RAM non-ECC (2GB+2GB, it has 4 slots but 2 don't work) and an OEM 500w power supply. Since it will be used only to backup files, It will only be powered on once in a while. So the questions are: 1. Is the computer "good" enough for the job? I read that ZFS requires at least 1GB ram per 1TB storage, is this for storage capacity (in this case 4x1TB) or total storage including redundancy (6x1TB)? I'm not worried about speed for now, only redundancy/safety. I know, I need a better power supply for that 2. Should the FreeNAS run from a USB2 flash drive or from a 7th HDD? And is the ZFS data safe in case the FreeNAS flash drive / HDD fails, or do I need to backup some kind of ZFS index?
From the official page i linked to (don't know if it also is meant for the older x86 edition): 8GB* Boot Drive (USB Flash Drive suffices)
Yup! And Joe C's link also explains that the OS runs in memory and copies itself to the hard drives, so the flash drive only works as a boot drive, and I can buy a 2nd one to use as mirror in case one of them fails.
As usual, nothing goes according to plan. FreeNAS 9.2.1.9 x86 fails to boot with an hardware error introduced in v9 that was only solved in v10, so the only option is to use older x86 versions with worse support and probably buggier, or newer x64 versions with higher hardware (namely RAM) requirements. Since the main reason I wanted to try ZFS was RAIDZ2 and protection against data corruption, an identical solution can be obtained with ReFS + Storage Spaces + Parity if using Windows 10 Pro 1703 (and only 1703), Windows 10 Pro for Workstations, and Windows Server 2016. Since I'm a total noob with Linux/FreeBSD but quite at home with Windows, I thought I finally had it all worked out... And here's where everything goes boinkers again: I wanted RAIDZ2 / RAID6, but Single Parity is "equivalent" to RAID5. For Dual Parity / RAID6, Windows Server 2016 is required. Guess what? My CPU doesn't support x64 Windows 8.1 and above because it's missing the CMPXCHG16B instruction. It's an Athlon 64 X2 4400+ 2x1024KB socket 939 (Toledo), which means it's either a ADA4400DAA6CD or a ADV4400DAA6CD. Some AM2 CPUs might include CMPXCHG16B, so I'll have to check every CPU for sale against the instructions listed in cpu-world, and hope that the instruction is detected by the OS when using the AM2CPU board. Since the NAS purpose is mostly offline storage, I'll probably be better served with Windows Server 2016 because Storage Spaces are much easier to work with (from a regular user's stand point) and much more flexible than ZFS regarding future pool expansions.
I went for the used AM2 CPU + AM2CPU board addon for the 939SLI-eSata2 (about 20€/$ both) because I already have the DDR2 memory. If going for a AM3+ board I'll have to buy the DDR3 memory too. The Phenom II is AM2+ and unfortunately is not supported by the AM2CPU addon, according to a mail sent from Asrock to a member in another forum. I am still missing 3 sATA ports though, maybe a cheap PCIe sATA card or sATA to IDE adapters? Oh, and a "slightly" better PSU than the current OEM I'm using It's only for "cold" storage, so as long as I get a working computer with a relatively better archive system than saving files over individual drives, it works for me. Power on, copy files, power off. That's basically what it's for
Off topic aside, I decided to go with Windows Server 2016 v1709 + Storage Spaces which supports the ReFS filesystem (bit rot resilience) and dual parity (up to 2 drives can fail), which is basically what I wanted FreeNAS + ZFS for, plus I know my way around in a Windows environment. Also Storage Spaces allow me to add more drives to the pool at any time without needing to delete / rebuild the pool. Windows Server 2016 was required because Windows 8.x/10 only allow NTFS + single parity, and it had to be v1709 because it has the "Desktop Experience" option, the latest version has no GUI / Explorer, only a command prompt. The motherboard is an Intel D945PSN/GNT (not sure which one) with 4xsATA, and an expansion card with 2xsATA3 + 2xUSB3 (1 USB for the 7th hdd), plus 2x2GB DDR2. The first step to take in the future is adding a better board/cpu/ram setup, but for now it suffices Currently working with a pool of 7x 1TB (7x 0.909GB = 6.363GB) with 4.22GB available after setting up resilience. EDIT: the only real purchases I made with this setup was a "Tier 2" Seasonic S12-II power supply, the PCI-e sATA adapter and a couple of used 1TB hdds with almost no use at all and no bad sectors. Yeah, I'm a cheap bastard...