ADMIN-Tipp: Hotplugging von Disks in KVM

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Um einer virtuellen Maschine neue Disks hinzuzufügen, muss man sie nicht herunterfahren.

Einer der vielen Vorteile der Virtualisierung ist, dass Administratoren bei der Änderung der (virtuellen) Hardware einer VM keine Servergehäuse aufschrauben oder Festplatten in Racks stecken müssen. Um zum Beispiel eine virtuelle KVM-Maschine auf Linux mit einer neuen Disk auszustatten, genügen ein paar einfache Schritte. Zuerst legen Sie mit "qemu-img" ein neues Image an:

qemu-img create disk2.img 50G

Nun binden Sie das Disk-File in die laufende virtuelle Maschine ein:

virsh attach-disk node2 /var/lib/libvirt/images/disk2.img vdb

Das letzte Argument ist der Device-Namen innerhalb der VM, der aber noch nicht belegt sein darf. Welche schon vergeben sind, stellen Sie auf dem Host-System beispielsweise so fest:

virsh dumpxml node2 | grep target

Alternativ zum obigen Aufruf bietet virsh auch das Kommando attach-device, das als Eingabe eine Beschreibung der Hardware im Libvirt-XML-Format erwartet, die etwa so aussieht:

    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/var/lib/libvirt/images/disk2.img'/>
      <target dev='vdb' bus='virtio'/>
    </disk>

Hier sehen Sie auch den virtuellen Bus für die neu angeschlossene Disk, nämlich Virtio für den effizienten paravirtualisierten Treiber.

Die virsh-Befehle kennen zusätzlich noch einige Schalter, die das Verhalten beeinflussen: "--live" ändert eine laufende Domain (Hot-Plugging), "--config" macht die Änderungen dauerhaft. "--persistent" vereint bei laufenden Domains beides, während es bei ausgeschalteten VMs natürlich nur die Konfiguration ändert. 

26.11.2015
KVM

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023