Warnung: Dieser Artikel ist eine stark vereinfachte und absolut unvollständige Ansicht von ZFS vs LVM aus der Sicht eines Benutzers. Ich bin mir sicher, LVM funktioniert für viele Leute großartig, aber für mich hat es gelutscht. Und ZFS vereinfacht mein Leben. Ehrlich. Hier ist der Grund.
Bereitstellung von Speicherplatz für virtuelle Maschinen
Ok, ich muss zugeben, dass meine Anforderungen irgendwie seltsam sind. Ich möchte eine Reihe virtueller Maschinen ausführen, ohne meine Festplatte neu zu partitionieren, zusätzliche Festplatten hinzuzufügen oder für gemeinsam genutzten Speicher zu bezahlen. Wir vermieten unsere Server und sie werden in einem weit entfernten Rechenzentrum gehostet. Das erneute Partitionieren von Festplatten ist mühsam, insbesondere wenn Sie keinen direkten Zugriff auf die Box haben. Sicher, Sie können Ihre Remote-Konsole verwenden, aber die Neuinstallation des Betriebssystems ist keine angenehme Erfahrung, wenn Sie die DVDs nicht in das Laufwerk eingeben können. Daher möchte ich Speicherplatz für virtuelle Maschinen (Xen-VMs unter Debian, Zonen unter OpenSolaris) mit den Funktionen meines geliebten Virtual Disk Managers bereitstellen.
Auf LVM habe ich Disk-Image-Dateien erstellt, Loopback gemountet und dann die Loop-Geräte zu LVM hinzugefügt. Die folgende Befehlsfolge war erforderlich, um eine virtuelle Festplatte für meine virtuellen Maschinen zu erstellen:
losetup /dev/loop0 my_disk.imgpvcreate /dev/loop0vgcreate vgmy_disk /dev/loop0
Auf ZFS ist der ganze Mist mit Disk-Images und Loopback-Geräten nicht erforderlich. Und außerdem ist es so viel einfacher, Speicherplatz bereitzustellen:
zfs create my_disk
Virtuellen Maschinen mehr Speicherplatz geben
Wenn ich meiner virtuellen Maschine mehr Speicherplatz hinzufügen möchte, lässt mich LVM mit der folgenden Befehlssequenz die Finger brechen:
Einfach, oder?
Jetzt die ZFS-Version:
zfs set quota=20G my_disk
Hmm, lassen Sie mich überlegen, welche ich bevorzuge…
Verschieben virtueller Festplatten auf andere Server
Wenn Sie eine virtuelle Festplatte (möglicherweise bestehend aus mehreren Festplatten-Images) in eine andere Box verschieben möchten, gibt es viel zu tun, als die Volumegroup zu deaktivieren vgchange -an ...
, unmounten der Loop-Geräte, Kopieren der Dateien, erneutes Mounten der Loop-Geräte, Scannen und erneutes Aktivieren der Volume-Gruppe (vgscan; vgchange -ay ...
).
In ZFS verwenden Sie einfach zfs send … / ssh newbox zfs receive … – das war’s.
Ich weiß, mein Ansatz mit Disk-Images war vielleicht die schlechteste und dümmste Idee aller Zeiten – aber es zeigt drastisch die Komplexität von LVM im Vergleich zu der Einfachheit von ZFS. LVM richtig verwendet könnte einfacher sein, aber ich bezweifle, dass es in der Nähe der Benutzerfreundlichkeit und Leistung von ZFS kommt. Oder haben Sie andere Erfahrungen? Teilen Sie sie mit uns in den Kommentaren. Lasst die Flammenkriege beginnen…