Posted on March 15, 2021Tweet
For the past couple of years my homelab has relied on a single 6TB WD Red drive for all of it's storage needs which is not ideal! This disk was presented to a Kubernetes cluster as an NFS share from a HP Microserver. It was also used as the primary source of truth for all of my photos, configurations and documents so it would be a bit of a disaster if it failed. I had a small data scare a couple of months ago when I rebooted my server after a kernel upgrade and my main data disk disappeared. The OS could no longer see the disk. This took down the majority of my services for the best part of a week. Luckily I have a few backups so I wasn't too worried about any data loss but there was no way of getting everything back up and running easily. This event was enough to convince me to invest in some data redundancy. I also had my eye on a nice ARM based NAS called the Helios64 from Kobol so this gave me the perfect excuse to go ahead and order it.
There are a couple of reasons why I went with the Helios64. Firstly the onboard 2.5GB ethernet would allow me to get faster transfer rates when compared with the usual gigabit ethernet. Obviously I won't be able to fully take advantage of this until I upgrade my local network switch to a multigig option. At the moment I have my workstation connected directly to the 2.5GB interface with a USB 3.0 2.5 gigabit ethernet adapter. There is also an onboard gigabit nic that is connected to the wider LAN. The Helios64 comes with five harddrive bays which gives me more options when it comes to storage redundancy. The first bay is shared with the SATA m.2 slot. This means that you can either use the first HDD bay or use an M.2 slot but not both. I misunderstood this initially and was hoping to use the full 5 bays for HDD storage and have an M.2 SSD as a bcache for the five harddrives but unfortunately this is not possible. The configuration that I settled on was 4 Seagate 4TB IronWolf Drives for bays 2 to 5 and a 256GB m.2 SATA SSD for some faster network storage. I added the 4 IronWolf to a Btrfs filesystem in a RAID 10 configuration for around 8TB of usable storage. I also went with the Helios64 because it has a smaller footprint and lower power consumption than my HP Microserver. It includes a small built-in UPS that should help protect it from small power outages (I haven't tested it but hopefully it works..).
Would I recommend the Helios64?
Good question.. It depends. The Helios64 does not come assembled so there is a bit of effort required to put it together which might not be for everyone. While the Helios64 has been working great for me for the past couple of months, I have seen quite a few issues pop up in the Armbian forums where some users have even struggled to get it to boot. I would recommend checking out the forums to see if the Helios64 can fit your usecase. My usecase is pretty simple so I haven't seen any issues so far - I am just using it as a basic NAS. To be honest I think thats all the Helios64 is really fit for as it only comes with 4GB of RAM. This doesn't make it a good option for virtualisation and from what I have read virtualisation performance and support varies wildly from ARM chip to ARM chip. You could run a couple of containers on it but you would have to make sure that they can squeeze into the 4GB of RAM and that there are aarch64 versions of the container images available. When it comes to the operating system, you really only have one option available which is Armbian. Armbian has been running well on both my Odroid HC2 and Helios64 for the past couple of months but again my setups are pretty simple. Armbian is a Linux distribution that is built for ARM development boards and is community driven. Check out their documentation to see if Armbian is a good fit for you. If you want something that will just work when you plug it in and not involve any tinkering maybe you should just go for a Synology but if the Helios64 still sounds good to you - go for it - I've really enjoyed it since it arrived. I was holding off writing this post for a couple of months so that I could give the Helios64 a good test and so far it has held up very well.
Homelab 2021 Update
I learned a lesson last year from my Homelab 2020 predictions. The predictions can become a bit of a checklist once they are written down so I am not going to make any this year as it can get expensive pretty quickly in both time and money. The short term goals of upgrading helm and traefik were done within three weeks after that post went up. Unfortunately just one from three in the medium term goals. I managed to migrate my pfsense firewall from the VM to a dedicated machine in the first half of 2020 when I picked up an SG-1100 on a good deal. The SG-1100 has been great and overall the uptime has been much better than the old virtual machine setup. It allowed me to apply upgrades/reboots to the HP Microserver without taking down the internet for everyone in the apartment. Ideally I would of got something a bit beefier than the SG-1100 but I got a very good deal and so far I haven't noticed any performance issues when it comes to network speeds etc. I never got around to playing with Firecracker as my focus shifted to learning the programming language Rust which has been fun so far. I still haven't added any machines to increase my capacity for virtual machines but I did set up a Linode account to give me the option of spinning something up if I need it.
For the long term goals, I'm going to count the Helios64 and the Odroid HC2 as my ARM based servers which covers that point. The 10GB networking and SSD storage is still in the back of my mind but I can't justify the upgrade right now. The HP Microserver would be the prime candidate for the SSD storage server as I would easily be able to add a 10GB SFP+ PCIE network card which wouldn't break the bank. The main problem is that I would have to pick up at least four 2 TB SSDs for it to make sense which is still relatively expensive (and I don't really need it) so for now I am still waiting for prices to drop. The HP Microserver has been temporarily retired by the Helios64.
There have been a good few changes to the homelab over 2020 partly thanks to all the extra time we have had to spend at home over the last year. I moved the Kubernetes cluster from bare metal to virtual machines mainly to take advantage of VM snapshotting but also to make the setup a little bit more flexible. One change that I really didn't see coming was migrating from OpenVPN to Wireguard but it has been brilliant. I have found Wireguard much simpler and easier to maintain while delivering very good performance. It is a very important element of my offsite backup solution which I also introduced during 2020. The next thing on my list is 10GB networking but we'll see what the rest of 2021 has in store for us...
Brian Carey | Software Engineer