Virtualbox

Alle Kommandozeilen Befehle als User "vbox" (mit sudo) durchführen, nicht als root. Grund: Beim Starten einer vm als Root werden VM-Daten mit root Rechten angelegt, die anschliessend für den vbox User nicht mehr editierbar sind. Das führt zu Fehlermeldungen und nicht startbaren VMs, u.a. in der phpvirtualbox Oberfläche.

Laufende VMs und Platten auflisten

vboxmanage list vms
"TestVM" {ad1a008e-52ed-4f55-9642-3fcd328f1910} "www.netzwissen.de" {9eb328b0-ff15-4453-b17e-fad1e10029c7}

Details einer bestimmten VM zeigen:

vboxmanage showvminfo www.netzwissen.de

Festplatten auflisten (alle VMs)

VBoxManage list hdds

Details einer bestimmten HDD auflisten:

vbox@tarapiroe:/mnt/vbox/VirtualBox VMs/miteinander-esslingen.de$
VBoxManage showmediuminfo disk fluechtlinge-esslingen.de2b.vdi
UUID: 252b4e07-1eb4-4f41-b256-7655b2b37788 Parent UUID: base State: created Type: normal (base) Location: /mnt/vbox/VirtualBox VMs/miteinander-esslingen.de/fluechtlinge-esslingen.de2b.vdi Storage format: VDI Format variant: dynamic default Capacity: 20480 MBytes Size on disk: 13590 MBytes Encryption: disabled In use by VMs: miteinander-esslingen.de (UUID: a884b3e1-ee26-4122-9738-de3c8ee7008a)

Festplatten Registrierung aufheben

VBoxManage closemedium [disk|dvd|floppy] [–delete]

VMs starten und beenden

Runterfahren zum Backup

(entspricht einem Freeze, kein "echtes" Runterfahren). Keine Änderungen an der VM Konfiguration möglich.

vboxmanage controlvm [vm name] savestate

Pausieren

VBoxManage controlvm <vm> pause

Weitermachen

VBoxManage controlvm <vm> resume

Harter Reset

VBoxManage controlvm <vm> reset

Normaler Shutdown (echtes Runterfahren ohne savestate)

VBoxManage controlvm <vm> acpipowerbutton

Harter Shutdown (Strom weg):

VBoxManage controlvm <vm> poweroff

Starten (ohne GUI)

vboxmanage startvm [vm name] –type headless

VM Autostart

vboxmanage modifyvm TestVM –autostart-enabled on

*.vdi mounten

siehe auch https://www.schnatterente.net/software/virtualbox-vdi-image-in-linux-mounten

Wir brauchen ein VirtualBox Disk Image (VDI), fdisk, QEMU und einen Linux-Kernel, der Network Block Devices (NBD) sowie Virtualisierung (Kernel-based Virtual Machine = KVM) unterstützt.

Ggf. QEMU nachinstallieren mit apt install qemu-system-x86

Modul in den Kernel landen laden

modprobe nbd

Danach das vdi Image reinladen

qemu-nbd -c /dev/nbd0 /mnt/vbox/VirtualBox VMs/www.netzwissen.de/www.netzwissen.de.vdi

Mit fdisk sieht man die Partitionstabelle

fdisk -l /dev/nbd0

Wir sehen, dass fdisk alle vorhandenen Partitionen auflistet und ihnen auch ein Gerät zuordnet. Das Verwirrende ist nun, dass es die Geräte-Dateien /dev/nbd0pX nicht gibt. Wir haben nur Zugriff auf /dev/nbd0. Um dennoch eine Partition einhängen zu können, behelfen wir uns daher mit einem Trick. Wir geben beim Mounten den Beginn der jeweiligen Partition als Offset an und benutzen als Gerät einfach die Festplatte /dev/nbd0 (und eben nicht die spezifische Partition).

mount -o offset=**1048576** /dev/nbd0 /mnt/vdi/

Damit ist die erste Partition der Festplatte in /mnt/vdi/ eingehängt. Nun fragt ihr euch sicher, woher die Zahl 1048576 kommt. Dabei handelt es sich um das Produkt der Blockgröße (512 Byte) und des Anfangs der zu mountenden Partition auf der Festplatte (2048). Man muss also den Offset richtig setzen:

fdisk -l /dev/nbd0
Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x000e0051 Device Boot Start End Sectors Size Id Type /dev/nbd0p1 * 2048 499711 497664 243M 83 Linux /dev/nbd0p2 501758 117438463 116936706 55.8G 5 Extended /dev/nbd0p5 501760 117438463 116936704 55.8G 8e Linux LVM

Mount z.B. für die dritte Partition mit -o (512 x 501760) :

mount -o offset=256901120 -t ext4 /dev/nbd0 /mnt/vdi1

Achtung:qemu-nbd muss wieder disconnected werden, sonst bleibt ein file handle auf der Datei hängen:

root@tarapiroe /mnt/vbox/VirtualBox VMs/ffes.netzwissen.de # qemu-nbd -d /dev/nbd0
/dev/nbd0 disconnected

xxx

Konvertierung von Virtualbox nach KVM

*.vdi files kann man direkt in das KVM Format (qcow2) konvertieren:

qemu-img convert -f vdi -O qcow2 ffes.netzwissen.de/ffes.vdi /mnt/backup/vboxtokvm/ffes.qcow2