HowTo: Proxmox-Server überprovisioniert?

Hallo.
Ich habe mich schon länger gefragt, ob man auf einem Proxmox-Server mit einem Blick sehen kann, ob er in Sachen vCPUs oder auch RAM (was nach der Richtigstellung von Thomas (s. unten) viel kritischer ist als vCPUs!) überprovisioniert wurde oder nicht.

Passend dazu auch:

Da mir mit Bordmitteln kein solcher Weg bekannt ist, habe ich nun ein eigenes kleines Script gebastelt, das genau das liefert: Es schaut nach, wie viele vCPUs und wie viel RAM für die einzelnen VMs vergeben wurden und spuckt diese Infos in einer CSV-Tabelle wieder aus.

Natürlich kenne ich den Befehl qm list , der fast das gleiche macht … aber eben nur fast. Vielleicht kann das ja auch jemand von Euch gebrauchen … Verbesserungsvorschläge jederzeit gerne.
Viele Grüße,
Michael

cat PVE_ueberprovisioniert.sh 

#!/bin/bash
# Dieses Script ist für Proxmox gedacht und sorgt dafür, dass von allen eingerichteten VMs auf
# einem Proxmox-Server die .conf-Dateien eingelesen werden. Herausgefiltert werden jeweils nur
# die Angaben Status: running/stopped; RAM; Cores und Sockets
# Die Angaben werden direkt wieder ausgegeben und können anschließend mit LibreOffice-Calc
# weiter untersucht werden, um eine Überprovisionierung bzgl. RAM oder vCPUs herausfinden zu können.
VER='1.0'
conf=/etc/pve/nodes/pve/qemu-server    <<<  diesen Pfad an den eigenen Server anpassen!
cd $conf

echo "VMID;Name;Status;RAM;Cores;Sockets;" 
while read vm  
do
#echo $vm
id=$(echo $vm|awk -F. '{printf $1}')
echo -n $id";"
#echo "Name"
grep -m 1 name: $vm |awk -F: '{printf $2";"}'
#echo "Status"
qm status $id |awk -F: '{printf $2";"}'
#echo "RAM"
grep -m 1 memory $vm |awk -F: '{printf $2";"}'
#echo "Cores"
grep -m 1 cores $vm |awk -F: '{printf $2";"}'
#echo "Sockets"
grep -m 1 sockets $vm |awk -F: '{printf $2";"} END {print ""}'
done < <(ls -N |grep .conf)

Diese Ausgabe kann man mit copy & paste und Trennzeichen ist ; in das angehängte LibreOffice-Sheet kopieren. Dann hat man einen Überblick, ob und wie stark der Server in Sachen vCPUs (versehentlich) überprovisioniert wurde.

vCPUs_ueberprovisioniert.ods (25,7 KB)

Hallo Michael,

also an sich ist es eher umgekehrt: CPU kann unkritisch überprovisioniert werden, RAM auf gar keinen Fall.

Bei überprovisionierter CPU wird im Zweifel das Processing einfach langsam. Hast Du RAM überprovisionierst, kann es passieren, dass dir die VMs auf dem Hypervisor einfach „absterben“, wenn die Auslastung zu hoch wird und der Hypervisor einer VM gerade mal den RAM abzieht (das ist dann quasi, wie im laufenden Betrieb einen RAM-Riegel rausziehen) um ihn einer anderen VM zuzuweisen. Dann läuft die VM zwar noch im Hypervisor, aber faktisch ist sie tot.

Also keine Gute Idee…

VG
Thomas

Ok – wie gut, dass das Script einfach beides auswertet…

Hallo Michael,

mir gehts eher um deine grundfalsche Aussage, RAM überzuprovisionieren sei unkritisch,…im Gegenteil…das löst ein Ticket direkt in die Hölle.

VG
Thomas

hab’s oben korrigiert – zufrieden?

1 „Gefällt mir“