Took me a while to come back to this project. I migrated from my Pi 2 fully over to the RockPro64 NAS. ZFS and NFS works great (FreeBSD only allows a single file system to be shared via NFS, so I’ve just been making dedicated zfs paths for all my needs). I also had to migrate the last bit from my pi 2, the tftpd server, to rkpr64. Easy enough, the FreeBSD docs are great.
I’m working on getting NixOS to work the hc4. Ideally I would make it boot from NFS, but last I tried, nix was trying to find its partition UUID and failing (or so I remember). But this time I’ll be writing it to an SD card and try to actually boot it locally (would also help in case my infrastructure goes down, if the hc4 boots by itself, which would be the point of a backup server, which I’m planning to use it as, but testing is easier with the rootfs on nfs).
I’m not sure I want to deal with unsupported OS on this thing anymore. I have data copies between the ssd pool and the hdd pool on the rkpr64 NAS, but I’d rather have another pool dedicated to backups. Then, this’ll give me an opportunity to work with nixos, which I plan on learning anyway. Doing it on aarch64 is probably not ideal as my first experience with it, but given that the thing is only a config file and a nix-store path, it should in theory be a similar experience on any architecture (just the bootloader differs).
Given that I’m not planning on doing much with the hc4 other than a backup server, I might eventually switch to a nixos VM (maybe even a firecracker, if I can make the docker hub to work on opennebula - more details on my ranting thread or what are you working on today thread).
It seems that, as of now, my setup is pretty much stable. It’s still not ideal, like my rockpro64 router being unable run any kernel greater than 5.18, because the realtek 88x2bu is hot garbage (and this is the only kernel I managed to make the module work, despite the driver apparently being available in 6+). But for the most part I’m happy with my setup.
In all fairness, I’d like to get rid of the threadripper and get something smaller and more power efficient. Initially I was planning to make this a NAS and hypervisor, but compared to my n2+ and rkpr64, to run 24/7 this thing requires probably around 10 times the power of these 2 combined (which is still not much given the compute horsepower, but it’d be mostly idle anyway, making arm sbcs that sip power a no-brainer for mostly idle systems).
My original goal was to make an affordable, easy to replicate infrastructure with arm sbcs and make the services either highly available through the hypervisors or through other failover means. The only problem was that I was hoping to make this with 2 switches, which certainly isn’t enough given most failover scenarios (with split brain problem - unless I can make an external system serve as a check, like a ping to my router at least, if not an outright separate arbiter / tie-breaker). I need 3 switches and an SBC and potentially a NAS on all 3 of them (maybe running ceph on all 3). This makes it raise in price really fast.
While I like the datacenter-in-a-box potential for this, I think I should restrict myself from big purchases and stick to what I’ve got. I can do a theoretical build and explain the procedures step by step, but investing in the hardware seems a bit excessive at this point for me, especially because I don’t expect the necessity of 99.99% uptime (heck, I want my infrastructure to be rebooted often and have the services just switch over during the failover while the other half of the infrastructure is rebooting).
Over the past year, I’ve been interested in a lot of hot stuff coming out, like the Khadas vim4, Radxa Rock 5 and other stuff, but I think the only thing I might add to my infrastructure would be a QuartzPro64, or whatever the name will end up being for a Pine64 board to replace the RockPro64, with a rk3588 and 16GB of RAM, only because from experience, the pine64 stuff seems to be the most supported SBCs around by other distributions. If people want to stick with Debian / Armbian, then most boards would do fine anyway (although most official distros don’t ever get an upgraded kernel outside the original one, which typically ends up being deprecated by the time of the launch anyway).