Hello there Selfhosted community!
This is an announcement of the completion of a project I've been working on. A Script for installing Ubuntu 24.04 on a ZFS RAID 10. Now, I'd like to describe why I choose to develop this and how I'd like for other people to have access to it as well. Let us start with the hardware.
Now, I am using an old host. My host in particular was originally a BCDR device that was based on a ZFS raidz implementation. Since it was designed for ZFS, it doesn't even have a RAID card, it only has an HBA anyways. So for redundancy, ZFS is a good way to go. Now, even though this was a backup appliance, it did not have root on ZFS. Instead, it had a separate harddrive for the operating system and three individual disks for the zpool. This was not my goal.
So I did a little research and testing. I looked at two particular guides (Debian/Ubuntu). Now, I performed those steps a dozens of times because I kept messing up the little things. And to eliminate the human error(that's me) I decided to just go ahead and script the whole thing.
The Github Repository I linked contains all the code needed to setup a generic ubuntu-server host using a ZFS RAID 10.
Instructions for starting the script are easy. Boot up a live cd(https://ubuntu.com/download/server). Hit CTRL+ALT+F2 to go into the shell. Run the following command:
bash <(wget -qO- https://raw.githubusercontent.com/Reddimes/ubuntu-zfsraid10/refs/heads/main/tools/install.sh)
This command does clone the repository, changes directory into it, and runs the entrypoint(sudo ./init.sh). Hopefully, this should be easy to customize to meet your needs.
More Engineering details are on the Github.
oOooo.... Quite interesting.
If you are intending to use it, I have some thoughts about the way that you should get it setup and running.
First thing I would look into is getting the iDrac reset and working. iDrac is intended to allow you to view the display of the server without connecting a monitor, simply use a web page. It also allows you to power on/off the server remotely even if it is frozen or off. It is a simple web interface that allows you to control it.
After that, I have some questions about your intention for this server. If you are intending to use this server as a hypervisor, I would like to take just a moment to shill for Apache Cloudstack. I recently setup a server running this and it is going absolutely wonderfully. The reason I chose to use it is it is more open to DevOps workloads, by default compatible with Terraform and takes literally 5 minutes to setup an entire Kubernetes cluster. However, the networking behind it is a bit more advanced and if you want more detail just ask me. For now, suffice it to say that it is capable of running 201 vlans protected by virtual routers.
If that is too much to bite off for a hypervisor at one time, then Proxmox is the way to go. You can probably see a few videos from Linus Tech Tips involving that software. It has much simpler networking and can get you up and running in no time.
Finally, if you are intending to learn something a little more professionally viable, then I would talk to your boss about utilizing an unused VMWare license or perhaps working with Hyper-V(my least favorite option).
If you do intend a Hypervisor, then I would highly recommend setting up a raid. Now, the type of RAID depends highly on what you want. RAID 5 will probably work for a homelab, but I would still recommend a RAID 10. RAID 5 gives you more storage space, but I like the performance benefits of a RAID 10. I think that it is very important when multiple virtual devices are sharing the same storage. You can read more about the various RAID levels here: https://www.prepressure.com/library/technology/raid