I wanted to set up a home lab for development, tinkering and learning. I got myself a HP Microgen 8 and upgraded it with some more ram and a better cpu. In order to use it effectively and test multiple OSs and software, I wanted to set up virtualisation, for this I chose Proxmox

My Proxmox Homelab

Server Hardware

  • HP Microserver Gen8
  • 16GB (2x 8GB) DDR3 1600Mhz M391B1G73QH0-CK0Q 2Rx8 PC3-12800E
  • Intel Xeon E3-1265L 2.4GHz Quad Core CPU SR0G0 LGA1155 Gen8
  • 4 x 2TB WD drives
  • 1 x 120GB 2.5Inch hitachi drive
  • 1 x 2GB MicroSD card

Issues

RAID problems.

The first issue I ran into was the RAID card installed a HP B120i has spotty driver support in newer kernal versions in Debian, which Proxmox is based on. As such I had to disable the RAID card and and boot using AHCI rather than RAID.

However, a caveat of the HP MicroGen 8 is while I had 4x4TB drives installed, I wanted to use the ODD port which is reserved normally for the Optical Disk Drive as the OS drive and does not support booting to in AHCI mode. You can normally boot to the ODD sata port if in RAID mode.

To solve this, I used the onboard MicroSD slot with a 2GB card to have the /boot partition installed on it, including GRUB, and then boot to the MicroSD card slot which will point to the 120GB drive in the ODD sata port to load the OS.

Custom partitions.

Unfortunatly Proxmox’s installer does not give you full control over partition creation to install the /boot partition on the MicroSD card.

To solve this, I used a standard Debian 9 installation and when prompted for parititons selected the MicroSD card as the /boot partition and everything else went on the 120GB drive.

Finally after the Debian installation complete I could install Proxmox VE on top

RAID configuration

I will primarily be using this server for development, backups and media sharing. I settled on a RAID10 configuration, which strips a pair of disks and mirrors it to the other pair. This reduces the available diskspace by half, but the redundancy and performance is acceptable.

RAID 10 - wikipedia

As I’m not using the HP RAID card, I settled on ZFS to create a software raid.

root@alba:~# zpool status
  pool: lomond
 state: ONLINE
  scan: scrub repaired 0B in 4h27m with 0 errors on Sun Jan 13 04:52:01 2019
config:

        NAME                                          STATE     READ WRITE CKSUM
        lomond                                        ONLINE       0     0     0
          mirror-0                                    ONLINE       0     0     0
            ata-WDC_WD20EFRX-68AX9N0_WD-WMC1T3197358  ONLINE       0     0     0
            ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M5XA9YJT  ONLINE       0     0     0
          mirror-1                                    ONLINE       0     0     0
            ata-WDC_WD20EFRX-68AX9N0_WD-WCC300355187  ONLINE       0     0     0
            ata-WDC_WD20EFRX-68AX9N0_WD-WCC300377214  ONLINE       0     0     0

errors: No known data errors

Doing a quick benchmark of theoretical performance against a 20GB file, I get write speeds of 350 MB/s and read speeds of 7.4GB/s

root@alba:/lomond# dd if=/dev/zero of=tmp.dat bs=2048k count=10k
10240+0 records in
10240+0 records out
21474836480 bytes (21 GB, 20 GiB) copied, 61.2908 s, 350 MB/s
root@alba:/lomond# dd of=/dev/zero if=tmp.dat bs=2048k count=10k
10240+0 records in
10240+0 records out
21474836480 bytes (21 GB, 20 GiB) copied, 2.8936 s, 7.4 GB/s

With the configuration of the RAID I can set up Proxmox to utilise it for VMs, containers, image storage and data storage.

I’ll detail my Proxmox setup in another post.