Konsolenbefehle Proxmox Qemu-img

Festplatte kann nicht vergrößert werden, Fehlermeldung kommt das dieser Vorgang nicht supportet wird. Das heist so viel wie das ein Snapshot vor liegt. Snapshot löschen, dann kann man auch die Festplatte vergrößern. Problem: Snapshot im Webinterface gelöscht, wurde aber im Image nicht entfernt. In so einem Fall muss das Snapshot per qemu-img entfernt werden. Ein QM Befehl von ProxmoxCLI funtkioniert hier nicht mehr, da der Snapshot ja von der Config entfernt wurde. Snapshot eines Images anzeigen:

qemu-img snapshot -l /var/lib/vz/images/<VMID>/<vmid.qcow2
Snapshot list:
ID        TAG                 VM SIZE                DATE       VM CLOCK
1         vor_test1          0 2015-04-29 15:04:18   00:00:00.000

Snapeshot mit der ID 1 löschen:

qemu-img snapshot -d 1 /var/lib/vz/images/<VMID>/<vmid.qcow2

Weiters kann man sich noch genauere Infos des Images mit folgendem Befehl holen:

qemu-img info <image>

Ab und zu kommt es vor das wenn man ein Livesnapshot löscht (mit RAM), das der Löschvorgang ersichtlich im Webinterface nicht fertig wird. Wird er aber doch, da das Webinterface ja nur ein Schnittstelle zwischen den CMD Befehlen des Systems ist. Man sieht das in dem man unter der Storageeinheit (meist local) wo sich der Snapshot befand, dieser nicht mehr da ist. Weiters ist unter der VM der Snapshot bereits als „deleted“ gekennzeichnet. Den Prozess kann man dann getrost mit dem KLICK auf STOP beenden. Nun ist aber der Snapshoteintrag noch da, und man kann in dem Fall auch die Disks mit vorhandener Snapshotreferenz nicht vergrößern. Hierfür muss dieser „deleted“ Eintrag von der VMID.conf enfernt werden.

nano /var/lib/vz/images/<VMID>.conf

Dort einfach die Section mit dem Snapshot löschen und die Datei speichern. Nun ist VM natürlich noch gelocked. Diese kann man wieder mit einem einfachen

qm unlock <VMID>

ensperren.

Dies bedeutet das die VM von äusserlichen Einflüssen wie dem Administrator oder Scripts geschützt ist. Die VM wird immer automatisch gelocked wenn eine Aktion wie z.B. Sicherung, Snapshot oder andere Dinge ausgeführt werden. Ist die Aktion beendet, wird die VM wieder automatisch entsperrt. Das ist notwendig damit man sich nicht bei der Administration oder auch auf automatischen Vorgängen in die Quere kommt. Bleibt eine VM bei einen Fehler gesperrt, kann man sie vom Webinterface in der Rootkonsole (Shell) oder über SSH (Putty) wieder ensperren und für weitere Aktionen freigeben.

qm unlock <VMID>

Bleibt ein Backup hängen, aus was für einen Grund auch immer… z.B. Backupmedium voll oder nicht erreichbar, VM unexpected state… bleibt die VM gelockt, also auf Zugriff von VMkonfiguration (Start, Stop, usw.) gesperrt. Wenn wir davon ausgehen dass, das Backup hängen geblieben ist. Muss zuerst der Backupprozess beendet werden. HIerfür in der Taskliste des Proxmox Webinterface den Backupjob auswählen und auf Stop klicken. Jetzt die VM in der Konsole (Shell) des VM/PVE Hosts ensperren. Hierfür die VM-ID der Maschine verwenden. z.B.

qm unlock 100

Danach ist die VM wieder aktiv steuerbar.

Auf der Betroffenen Node folgende Dienste neu starten:

/etc/init.d/cman restart
/etc/init.d/pve-cluster restart