Product SiteDocumentation Site

4.2. Hinzufügen von Speichergeräten zum Gast

Dieser Abschnitt erläutert das Hinzufügen von Speichergeräten zu virtualisierten Gästen. Zusätzlicher Speicher kann erst hinzugefügt werden, nachdem die Gäste angelegt wurden. Unterstützte Speichergeräte und -protokolle sind u. a.:
Hinzufügen von dateibasiertem Speicher zum Gast.
Dateibasierter Speicher oder dateibasierte Container sind Dateien auf dem Host-Dateisystem, die als virtualisierte Festplatten für virtualisierte Gäste fungieren. Um einen dateibasierten Container hinzuzufügen, sind die folgenden Schritte nötig:
  1. Erzeugen Sie eine leere Container-Datei oder verwenden Sie eine bereits existierende Container-Datei (wie z. B. eine ISO-Datei).
    1. Erzeugen Sie mit Hilfe des dd-Befehls eine Sparse-Datei. Beachten Sie bitte, dass die Verwendung von Sparse-Dateien aufgrund von Integritäts- und Performance-Problemen nicht empfohlen wird. Sparse-Dateien sind schnell erzeugt und können zum Testen verwendet werden, sollten jedoch nicht im Produktionsumfeld eingesetzt werden.
      # dd if=/dev/zero of=/var/lib/libvirt/images/FileName.img bs=1M seek=4096 count=0
      
      
    2. Vorab zugewiesene Nicht-Sparse-Dateien werden empfohlen für dateibasierte Speicher-Container. Führen Sie folgenden Befehl aus, um eine Nicht-Sparse-Datei zu erzeugen:
      # dd if=/dev/zero of=/var/lib/libvirt/images/FileName.img bs=1M count=4096
      
      
    Beide Befehle erzeugen eine 400 MB große Datei, die als zusätzlicher Speicher für einen virtualisierten Gast genutzt werden kann.
  2. Erstellen Sie einen Speicherauszug der Gastkonfiguration. In diesem Beispiel heißt der Gast Guest1 und die Datei wird im Benutzerverzeichnis gespeichert.
    # virsh dumpxml Guest1 > ~/Guest1.xml
    
    
  3. Open the configuration file (Guest1.xml in this example) in a text editor. Find the entries starting with "disk=". This entry resembles:
    >disk type='file' device='disk'<
            >driver name='tap' type='aio'/<
            >source file='/var/lib/libvirt/images/Guest1.img'/<
            >target dev='xvda'/<
    >/disk<
    
    
  4. Fügen Sie den zusätzlichen Speicher hinzu, indem Sie das Ende des disk=-Eintrags ändern. Versichern Sie sich, dass Sie einen Gerätenamen für das virtuelle Blockgerät angeben, der noch nicht in der Konfigurationsdatei verwendet wird. Der folgende Beispieleintrag fügt eine Datei namens FileName.img als dateibasierten Speicher-Container hinzu:
    >disk type='file' device='disk'<
            >driver name='tap' type='aio'/<
            >source file='/var/lib/libvirt/images/Guest1.img'/<
            >target dev='xvda'/<
    >/disk<
    >disk type='file' device='disk'<
            >driver name='tap' type='aio'/<
    	>source file='/var/lib/libvirt/images/FileName.img'/<
            >target dev='hda'/<
    >/disk<
    
    
  5. Starten Sie den Gast neu unter Verwendung der aktualisierten XML-Konfigurationsdatei.
    # virsh create Guest1.xml
    
    
  6. Die folgenden Schritte sind spezifisch für einen Linux-Gast. Andere Betriebssysteme handhaben neue Speichergeräte auf andere Weise. Für Nicht-Linux-Systeme informieren Sie sich bitte in der Dokumentation Ihres Gast-Betriebssystems.
    Der Gast verwendet nun die Datei FileName.img als ein Gerät namens /dev/hdb. Dieses Gerät muss vom Gast formatiert werden. Partitionieren Sie das Gerät auf dem Gast in eine einzige Primärpartition für das gesamte Gerät, und formatieren Sie anschließend das Gerät.
    1. Wählen Sie n für eine neue Partition.
      # fdisk /dev/hdb
      Command (m for help):
      
      
    2. Wählen Sie p für eine Primärpartition.
      Command action
         e   extended
         p   primary partition (1-4)
      
      
    3. Wählen Sie eine verfügbare Partitonsnummer. In diesem Beispiel wird die erste Partition ausgewählt durch Eingabe von 1.
      Partition number (1-4): 1
      
    4. Übernehmen Sie den Standardwert für den ersten Zylinder durch Drücken der Eingabe-Taste.
      First cylinder (1-400, default 1):
      
      
    5. Wählen Sie die Größe der Partition. In diesem Beispiel wird die gesamte Festplatte zugewiesen durch Drücken der Eingabe-Taste.
      Last cylinder or +size or +sizeM or +sizeK (2-400, default 400):
      
      
    6. Stellen Sie den Partitionstyp ein durch die Eingabe t.
      Command (m for help): t
      
    7. Wählen Sie die Partition aus, die Sie im vorigen Schritt angelegt haben. In diesem Beispiel ist das die Partition 1.
      Partition number (1-4): 1
      
    8. Geben Sie 83 für eine Linux-Partition ein.
      Hex code (type L to list codes): 83
      
    9. Speichern Sie Ihre Änderungen und beenden.
      Command (m for help): w 
      Command (m for help): q
      
    10. Formatieren Sie die neue Partition mit dem ext3-Dateisystem.
      # mke2fs -j /dev/hdb
      
      
  7. Hängen Sie die Festplatte auf dem Gast ein.
    # mount /dev/hdb1 /myfiles
    
Der Gast besitzt nun ein zusätzliches, virtualisiertes, dateibasiertes Speichergerät.
Hinzufügen von Festplatten und anderen Blockgeräten zu einem Gast
System administrators use additional hard drives for to provide more storage space or to separate system data from user data. This procedure, Prozedur 4.1, „Hinzufügen physischer Blockgeräte zu virtualisierten Gästen“, describes how to add a hard drive on the host to a virtualized guest.
Dieses Verfahren funktioniert für alle physischen Blockgeräte einschließlich CD-ROM-, DVD- und Floppy-Laufwerke.
Prozedur 4.1. Hinzufügen physischer Blockgeräte zu virtualisierten Gästen
  1. Schließen Sie die Festplatte physisch an den Host an. Konfigurieren Sie den Host entsprechend, falls auf das Laufwerk nicht standardmäßig zugegriffen werden kann.
  2. Konfigurieren Sie das Gerät mit multipath und Persistenz auf dem Host, falls nötig.
  3. Führen Sie den virsh attach-Befehl aus. Ersetzen Sie dabei myguest durch den Namen Ihres Gasts, /dev/hdb1 durch das hinzuzufügende Gerät und hdc durch den Ort des Geräts auf dem Gast. hdc muss ein noch nicht verwendeter Gerätename sein. Nutzen Sie die hd*-Notation auch für Windows-Gäste, der Gast wird daraufhin das Gerät korrekt erkennen.
    Hängen Sie für CD-ROM- oder DVD-Geräte dem Befehl den Parameter --type hdd an.
    Hängen Sie für Floppy-Geräte dem Befehl den Parameter --type floppy an.
    # virsh attach-disk myguest /dev/hdb1 hdc --driver tap --mode readonly
    
    
  4. Der Gast besitzt nun ein neues Festplattengerät namens /dev/hdb unter Linux oder D: drive (oder ähnlich) unter Windows. Gegebenenfalls muss das Gerät noch formatiert werden.