I recently bought a HP Microserver Gen8 with the intention of installing Proxmox and expanding my virtual lab environment. In my setup, Proxmox is installed and boots from the internal Micro-SD card reader, with 4 2TB spinning disks (actually 3x2TB & 1X3TB, due to a shipping error in my favour!) to hold the virtual machines. The built-in hardware RAID controller lacks decent Linux drivers so I used software RAID instead of the HP Smart Provisioning utility.
The setup wasn’t particularly difficult, but wasn’t particularly obvious either. This post is a rough guide to the process as I will almost certainly need to rebuild this thing at some point in the future! As Proxmox is Debian-based the Digital Ocean documentation was very useful.
First, disable the built-in RAID controller and have it operate as a standard SATA one instead.
- Boot into Setup (F9)
- System Options -> SATA Controller Options -> Embedded SATA Configuration -> Enable SATA AHCI Support
Reboot into Proxmox and update/upgrade the OS packages:
apt-get update && apt-get upgrade -y
apt-get dist-upgrade
Install mdadm. As Proxmox is installed on the SD card, there is no need to start the array before the OS boots, so enter “none” when prompted:
apt-get install mdadm
View the raw devices and build the RAID:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
mdadm –create –verbose /dev/md0 –level=5 –raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
This will take a few hours; progress can be checked:
cat /proc/mdstat
Once the array is built, create the filesystem, create a mount point, and mount the RAID:
mkfs.ext4 -F /dev/md0
mkdir -p /mnt/md0
mount /dev/md0 /mnt/md0
Confirm that the RAID is available:
df -h -x devtmpfs -x tmpfs
Save the array layout, update initramfs, and automatically mount the array at boot:
mdadm –detail –scan | tee -a /etc/mdadm/mdadm.conf
update-initramfs -u
echo ‘/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0’ | tee -a /etc/fstab
The RAID is now ready for data. One tip a friend gave me (a little too late, unfortunately) was to check the logical identifiers for each disk and physically label each one so that when one fails, finding and replacing it will be easier.
Thanks for this – got me out of hours of fiddling on my Gen8 AND Gen10!
@AndyR.
I just received a HP Micro Gen10 and am looking at doing this config. Any Advice?