Skip to main content

Proxmox: Virtualisatiekracht in Je Handen

JyKoog9C7vsnT391uAFF--1--w0jmk.webpProxmox VE is een krachtige open-source virtualisatieplatform waarmee je eenvoudig virtuele machines en containers kunt creëren en beheren. Met zijn gebruiksvriendelijke webinterface en uitgebreide functionaliteit, kun je snel aan de slag met virtualisatie.

Snelle Tips voor Virtualisatiebeheer:

  • Dashboard: Krijg een overzicht van je Proxmox-cluster, inclusief de status van je nodes, virtuele machines, containers en opslag.
  • Virtuele machines: Creëer, start, stop, migreer en kloon virtuele machines met gemak.
  • Containers (LXC): Maak lichtgewicht containers voor specifieke taken of applicaties.
  • Opslag: Beheer je opslagpools, maak snapshots van virtuele machines en containers, en herstel gegevens indien nodig.
  • Netwerken: Configureer virtuele netwerken en bridges om je virtuele machines en containers met elkaar en met het internet te verbinden.
  • Firewall: Beveilig je virtuele machines en containers met de ingebouwde firewall.
  • High Availability (HA): Zorg voor maximale uptime van je kritieke virtuele machines met behulp van High Availability.
  • Back-ups: Maak back-ups van je virtuele machines en containers om gegevensverlies te voorkomen.

Extra handigheidjes:

  • CLI (Command Line Interface): Gebruik de krachtige CLI voor geavanceerde configuratie en beheer.
  • Templates: Maak templates van je virtuele machines om snel nieuwe exemplaren te creëren.
  • Monitoring: Houd de prestaties van je virtuele machines en containers in de gaten met behulp van de ingebouwde monitoringtools.
  • Documentatie: Raadpleeg de uitgebreide Proxmox VE documentatie voor gedetailleerde informatie en instructies.

Waarom?

Zo kan je meerdere verschillende besturingssystemen (linux, windows, mac...) draaien naast elkaar. De ene serverapplicatie bots niet met een andere onder hetzelfde besturingssysteem. Zo mag bv je videobewakingserver de schijf laten vol lopen, zonder dat je domoticaserver er last van heeft. Als je updates uitvoert op je dataserver, blijft je firewall lustig verder werken. 

Werking

Net als alle software tracht ik zaken te vinden waarvoor je geen super ingewikkelde zaken moet hebben. Voor proxmox te benaderen, volstaat een gewone webbrowser. Open de juiste link met de juiste poort (bv http://192.168.3.25:8006), log in met bv 'root'/'password', en je zou het dashboard moeten krijgen. Hier zie je de voornaamste statieken van je machine.

 Het belangrijkste hier is misschien wel de linkerkolom. Daar zie je al je servers (zowel hardware als virtueel). 

Klik maar es op een virtuele server in de linker kolom, dan krijg je statistieken te zien van deze machine. Bovenaan rechts zie je knoppen waarmee je de server kan starten/stoppen... In de 2de linkermenu zie je verschillende zaken zoals hoveel geheugen eraan toegekend is ed.

In het 2de menuutje zie je ook een item 'Console' staan. Hiermee neem je als het ware het scherm over van deze server. Net alsof je daadwerkelijk achter een klavier/scherm/... zou zitten.

Iets dieper

Virtuele Machines

Om een virtuele server te beheren, kan je volgende handelingen uitvoeren:

  1. Open met een webbrowser (bv Google Chrome) de beheerspagina van proxmox
    > http://IP-adresVanJeServer:8006 
    (bv https://192.168.0.200:8006).

  2.  Ga in het linkermenu naar de juiste virtuele server.
    atacenter > KVM > VirtueleServerA

  3.  In de midden kan je verschillende waarden aflezen.
    Zoals bv de status, het CPU gebruik, het geheugen, het...

  4. Bovenaan zie je nu de mogelijkheden.
    Je kan 'start' klikken als de server gestopt is.
    Je kan 'shutdown' of 'reboot' klikken als de server actief is.

  5. In de middenste kolom kan je kiezen voor 'console'.
    Dan kan je werken alsof je rechtstreeks op die server aan het werken bent.

CLI (Command line Interface)

Linux werkt voornamelijk via CLI. De reden hiervoor is dat er minder 'overhead' is van grafische toeters en bellen. Om in deze CLI te geraken, moet je eigenlijk een  SSH-connectie opzetten naar deze server. Dit kan je doen met programma's zoals SecureCRT, PUTTY (gratis)...
Maar als je Proxmox gebruikt, is een makkelijkere en sneller manier om hier te geraken.

  1. 1. Open een websessie naar je Proxmox Server
    http://...
  2. Ga vervolgens naar de juiste virtuele machine (of proxmox zelf)
    Datacenter > proxmox > VirtueleServerA
  3. Kies in het 'middenste' menu voor '>_ Console'

Enig nadeeltje is dat copy/paste niet altijd correct reageert, hangt af van je browser.

Enkele leuke commando's?

Performance CLI of proxmox

pveperf 

Show virtual machines

qm list

Start virtual machine

 qm start 222022

Stop virtual machine

 qm stop 222022

Updates

Om proxmox te upgraden, moet je eigenlijk betalen. Of anders alles volledig opnieuw installeren. Niet echt productief, dus is er een andere manier. Wel opletten, geen garantie dat het werkt, en het kan je server doen crashen. Dus backuppen is de boodschap!!!

    SSH into Proxmox

    cp /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-no-subscription.list

    Edit list:

        vi /etc/apt/sources.list.d/pve-no-subscription.list
        Original:   deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise
        New:        deb http://download.proxmox.com/debian/pve stretch pve-no-subscription

     apt-get update
     apt-get dist-upgrade (not apt-get upgrade!!!)

Clusters

De cluster van proxmox werkt met 'votes'. En je moet minimaal 2 votes hebben om je cluster draaiend te houden.
Hiervoor raad proxmox aan om 3 nodes in je cluster te hebben. Niet zo interessant qua hardware natuurlijk.

Ik had het probleem dat als server2 (klein desktopje) niet bereikbaar was, de cluster niet meer correct functioneerde. Ik kon bv geen VM's meer (her)starten, aanmaken...

De clustering werkt met 'corosync'. 
Ik heb gevonden dat onder /etc/corosync/corosync.conf je kan defineren wie wat moet doen.
Ik heb dan ook voor mijn grote server de votes van 1 op 2 gezet. In de hoop dat deze hieraan genoeg heeft om te beslissen dat hij rustig kan doordobberen.

Wel niet vergeten de corosync service te herstarten na aanpassingen...

Schijfruimte

Hoe je schijven vergroten?


df -h

fdisk /dev/sda
      n
      p
      X
      enter
      enter
      t
      X 
      8e
      w

fdisk -l
reboot
pvcreate /dev/sdaX
vgdisplay
vegextend XXX /dev/sdaX
pvscan
lvdisplay
lvextend /dev/XXX/root /dev/sdaX
xfs_growfs /dev/XXX/root
df -h

 

No Quorum

Indien de virtuele server niet wil opstarten, kan dit zijn door de cluster configuratie.
Deze foutmelding komt voor:

> no quorum

Lanceer dan volgende commando via shell interface van de hypervisor (proxmox):
 
> pvecm e 1

 

Om dit definitief te doen (niet aan te raden want dit druist in tegen een cluster setup), kan je in het bestandje /etc/pve/corosync.conf de votes op 2 zetten.

ps best dit doen via de GUI van proxmox (vervolgens cli van de hardware server), anders kan je problemen krijgen met de bestandsrechten

 

PID vs hostname

Bij proxmox kan het gebeuren dat een virtuele machine soms es explodeert qua geheugen/verbruik/...

Met volgende commando's kom je al een heel eind:

>top

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                      
    47706 root      20   0 11.126g 0.010t   9644 S 377.8  2.7   3670:52 kvm                                                                                                                                          
    42711 root      20   0 49.064g 0.047t   9420 S 127.8 12.7  62147:54 kvm                                                                                                                                          
     4369 root      20   0 33.165g 0.025t   9524 S  11.1  6.7  11641:48 kvm                                                                                                                                          
    28154 root      20   0 33.124g 0.031t   9344 S  11.1  8.5   2404:39 kvm                                                                                                                                          

Hier zie je bv dat PID 47706 nogal wat geheugen slikt...
Vervolgens zoek je welke machine dit is met de PID in ps:

>ps aux | grep 47706

    ps axu | grep 47706
    root     33569  0.0  0.0  12784   932 pts/0    S+   11:25   0:00 grep 47706
    root     47706 37.8  2.6 11666316 10514124 ?   Sl   Oct24 3672:44 /usr/bin/kvm -id 710 -name Doornroosje -chardev socket,id=qmp,path=/var/run/qemu-server/710.qmp,server,nowait -mon chardev=qmp,mode=control -chardev socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5 -mon chardev=qmp-event,mode=control -pidfile /var/run/qemu-server/710.pid -daemonize -smbios type=1,uuid=f28ed901-5160-42c1-82d3-259b3a01e609 -smp 8,sockets=2,cores=4,maxcpus=8 -nodefaults -boot menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg -vnc unix:/var/run/qemu-server/710.vnc,x509,password -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce -m 10240 -object memory-backend-ram,id=ram-node0,size=5120M -numa node,nodeid=0,cpus=0-3,memdev=ram-node0 -object memory-backend-ram,id=ram-node1,size=5120M -numa node,nodeid=1,cpus=4-7,memdev=ram-node1 -device pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e -device pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f -device piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2 -readconfig /usr/share/qemu-server/pve-usb.cfg -device usb-tablet,id=tablet,bus=uhci.0,port=1 -device usb-host,hostbus=1,hostport=1.4.1.3,id=usb0 -device usb-host,hostbus=1,hostport=1.4.4,id=usb1 -device VGA,id=vga,bus=pci.0,addr=

 

Je kan de maxima aanpassen via

> sysctl -w kernel.pid_max=500 

of 100, of 32768 (default), of ...