LVM Partition Resizing – Teil 2

Der erste Teil ist ja schon ziemlich alt. Aber jetzt muss ich doch mal den Teil 2 dazu verfassen. Der Teil ist aber nichts für schwache Nerven! Ich hatte das Problem, dass ich eine raw-Device einer KVM Maschine vergrößert hatte. Danach habe ich festgestellt, dass dort bereits 4 primäre Partitionen angelegt sind. Eine zweite Platte wollte ich aber nicht einhängen. Was nun?

Der „Trick“ ist einfach. Man löscht die letzte Partiton mit fdisk und legt sie mit dem identischen Start-Zylinder neu an. Unbedingt den identischen Start-Zylinder nehmen! Ansonsten war’s das mit den Daten! Danach kann man die entsprechende Partition mit pvresize vergrößern, dann das logical Volum mit lvextend und anschließend das Filesystem mit resizefs.

Also an 2 Stellen bei RAW-Devices aufpassen:

  1. Beim Vergrößern des Sparse Files die entgültige Größe angeben und nicht umwievil vergrößert wird. Und
  2. Beim Neuanlegen der Partition unbedingt den gleichen Start-Zylindern nehmen
VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Qemu Image mounten

Grr, hab mir mal wieder ein Qemu Image einer VM Platte mitgenommen und brauch jetzt Daten daraus. Was tun? Wie üblich habe ich keine Lust die ganze Platte zusammen mit der Systemkonfig über das Netz auf einen KVM Host zu kopieren und dort wieder zu booten. Daher hier der Weg, wie es sich lokal mounten lässt. Die einzige Voraussetzung ist dass man kpartx installiert hat. Also hier die Schritte:

  • Ohne LVM: Device-Maps erstellen
    sudo kpartx -l image.qemu

    Man bekommt dann sowas wie:

    loop0p1 : 0 401562 /dev/loop0 63
    loop0p2 : 0 39471705 /dev/loop0 401625
    loop0p3 : 0 2040255 /dev/loop0 39873330
    

    Das lässt sich dann einfach per mount einhängen.

  • Mit LVM:muss noch das LVM gescannt werden
    Nachdem die Partitionen in dem Qemu-Image bei mir ein LVM waren musste ich die erst mal lernen. Das geht wie folgt:

    sudo vgscan

    Was wiederum folgendes liefert:

    sudo lvs
      LV      VG   Attr   LSize  Origin Snap%  Move Log Copy%  Convert
      rootvol myvg -wi-a- 18,81g                                      
    

    Anschließend kann man das LVM ganz einfach mounten

     sudo mount /dev/myvg /mnt

BTW: Das geht natürlich auch mit Xen 😉

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

KVM auf paravirtualisierte Block-Devices umstellen (virtio)

Alte VMs sind oft ohne virtio installiert. Bei der Umstellung ändert sich bei der Netzwerkschnittstelle nur die Mac-Adresse (wenn es nicht konfiguriert ist), was eigentlich zu keinen Problemen führt, ausser dass man die Konfig innerhalb oder außerhalb der VM anpassen muss. Anders ist es beim Block-Device. Kennt der Kernel beim Booten kein virtio, so führt das schnell zur einer Kernelpanik. Verhindern lässt sich das indem man vor der Umstellung folgendes ausführt:

mkinitrd --with virtio_pci --with virtio_blk -f /boot/initrd-$(uname -r).img $(uname -r)

Anschließend reicht es die KVM Konfig wie folgt zu ändern/ergänzen:

    <disk type='file' device='disk'>
      <target dev='vda' bus='virtio'/>
    </disk>
    <interface type='bridge'>
      <model type='virtio' />
    </interface>
VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

KVM Image vergrößern

Ich bin sehr konservativ was Plattenplatz betrifft. Lieber lege ich wenig an und erweitere dann, als s zu viel brach herum liegen lassen. Daher muss ich immer wieder Images vergrößern. Ich schreib mir hier mal die paar Schritte auf:

  1. Image sichern:
    cp kvm-image.img kvm-image.img.backup
  2. Typ der Partition ermitteln:
    qemu-img info kvm-image.img 
     
    image: kvm-image.img
    file format: raw
    virtual size: 4.0G (4294967296 bytes)
    disk size: 3.7G
  3. Gegebenenfalls Typ umwandeln:
    Ist das Image kein raw Format, so konvertiert man es erst mal ins raw Format

    qemu-img convert -f qcow2 kvm-image.img -O raw kvm-image.raw
  4. Image vergrößern:
    Hier z.B. wird das Image auf 10GB (10240*1MB) erweitert:

    dd if=/dev/zero of=kvm-image.raw bs=1M count=0 seek=10240

Anschließend ist Platz für eine neue Partition. Und diese kann etwa ein bestehendes LVM wie hier beschrieben vergrößern.

VN:F [1.9.22_1171]
Rating: 8.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

AMD, KVM und General Protection Fault

Schon mal passiert und nie kann ich mich erinnern. Damit ich nicht noch ein mal suchen muss schreib ich mir das jetzt auf. Schmeißt eine VM unter KVM beim Booten ein General Protection Fault und bleibt dadurch mit einer Kernel Panic stehen, so hilft als Kernel Parameter nmi_watchdog=0. KVM emuliert irgendwelche MMR Register nicht, die für Performancemessungen benötigt werden. Daher knallt es. Eine andere Möglichkeit wäre noch nolapic mitzugeben. Übrigens ab dem Kernel 2.6.22.5 ist ein Workaround eingebaut.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

ConVirt goes 1.0!

ConVirt habe ich ja schon hier erwähnt. Jetzt ist die 1.0 veröffentlicht worden. Für alle möglichen Clients gibt’s fertige Pakete. So gehört sich das :D. Ich hab’s natürlich sofort installiert. Jetzt brauch ich nur noch Zeit es mal zu versuchen…

Also merke: ConVirt ausprobieren!

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

ConVirt

Nachdem ich oVirt schon etwas beobachte aber es immer noch keine absehbare Xen Unterstützung gibt, muss ich mir doch mal die Alternativen ansehen. Am weitesten ist da sicher ConVirt. ConVirt kann Xen und KVM, also ideal für meine Zukunft. Blöd ist nur, dass der Status der „Web based administration“ in ConVirt noch to be done ist. Zur Zeit geht „nur“ die Gnome-Oberfläche. Sieht aber ziemlich gut aus.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

oVirt oder da geht’s lang

ovirtVirtualisierung ist mit Sicherheit das Thema mit dem ich mich 2009 privat primär auseinander setzen werde. Bisher beschränkt sich meine Erfahrung auf VServer, Xen und VMWare. VServer nehme ich wenn’s einfach und schnell gehen muss. Xen war bisher die freie Alternative für komplexere Themen. VMWare ist die Profi Software.

VMware unterscheidet sich bisher von den freien Alternativen in der schieren Anzahl der Möglichkeiten. Meine VMs laufen auf meinem Notebook ganz simple unterwegs oder hochverfügbar mit VMotion auf einem ESX Cluster im RZ oder auch auf beliebiger Leihhardware an Veranstaltungen. Außerdem sind VMs unter VMware sehr sehr einfach ein zu richten. Man braucht etwa keine Linux Kenntnisse um eine neue Linux VM auf einem ESX Server hochverfügbar zum Laufen zu bringen. Alles geht über die sehr gute Administrationssoftware. Und genau da fehlt es noch bei den freien Alternativen. oVirt oder da geht’s lang weiterlesen

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)