Tutorial: Installing Proxmox VE 6 on Software RAID1 (mdraid)

Proxmox VE is an amazing piece of server hypervisor software that lets you create and manage both VMs and LXC containers through a very user friendly web based GUI. However if you want any form RAID with your drive, the default solution is ZFS RAID and it discourages the use of Linux Software RAID. And with NVMe drives becoming affordable and more commonplace, it offers much better performance compared to SATA or SATA SSDs, but as of now I haven’t found any hardware RAID cards that support NVMe, so hardware RAID is out of the question if you want to use NVMe drives.

I have no experience with ZFS, but from what others say, it requires a lot of RAM and it is suited more towards enterprise (expensive) NVMe drives as it wears out consumer grade NVMe drives very fast.

So, in this guide we will install Proxmox on top of two NVMe drives in linux RAID1 (mdraid) configuration. We will be using UEFI bootloader instead of legacy BIOS.

Debian Installation & MD RAID setup:

We need to install Debian 10 (Buster) first and setup the RAID during the installation process. We cannot use the ISO provided by proxmox, it will not provide you with any options to create a software RAID.

  • Create a 500MB partition on each disk
  • Set the partitions to ESP (EFI system partition). We cannot raid these two partitions. We will later on learn how to load the efi bootloader on both partitions and keep them in sync, so that the system will boot even if one disk fails.
  • Create a partition on each of the disk with on the remaining space and choose “physical volume for raid” as the partition type.
  • Then you need to “Configure software RAID” and select “Create MD device“. We are setting up a mirrored raid (RAID1), so enter “2” for the number of devices and then choose /dev/nvme1n1p1 and /dev/nvme0n1p1