Virtualisatietechnologie wordt tegenwoordig alom gebruikt op veel besturingssystemen. Echter, de Total Cost of Ownership (TCO) en Return On Investment (ROI) kunnen voor Linux significant lager zijn door het gebruik van open source. Proxmox biedt een virtualisatie-oplossing volledig in de geest van Linux. Het open source-product levert open gereedschappen vanuit de open gedachte.

 

Om te begrijpen waarvoor de Proxmox-software is bedoeld, moet je de volgende zaken in gedachten houden:

• De distributie is gebaseerd op Debian.
• Het benut technologieën als KVM en OpenVZ.
• Het biedt een aantal modules om KVM/OpenVZ te beheren.

Er worden twee verschillende manieren aangeboden om de software te installeren. Je kunt naar de website van de ontwikkelaar gaan en een ISO-bestand downloaden, waarmee je vervolgens het systeem zelf opbouwt. Als alternatief kun je de regel deb http://download. proxmox.com/debian wheezy pve aan het bestand /etc/apt/ sources.list toevoegen om op een bestaand Debian Wheezy-systeem de Proxmox-softwarepakketten te installeren. Na afloop van de installatie staan de pakketten met de pve-prefix tot je beschikking, waaronder pve-qemu-kvm, pvecluster, pve-kernel-2.6.32-20-pve en pve-manager. Tevens is een webinterface beschikbaar voor je op https://server_ip:8006/ (afbeelding 1) om de virtuele machines (VM) te beheren.


1. Complete controle over virtuele machines is mogelijk met behulp van de ExtJS-webinterface

VIRTUELE MACHINES

Laten we kort kijken naar de verschillende soorten VM’s. Proxmox ondersteunt KVM (Kernel-based Virtual Machine) en OpenVZ (Open Virtuozzo). Allereerst kan een VM volledige virtualisatie bieden en onderdak bieden aan ieder operating system ontworpen voor een x86/x64_86-architectuur zoals MS-DOS, FreeBSD, QNX, Linux en Windows 8. Hierbij worden alle componenten ondersteund, waaronder CPU, RAM en PCI-bus. Volledige virtualisatie gebruik je als diverse operating systems naast elkaar worden gebruikt, maar elkaar niet mogen beïnvloeden en processen geïsoleerd van elkaar moeten draaien met eigen processen en geheugen. Verzeker jezelf ervan dat de host CPU (Intel of AMD) hardwarevirtualisatie ondersteunt. Gebruik het volgende commando: 

$ egrep ‘^flags.*(vmx|svm)’/proc/cpuinfo

Indien vmx of svm beschikbaar is, kun je gebruikmaken van volledige virtualisatie. Paravirtualisatie OpenVZ is het alternatief voor volledige virtualisatie wanneer je project genoeg heeft aan een Linux operating system binnen een virtuele container. In dergelijke gevallen worden CPU, RAM, buses en NIC’s niet volledig geëmuleerd, maar gedeeld door het host system en de OpenVZ-container. De Linux-kernel wordt ook gedeeld door host en container. Dergelijke virtualisatie is ontwikkeld als onderdeel van een groter commercieel project (Virtuozzo) van Parallels. Diverse componenten zijn beschikbaar gesteld onder de naam OpenVZ. De technologie is gebaseerd op cgroups en heeft overeenkomsten met LXC (LinuX Containers).

Wat zijn de belangrijkste voordelen van paravirtualisatie ten opzichte van volledige virtualisatie? Ten eerste kan de host besparen op computer-resources. Het host-systeem schakelt tussen diverse taken met gebruik van één groot systeem dat gebruikmaakt van Linux. Als gevolg hiervan heeft de OpenVZ VM vergelijkbare processing-kracht tot zijn beschikking als het hostsysteem. Ten tweede kun je de RAM, HDDruimte en CPU-sockets dynamisch toewijzen aan een OpenVZcontainer. Als gevolg hiervan kun je eenvoudig aanvullende VM’s op een host configureren. De derde relevante factor is het feit dat de OpenVZ-oplossing geen hardwarevirtualisatie vereist. Daarmee kan verouderde hardware worden gebruikt om light-weight oplossingen (PHP, Drupal, Wiki) te hosten. Vanzelfsprekend zijn er ook enkele nadelen. De OpenVZ-container kan alleen worden gebruikt om Linux te draaien. Ook is het nagenoeg onmogelijk om potentieel gevaarlijke processen te identificeren die zwakheden van de Linux-kernel willen misbruiken. Als gevolg hiervan bestaat de kans dat het gehele host-systeem wordt bedreigd als gevolg van een aanval op één OpenVZ VM-systeem met DDoS-kenmerken. Wanneer je gebruikmaakt van een KVM-emulatie, draaien alle containerprocessen in één QEMU-entity en bestaat een lager risico op afbreuk vergeleken met de OpenVZ-oplossing.

PROXMOX-FEATURES
In het geval van Proxmox wordt volledige virtualisatie geleverd door de QEMU-KVM-oplossing. Daarmee worden diverse fileformaten ondersteund en is het mogelijk eenvoudig te migreren van andere leveranciers – VMware, VirtualBox, VirtualPC en Parallels. Kopieer eenvoudig het container-image en – indien nodig – converteer je deze naar een native formaat (QCOW2) met gemu-img. De migratie zal eenvoudig en transparant verlopen. Alleen voor Windows XP/2003 (en oudere versies) moet je aanvullend de registry aanpassen met mergeide. reg (instructies zijn beschikbaar op de Proxmox-website). Je kunt een nieuwe KVM-machine opvoeren met gebruik van de webinterface of de CLI-console. Gebruik een SSH-client om een verbinding met het host-systeem tot stand te brengen en voer de commando’s uit Listing 1 uit.

LISTING 1

# /usr/sbin/qm create 300 –ostype l26 –memory
1024 –onboot no –sockets 1 –cdrom local:iso/d

bian-6.0.3-amd64-CD-1.iso –name My_New_KVM_Machine
–vlan0 e1000=52:CD:97:27:87:6E –bootdisk scsi0 –scsi0
local:1,format=raw
# /usr/bin/qemu-img create -f raw /var/lib/vz/images/ 300/
vm-300-disk-2.raw 20G

VOLLEDIGE VIRTUALISATIE
Je hebt nu een nieuwe container gemaakt onder de naam My_ NEW_KVM_Machine die geschikt is voor volledige virtualisatie. De container heeft de beschikking over 1 GB RAM, een 20 GB HDD en NIC’s van het type Intel E1000. Een installatie ISO-image met de naam debian-6.0.3-amd64-CD-1.iso is aangemaakt voor de VM. Een groot aantal OpenVZ-images wordt meegeleverd en is gereed voor onmiddellijk gebruik. Enkele worden aangeboden op de OpenVZ-projectpagina. Iedereen wordt uitgenodigd om paravirtualisatie- containers voor MediaWiki, Joomla! en WordPress te gebruiken of de distributies voor Debian, OpenSUSE, Fedora of Slackware. De systeembeheerder kan een OVZ-image downloaden, met de webinterface het image uploaden naar Proxmox, een VM aanmaken van het type OpenVZ en op start drukken. Het vraagt enkele seconden en jouw VM is in bedrijf met gebruik van paravirtualisatie. Op vergelijkbare wijze kun je een OVZ-container aanmaken met gebruik van CLI; zie Listing 2. Nu heb je de beschikking over een tweede container genaamd My_New_ OVZ_Machine. Deze container heeft de beschikking over een 8 GB disk en 512 MB RAM. De VM is gebaseerd op de van tevoren gedefinieerde OVZ-configuratie debian-6.0-standard_6.0-4_amd64. tar.gz. Om de container te activeren en de configuratie te bekijken gebruik je onderstaand commando en vervolgens Listing 2

# vzctl start 301 &&
vzctl enter 301

LISTING 2

# /usr/bin/pvectl vzcreate 301 –disk 8 –ostemplate
local:vztmpl/debian-6.0-standard_6.0-4_amd64
tar.gz –hostname My_New_OVZ_Machine –nameserver
8.8.8.8 –searchdomain corp –onboot no –swap 512
–mem 512 –cpus 1 –netif ifname=eth0,mac=7E:9B:D6:
7B:85:15

# vzctl set 300 –hostname My_New_OVZ_M
chine.corp –searchdomain corp –netif_add
eth0,7E:9B:D6:7B:85:15,, –onboot no –nameserver
8.8.8.8 –save

VOORDELEN
Proxmox biedt professionele mogelijkheden en is een alternatief voor de competitie. Allereerst kun je eenvoudig een live-omgeving kopiëren naar een andere node binnen een bestaand cluster en een HA-cluster bouwen. Hiervoor dien je het corosync-pve-pakket te installeren. De initiële master node wordt gemaakt door:

pvecm create MyClu
ter_001

Alle andere slave nodes moeten worden gecombineerd met de master node door:

pvecm add MyCluster_001
IP_Address

Hierna moet de webinterface worden gebruikt om de nieuwe VM te maken (Server View, Data Center, Add HA managed VM/CT), waarbij de property Managed by HA op de waarde Yes moet worden gezet. Het tweede voordeel bestaat uit de ondersteuning van een grote hoeveelheid soorten dataopslag. Naast het gebruik van de bekende filesystems zoals NFS, CIFS en SMB is het mogelijk om iSCSi-devices, SSH-shared servers en zelfs ZFS-devices te gebruiken om de containers op te installeren.
Het derde sterke argument om Proxmox te gebruiken wordt geleverd door de open API en een collectie tools om de VMinfrastructuur te beheren. Als voorbeeld: pveproxy is een Perlwebserver met een web-based interface en enkele Perl-scripts, waarmee informatie wordt gevisualiseerd met gebruik van het ExtJ2 4 framework. Elke meer ervaren Linux-ontwikkelaar of -beheerder kan de VM’s configureren, beheren en verwijderen met gebruik van de webinterface en eenvoudige procedures. De Proxmox-developers hebben aangekondigd dat in de nabije toekomst het SPICE-protocol gaat worden ondersteund. Daarmee wordt nog efficiënter met de bandbreedte omgegaan en dit zal een verbetering bieden voor wie gebruikmaakt van GUI-based operating systems.

MOBILE CLIENT FOR ANDROID
De Italiaanse softwareontwikkelaar Dimitri Bellini heeft een mobile client gemaakt voor Android-based devices. Daarmee is het nog eenvoudiger je VM-infrastructuur te beheren met gebruik van je smartphone (afbeelding 2). Vanaf iedere locatie op de wereld met gebruik van het lokaal beschikbare netwerk (WiFi, 3G, LTE) heb je de middelen tot je beschikking om je VM te starten, stoppen of migreren.

2. Volledige controle over de infrastructuur met gebruik van de mobile client

CONCLUSIE
De Proxmox-virtualisatie-suite is een werkelijk unieke oplossing voor MKB-bedrijven. Allereerst heb je door de technische design-keuzes geen vendor lockin. Daarnaast wordt optimale flexibiliteit voor beheerders door het gebruik van Debian geboden om elke opslagconfiguratie te gebruiken, dat wil zeggen iSCSi, SAN, LVM en DRBD. Je hebt toegang tot het Proxmox-supportforum in het geval je onvoldoende kennis tot je beschikking hebt of hulp nodig hebt bij een werkelijk uniek probleem. Tot slot worden er betaalbare abonnementen aangeboden.