ZFS vs. Raw Disk zum Speichern von virtuellen Maschinen: Kompromisse

3424
Thoughtcraft

Hintergrund:

Ich plane, einen KVM einzurichten, um Windows und Linux auf derselben Workstation auszuführen, und ich bin mir nicht sicher, wie die Festplatten eingerichtet werden sollen. Ich verstehe, dass rohe Festplatten normalerweise die Leistung verbessern. Ich werde viel I / O-intensive Arbeit erledigen, daher ist die Leistung von entscheidender Bedeutung. Die Einrichtung, die ich vorhabe, erfordert jedoch eine Menge Arbeit, und ich möchte es nicht zweimal machen, wenn ich nicht muss. In meiner Erfahrung mit der Desktop-Virtualisierung mit Vbox und VMware Player habe ich mehrere Male durch beschädigte VM-Dateien gebrannt, die nicht booten konnten. Dies zieht mich zu einem Setup mit stabilem Schutz gegen Datenverfälschung und guten Wiederherstellungsfunktionen. Das zieht mich zu ZFS an.

Basierend auf diesen Benchmarks ist ZFS für den VM-Speicher besser als andere Dateisysteme, kann jedoch nicht mit dem Durchlauf von Rohplatten verglichen werden. http://www.ilsistemista.net/index.php/virtualization/47-zfs-btrfs-xfs-ext4-and-lvm-with-kvm-a-storage-performance-comparison.html

Meine Fragen:

  1. Wie läuft die Geschwindigkeit von VM-Dateien in einem ZFS-Pool im Vergleich zum Raw-Disk-Modus ab, insbesondere mit Winodws / NTFS als Gast?

  2. Wenn Sie eine Dual-OS-Workstation bauen, wie würden Sie die Vorzüge dieser beiden Setups abwägen?

  3. Gibt es etwas Wichtiges in diesem Zusammenhang, das ich nicht in Betracht ziehe?

Die zwei Einstellungen, die ich erwäge:

3
Verwandte Themen: [Welche Auswirkungen hat die Ausführung von VMs auf einem ZFS-Host auf die Leistung?] (Https://serverfault.com/q/532272/58408) in [sf]. a CVn vor 7 Jahren 0

1 Antwort auf die Frage

4
Horn OK Please

ZFS kann in folgenden Situationen (viel) schneller oder sicherer sein:

  • Wenn Sie beabsichtigen, eine andere Software-RAID- oder Bios-RAID-Lösung zu verwenden (z. B. keine dedizierte Hardware mit einem relativ leistungsstarken integrierten RAID-Prozessor, erheblicher DRAM-Cache usw.), bietet ZFS das leistungsfähigste Software-RAID

  • Wenn Ihre spezielle Workload wesentlich mehr von dem Adaptive Replacement Cache- Algorithmus profitiert, den ZFS verwendet, im Vergleich zum Cache-Algorithmus " Zuletzt verwendet", der von anderen Dateisystemen (und rohen Plattenblöcken) verwendet wird. Es gab Diskussionen über die Verwendung von ARC oder eines ähnlichen Algorithmus anstelle von LRU im Linux-Kernel, aber ich bin mir nicht sicher, ob jemals etwas daraus hervorging .

  • Wenn Sie das einzigartige RAIDz von ZFS anstelle von Software-RAID-5 verwenden möchten, um das Problem mit dem Schreibloch zu lösen.

  • Wenn Sie eine Tiered Storage-Lösung einrichten möchten, bei der sich schnellere Laufwerke (normalerweise SSDs) vor Ihren langsameren Festplatten mit hoher Kapazität befinden. ZFS eignet sich am besten dafür, da Sie L2ARC und / oder ZIL erhalten, was auf eine Schicht aus Lese- und Schreib-Caching hinausläuft , die Ihnen eine Leistung verleiht, die sich "SSD-artig" anfühlt, während Sie von der gesamten verfügbaren Speicherkapazität Ihrer größeren Festplatten profitieren. Beispiel: 2 x 6-TB-HDDs in RAID-1 mit 2 x 250 GB großen SSDs vor sich, deren Aufteilung zwischen L2ARC und ZIL aufgeteilt ist.

  • Wenn das Dateisystem, das Sie in ein ZVOL oder eine Datei in ZFS einfügen, keine (effiziente) verlustfreie Komprimierung der Blockschicht unterstützt. LZ4 ist schnell und kann sehr viel Speicherplatz einsparen. Wenn Ihr Dateisystem einen minderwertigen Algorithmus verwendet (langsamere oder schlechtere Komprimierungsrate oder beides), kann es vorteilhaft sein, LZ4 in der ZFS-Schicht anstelle des internen Dateisystems zu verwenden.

Ich würde auch empfehlen, dass Sie ein ZVOL anstelle eines "Dateisystems in einer Datei" verwenden, um Ihre VMs zu speichern.

Entweder das oder verwenden Sie direkt ein Dataset (dies ist das effizienteste), wenn Ihre VM Linux ist und ein ZFS-Dataset direkt verwendet werden kann.

Ich würde hinzufügen, dass Sie, wenn Sie sich um die E / A-Leistung sorgen, immer schnellere Festplatten und / oder Festplattencontroller kaufen können, es sei denn, Sie verwenden bereits die schnellsten SSDs mit den besten Controllern, die Sie finden können. Andrew Henle vor 7 Jahren 0
Ein ZFS-Pool hat immer ein ZIL (ZFS Intent Log). worauf Sie sich beziehen, ist ein SLOG-Gerät. Bei Pools mit vielen synchronen Schreibvorgängen (die eine gute Möglichkeit zum Einrichten von VM-Festplattenspeicher bieten) kann es möglich sein, die ZIL über ein SLOG-Gerät (im Idealfall eine schnelle SSD, gespiegelt, wenn Sie möchten) auf ein schnelleres Gerät zu setzen gute Möglichkeit, die Leistung zu steigern. a CVn vor 7 Jahren 3