2017-01-04 4 views
2

Nicht sicher, ob dies das richtige Forum ist. libvirt Seite hier verlinkt. Wenn dies an einem anderen Ort veröffentlicht werden muss, lassen Sie es mich wissen.virsh - Unterschied zwischen pool-define-as und pool-create-as

Was ist der Unterschied zwischen virsh pool-define-as und create-as? Wenn Sie die man-Seite für virsh lesen, scheint es, dass Sie Pool-Build und Pool-Start vermeiden müssen, wenn Sie create-as verwenden. Ist das der einzige Unterschied? Meine Tests zeigen an, dass beide vorhandene Dateien (im Fall von pool type dir) als Volumes abholen. Fehle ich irgendetwas?

Danke, Ashok

Antwort

1

Objekte in libvirt kann entweder vorübergehend oder persistent sein. Ein transientes Objekt existiert nur so lange, wie es ausgeführt wird, während ein persistentes Objekt die ganze Zeit existiert. Im Wesentlichen mit einem persistenten Objekt wird die XML-Konfiguration von libvirt in/etc/libvirt gespeichert.

Wenn Sie also bei Speicherpools 'virsh pool-define-as' verwenden, wird eine Konfigurationsdatei für einen persistenten Speicherpool erstellt. Sie können diesen Speicherpool später mit 'virsh pool-start' starten, ihn mit 'virsh pool-destroy' stoppen und später erneut starten oder ihn sogar so einstellen, dass er beim Booten des Hosts automatisch startet.

Wenn Sie einen transienten Speicherpool möchten, können Sie 'virsh pool-create-as' verwenden, der sofort einen Speicherpool startet, ohne die Konfiguration auf der Festplatte zu speichern. Dieser Speicherpool wird vollständig verschwinden, wenn Sie 'virsh pool-destory' ausführen (obwohl der eigentliche Speicher noch existiert, wird libvirt einfach nichts davon wissen). Mit einem transienten Speicherpool kann man es natürlich nicht automatisch beim Booten starten, da libvirt nichts über seine Konfiguration weiß.

Als allgemeine Regel werden die meisten Leute/Anwendungen persistente Pools verwenden wollen.

+0

Daniel, Danke. Gut zu wissen Objekte von "create-as" -Option sind vorübergehend. Es gibt auch einen Unterschied, dass eine der Optionen auf vorhandene Speicherkomponenten (wie LVM) zurückgreifen kann, während die andere versucht, die zugrunde liegenden Teile zu erstellen (beispielsweise mit LVM als Beispiel). ? Außerdem ist es legitim, eine transiente Objekt-XML-Definition in/etc/libvirt zu speichern und zu erwarten, dass sie bei Neustarts persistent ist. Vielen Dank. – thegrind

+0

Weder pool-create-as noch pool-define-as wirken sich auf den zugrunde liegenden Speicher aus. Sie werden beide nur vorhandenen Speicher erkennen, dh sie werden vorhandene LVs in einer LVM-Gruppe durchsuchen. Die "Pool-Build" -Operation ist die "gefährliche", da sie tatsächlich eine neue Volume-Gruppe von Grund auf neu formatiert. Und natürlich vol-create/vol-delete, die tun, was ihre Namen vorschlagen. Ja, können Sie einen vorhandenen transienten Pool in einem persistenten Pool drehen, indem Sie gerade tun 'virsh Pool-dumpxml foo> foo.xml && virsh Pool definieren foo.xml' – DanielB

+0

Auch ist es meine Hoffnung, dass eines Tages alle Von diesen großartigen Informationen, die hier und da geteilt werden, kann man von einem Ort aus zugreifen/oraganisieren/zusammenfassen (man page?). Stellen Sie sich die Fülle an maßgeblichen Informationen vor, die zentralisiert werden können und die Menge an Zeit sparen. Hätte mir auf jeden Fall einen Tag gerettet. Ich kann nur träumen, weil ich kein guter Coder bin :) – thegrind