Security ist ein stets aktuelles Thema in der IT. Deshalb widmet sich das ADMIN-Magazin 04/2012 speziell Sicherheitsaspekten und gibt Antworten auf die Fragen: ... (mehr)

Speicherpools

Die Libvirt-Werkzeuge, zu denen auch der Virtual Machine Manager zählt, verwenden zur Verwaltung von Datenträgern sogenannte Storage Pools. Im einfachsten Fall ist ein Speicherpool einfach ein Verzeichnis auf der lokalen Festplatte. Als Speicherpools kommen aber auch Virtual Groups (LVM), ganze Festplatten, iSCSI-Geräte sowie Netzwerkverzeichnisse infrage. Jeder Datenträger in einem Storage Pool wird in der Libvirt-Nomenklatur als 'Volume' bezeichnet.

Standardmäßig ist nach der Installation der Libvirt-Werkzeuge bereits ein Speicherpool mit dem Namen »default« eingerichtet. Dabei handelt es sich um das Verzeichnis »/var/lib/libvirt/images« . Wenn Sie Image-Dateien in einem anderen Verzeichnis speichern möchten, wählen Sie im Virtual Machine Manager »Bearbeiten | Verbindungsdetails« aus und aktivieren das Dialogblatt »Speicher« ( Abbildung 3 ). Mit dem Plus-Button können Sie nun weitere Speicherpools anlegen.

Abbildung 3: Einen neuen Speicherpool im Virtual Machine Manager einrichten.

In der Folge können Sie beim Einrichten neuer virtueller Maschinen angeben, in welchem Speicherpool der neue Datenträger gespeichert werden soll (Option »Verwalteten oder anderen Speicher wählen« ). Je nachdem, um welche Art von Speicherpool es sich handelt, legt der Virtual Machine Manager den neuen Datenträger als Image-Datei, als Logical Volume und so weiter an.

LVM

Sofern Sie auf dem Hostsystem LVM einsetzen, können Sie anstelle einer Image-Datei auch ein Logical Volume (LV) als virtuellen Datenträger verwenden. Der Hauptvorteil besteht darin, dass der Zugriff auf LVs ein wenig effizienter ist als bei Image-Dateien. Erwarten Sie aber keine Wunder: Bei meinen Benchmarktests betrugen die Geschwindigkeitsgewinne im Vergleich zu einem RAW-Image nur wenige Prozent.

Ein Speicherpool für Logical Volumes ist ganz einfach eine Volume Group (VG), die Sie zuerst mit dem Kommando »vgcreate« einrichten. Anschließend führen Sie im Virtual Machine Manager »Bearbeiten | Verbindungsdetails« aus und klicken im Dialogblatt »Speicher« auf den Plus-Button.

Im Assistenten »Einen neuen Speicherpool hinzufügen« wählen Sie im ersten Schritt den Typ »LVM Volume Group« aus. Im zweiten Schritt stehen im Eingabefeld »Zielpfad« die Device-Dateien der auf dem Hostrechner verfügbaren Volume Groups zur Auswahl. Das Feld »Quellpfad« bleibt leer. Die Option »Pool erzeugen« muss nicht aktiviert werden (die Volume Group existiert ja schon).

In der Liste der Speicherpools erscheint nun die gerade ausgewählte Volume Group. Bereits existierende Logical Volumes werden aufgelistet und können als Datenträger für virtuelle Maschinen benutzt werden. Mit »Neuer Datenträger« können Sie zudem direkt im Virtual Machine Manager neue LVs einrichten, ohne dafür auf das LVM-Kommando »lvcreate« zurückzugreifen. Achten Sie darauf, dass Sie im Virtual Machine Manager nur solche LVs für virtuelle Maschinen nutzen, die nicht auch im KVM-Host genutzt werden. Der parallele Zugriff auf ein Logical Volume durch eine virtuelle Maschine und den KVM-Host führt zu defekten Daten!

Es ist nicht weiter schwierig, eine RAW-Image-Datei in ein Logical Volume zu übertragen. (Image-Dateien in anderen Formaten müssen aber vorher in das RAW-Format umgewandelt werden.) Dazu ermitteln Sie mit »ls -l« die exakte Größe der Datei und erzeugen dann mit »lvcreate« ein LV in genau dieser Größe. Dabei müssen Sie das Suffix »b« verwenden, damit »lvcreate« die Größenangabe in Bytes interpretiert. Anschließend übertragen Sie den Inhalt der Image-Datei mit »dd« oder »cat« direkt in das Device des LV.

ls -l disk.raw
 ... 10485760000 ... disk.raw
lvcreate -L 10485760000b -n kvmdisk vg1
cat disk.raw > /dev/vg1/kvmdisk
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