High Availability Storage

Setting up storage in Proxmox is pretty straightforward, but like anything related to High availability, there are steps you should take to make your chances of a failure less likely. If I was building this system in a commercial production environment, then I would use high-quality fast storage and set that storage up with multiple levels of redundancy. Including raid levels before even connecting that storage to Proxmox. However, as this is my home lab and the idea is to make this as cheap as I can therefore increasing the "wife acceptance factor."

I am very aware that I am increasing the risks of a catastrophic failure and losing data by using cheap USB drives. However, this is a calculation on my part. By using multiple nodes and multiple drives, I am reducing that risk compared to just using the laptop's storage itself. In the future, when I have some more money available will upgrade my storage, but for now, I have decided to accept the risk because it's still a lot better than a Sandisk in a raspberry pi.

You should make your own evaluation of how you want to set up storage. If you have the money, then I recommend buying some good quality drives. But at least you know that my approach is still an option.

  1. The first step in setting up storage is to make sure that the storage is ready and available to each Proxmox node. For from each node, select Disks and make sure that the relevant storage is present. In this case, on node 1 (Prox1) you can see the storage disk is /dev/sdb

2. Now select ZFS from the options below the disk menu and select “Create ZFS”

3. Give the partition a name. This name must be exactly the same on each node, and it is case sensitive, so for simplicity, I am using the name "data."

4. For the first node only, you must have the "add storage" option ticked. But on nodes two and three, this must be unchecked.

5. Select the raid level; in my case, this will be “single disk” but if you have the right hardware to support other raid options, choose what is suitable for your application.

6. Finally, select the disk that is available in this example it is /dev/sdb

7.Repeat this on all nodes. Make sure that you only have “add storage” on the first node ONLY, or this will not work.

8. Now we can make the storage to do this select "Datacenter" from the top of the left-hand menu, then select "storage." You should see the ZFS partition available

9. Select Edit from the menu bar and then in the pop up select “nodes” and select all nodes that are available. Once this is completed, you will see the zfs partition appear on each node as an available resource