Wie ändere ich den Standardspeicherpool von libvirt?

12

Ich versuche, einen anderen Speicherpool auf KVM zu verwenden, um die virtuellen Festplatten meiner VMs und auch die ISOs der von mir verwendeten Betriebssysteme zu speichern.

Beispiel: Ich möchte das Verzeichnis, über /media/work/kvmdas gemountet wird /dev/sda5, als Standardspeicherpool für alle zukünftigen Situationen verwenden

Das Konfigurieren, Erstellen und Starten eines neuen Speicherpools ist ziemlich einfach, aber zumindest in Ubuntu spielt es keine Rolle, ob ich ISO aus einem anderen Speicherpool auswähle. Virtual Machine Manager verweist mich immer auf den Standardspeicher Pool ( /var/cache/libvirt) als Speicher, in dem die virtuellen Festplatten meiner VMs erstellt werden.

Wie kann ich das vermeiden?

ivanleoncz
quelle

Antworten:

26

Stellen Sie vor dem Ausführen der Schritte sicher, dass Sie diese Befehle als normaler Benutzer ausführen und dass Ihr Benutzer zur Gruppe "libvirtd" gehört.

Hier sind die folgenden Befehle, die ich verwendet habe:

Auflistung der aktuellen Pools:

$ virsh pool-list

Name                 State      Autostart 
-------------------------------------------
default              active     yes 

Pool zerstören:

$ virsh pool-destroy default
Pool default destroyed

Undefinierter Pool:

$ virsh pool-undefine default
Pool default has been undefined

Definieren eines neuen Pools mit dem Namen "Standard":

$ virsh pool-define-as --name default --type dir --target /media/work/kvm
Pool default defined

Legen Sie fest, dass der Pool gestartet werden soll, wenn libvirt-Dämonen gestartet werden:

$ virsh pool-autostart default
Pool default marked as autostarted

Pool starten:

$ virsh pool-start default
Pool default started

Überprüfen des Poolstatus:

$ virsh pool-list
Name                 State      Autostart 
-------------------------------------------
default              active     yes  

Ab sofort informiert Sie der Virtual Machine Manager beim Erstellen virtueller Maschinen darüber, dass die * .img-Datei (virtuelle Festplatte Ihrer VM) unter / media / work / kvm gespeichert wird.

ivanleoncz
quelle
3

Abgesehen von der obigen Antwort, die zeigt, wie es über die Befehlszeile gemacht wird, können Sie dies auch direkt über virt-manager ändern. Gehen Sie im Hauptfenster von virt-manager zum Menü 'Bearbeiten -> Hostdetails'. Wechseln Sie im angezeigten Dialogfeld zur Registerkarte "Speicher". Sie können jetzt den Standardspeicherpool löschen und einen neuen Speicherpool erstellen, um ihn zu ersetzen.

DanielB
quelle
Ich weiß nicht warum, Daniel, aber ich habe diese Lösung schon einmal ausprobiert und leider hat sie hier im Virtual Machine Manager (Ubuntu Trusty Tahr - 14.04) nicht funktioniert ...
ivanleoncz
2

Wenn Sie nur den Bildpfad ändern möchten, können Sie den Speicherpfad im defaultPool auch bearbeiten , indem Sie Folgendes ausführen:

$ virsh pool-edit default

Der obige Befehl öffnet die defaultPool-XML jetzt in einem Editor (vim / nano):

  1. Bearbeiten Sie den Pfad
  2. Speichern Sie die Änderungen und
  3. libvirtDienst neu starten
Junaid
quelle