post

Virtualisatie is een belangrijk aandachtsgebied voor veel bedrijven. Dat komt door de talrijke voordelen van deze techniek. Denk aan optimale inzet van beschikbare hardware, flexibiliteit, schaalbaarheid en extra mogelijkheden op gebied van security. Dit zorgt heel kort door de bocht voor meer mogelijkheden bij lagere kosten. De ene virtualisatie is echter de andere niet en de gebruikte hypervisor is een belangrijke component in het virtuele geheel.

De meest bekende hypervisors zijn Hyper-V van Microsoft en vShpere van VMWare. Er zwemmen echter meer vissen in de virtuele zee, waarvan het open source Proxmox een interessante kandidaat is. Ik had thuis toevallig nog een systeem staan en besloot daarom eens te kijken hoe ik daarvan een server met Proxmox kon maken om een lab-omgeving op te bouwen.

Installatie en configuratie

De “server” is feitelijk een oude desktop waarvan ik de hardware in 2013 gekocht heb. Alles bij elkaar heeft me dat toen €250 gekost. Voor dat bedrag kocht je in die tijd de volgende hardware:
• 1 SSD 64GB
• 1 TB HDD
• 32GB Ram
• 1 AMD Athlon X4 740 Quad Core Processor

Proxmox maakt gebruik van de Linux-KVM virtualisatietechniek. Met Linux-KVM heb in het verleden al de nodige ervaring opgedaan, dus ik was al enigszins bekend met de basis van Proxmox. Wat ik me nog kan herinneren van Linux-KVM is de prima performance. Het is een Open Source Enterprise Grade virtualisatieplatform en bovendien helemaal gratis te gebruiken. De installatie is niet moeilijk en heeft een hoog ‘next-next-finish’ gehalte. Binnen een uur is het volledig geïnstalleerd, inclusief het downloaden en klaarmaken van de USB-stick voor installatie. Ik heb van de genoemde hardware één ZFS-volume / ZFS-pool (bestandssysteem) gebouwd. Dit zou al meteen een leuke performance-boost moeten opleveren omdat ZFS aan storage tiering doet. Of het in deze configuratie automatisch werkt weet ik niet zeker. Ik heb het handmatig geconfigureerd en om de performance van het bestandssysteem nog wat verder op te krikken na installatie nog een SSD disk toegevoegd en gekoppeld aan de ZFS-pool als caching disk. Om de omgeving te optimaliseren heb ik de KSM-treshold verlaagd naar 50%. Wat nog belangrijk is om te melden is dat mijn systeem een AMD processor heeft, maar Proxmox ook met Intel processoren werkt. Met de hypervisor opgestart kon ik nu beginnen met het draaien van virtual machines. Hierbij leerde ik een belangrijke les. Je moet de VM’s niet tegelijk opstarten, want het KSM-proces heeft een paar minuten nodig om geheugen vrij te spelen. Ik kwam hier achter toen de Proxmox-server uit zijn swap memory liep en de hele machine crashte (tot mijn teleurstelling). Goed, kleinigheidje blijf je houden. Daarvoor is het een lab!

Proefballonnetjes

Na de crash ben ik met frisse moed verder gegaan en heb ik een paar Windows Servere 2016 machines geïnstalleerd. De diskperformance was daarbij meer dan goed. Ik ben echt positief verrast over de performance. Ik heb nog niet gemeten hoeveel I/O ik nu haal in deze configuratie, maar het draaien van tien Windows Server 2016 VM’s gaat prima! Tijdens het bouwen van mijn lab heb ik gelezen dat Proxmox geschikt is voor memory overcommiting. Te leuk om niet te proberen. Met KVM KSM (Kernel Samepage Merging) kun je inderdaad gemakkelijk geheugen overcommitten. Ik heb gelezen dat tot 300% mogelijk is. Op mijn testopstelling had ik zelfs nog verder kunnen gaan dan dat. Hieronder zie je een screenshot van de Proxmox host met daarop de tien Windows hosts en nog één Ubuntu server. Alle Windows machines hebben 8GB RAM geheugen. Uiteindelijk draait er dus 80GB aan Windows hosts op een desktop met 32GB RAM. Bij KSM-sharing zie je dat 63,5 GB gedeeld wordt tussen de hosts.

Om te kijken of ik de performance van het geheel nog wat verder kon verbeteren heb ik op de Windows cliënt ballooning ingeschakeld: dat bleek nog het meeste werk.

De performance van je virtuele Windows Servers verhoog je door de paravirtualized drivers voor KVM/Linux te installeren. Daarmee krijgt het guest OS directe toegang tot de geparavirtualiseerde hardware. Zo presteert het guest syteem een stuk sneller dan met geëmuleerde hardware. Onderdeel van die drivers is het guest balloon (KSM) drivers en services. Die services moeten eerst geïnstalleerd en daarna geactiveerd worden op het guest OS. Dat laatste heb ik eenmalig op mijn eerste Windows Server installatie uitgevoerd. Daarna heb ik de server gegeneraliseerd met de sysprep tooling van Microsoft en tienmaal gekloond in Proxmox. Ik wilde de nieuwste drivers hebben voor Windows. Die heb ik hier gedownload. Ik heb niet voor de stabiele branch gekozen, want het is een lab en anders is het niet spannend natuurlijk!

Productie versus labs

Zonder support is Proxmox gratis bruikbaar voor bedrijven. Het ontbreken van support is niet handig voor productie-omgevingen, maar voor een virtuele speeltuin of leeromgevingen/labs is het mogelijk een prima optie. Het leuke is dat je ondanks het feit dat het gratis is veel enterprise features tot je beschikking hebt. Daarbij is de installatie geheel voorzien van een GUI, dus alleen voor geavanceerde tweaks heb je Linux-kennis nodig. Je kunt er dus serieuze virtualisatie-ervaring mee opdoen zonder direct licentiekosten te hebben of diep in Linux te belanden. Of het voor ieder bedrijf is weggelegd is natuurlijk niet alleen van de kosten afhankelijk. Bovendien is het een relatief onbekend product wat de wandelgangenkennis beperkt maakt.

Voor mijn privé-lab is het draaien van tien VM’s op hardware uit 2013 een prima resultaat. Altijd mooi als je hardware die je nog had liggen een nieuwe toepassing kunt geven. Omdat ik enkele testomgevingen wat langer wil laten draaien kan ik dat nu bovendien doen zonder dat het me al teveel geld kost. Alles bij elkaar ben ik heel erg positief over de Proxmox hypervisor en de prestaties van het ZFS-bestandssysteem.

Comments (3)

  1. Pascal Wierckx profile photo
    Pascal Wierckx
    Beantwoorden

    Leuk om te zien dat je met dit pakket aan de slag bent gegaan. KVM is ook een gaaf virtualisatieplatform. Kan altijd open-source oplossingen waarderen. Mij lijkt het ook dat als je niet heel veel eisen stelt aan je virtualisatie platform je prima een oplossing als proxmox kan gebruiken bij bedrijven. Oplossingen als proxmox en KVM worden naar mijn idee het meeste gebruikt in hosting omgevingen. Bij hosting providers is een zo scherp mogelijke prijs belangrijk aangezien men daar behoorlijk op concurreert. Hierdoor kan je virtuele servers aanbieden tegen lagere prijzen dan bij een VMWare platform.

Leave a comment