Virtuelle Maschinen und TRIM

18

Obwohl die TRIM-Unterstützung eingeführt wurde, um die Funktionsweise von SSD zu verbessern, sollte sie auch die Optimierung virtueller Festplatten durch virtuelle Maschinen unterstützen (um beispielsweise zu wissen, welche Teile der virtuellen Festplatten keinen Speicher auf physischen Partitionen benötigen). Verwendet eine VM-Maschine TRIM auf diese Weise?

Liori
quelle

Antworten:

10

Virtualbox unterstützt TRIM seit Version 4.2

  • Speicher: Unterstützung für das Verwerfen nicht verwendeter Bildblöcke über TRIM für SATA und IDE und UNMAP für SCSI bei Verwendung von VDI-Bildern implementiert

Sie müssen die Optionen --nonrotational onund verwenden--discard on :

  • --discard

    Aktiviert die Auto-Discard-Funktion für virtuelle Festplatten. Dies gibt an, dass ein VDI-Image als Reaktion auf den Befehl trim vom Gastbetriebssystem verkleinert wird. Folgende Voraussetzungen müssen erfüllt sein:

    • Das Festplattenformat muss VDI sein.
    • Die Größe des freigegebenen Bereichs muss mindestens 1 MB betragen.
    • Oracle VM VirtualBox schneidet nur ganze 1-MB-Blöcke. Die VDIs selbst sind in 1-MB-Blöcken organisiert. Dies funktioniert also nur, wenn der zu trimmende Speicherplatz mindestens ein zusammenhängender 1-MB-Block an einer 1-MB-Grenze ist. Unter Windows kann eine gelegentliche Defragmentierung mit defrag.exe /Doder unter Linux, das btrfs filesystem defragals Hintergrund-Cron-Job ausgeführt wird, von Vorteil sein.

Weitere Informationen finden Sie in


Hyper-V kann auch VHD- und VHDX-Bilder verkleinern

Anwendungsfälle

  • ...
  • Consumer-VHD, bereitgestellt in einem dünn bereitgestellten SAN:

    Das VHD wird anfänglich auf einer minimalen Platte einer dünn bereitgestellten Umgebung montiert. Wenn Dateien in der VHD gespeichert werden, vergrößert sich der Speicherbedarf der VHD um ein Vielfaches. Wenn Dateien in der virtuellen Festplatte entfernt werden, ruft Hyper-V File_TRIM im zugrunde liegenden, dünn bereitgestellten SAN auf. Wenn die TRIMs größer als die SLAB-Granularität sind, kann das SAN jetzt ein SLAB entfernen und damit den Platzbedarf der virtuellen Festplatte in diesem SAN verringern.

Wenn sich die VHD auf einem Windows 8-basierten Server befindet, sendet das Speicheroptimierungsprogramm auch TRIMs, um den Platzbedarf der VHD innerhalb der gemounteten VHD zu verringern.

Mit der neuen API können Apps "TRIM" - und "Unmap" -Hinweise an Speichermedien senden

Siehe auch


VMware Workstation 10 behauptet, SSD-Passthrough zu unterstützen

  • SSD Pass-Through Windows 8 erkennt, wenn es von einem Solid-State-Laufwerk (SSD) ausgeführt wird, und optimiert sich für diese Hardware. In Workstation 10 kann das Gastbetriebssystem erkennen, wann die Festplattendatei der virtuellen Maschine auf einem SSD-Laufwerk gespeichert ist, und das Betriebssystem kann dieselben Optimierungen vornehmen, wenn es auf einer virtuellen Maschine ausgeführt wird

Versionshinweise zu VMware Workstation 10.0

Dies wird auch in den Festplattenanforderungen für Hostsysteme - Solid-State-Laufwerke des VMWare Workstation Pro-Dokumentationscenters erwähnt :

Wenn Ihr Host-Computer über ein physisches Solid-State-Laufwerk (SSD) verfügt, informiert der Host die Gastbetriebssysteme, die auf einer SSD ausgeführt werden.

Auf diese Weise können die Gastbetriebssysteme das Verhalten optimieren. Wie die virtuellen Maschinen SSD erkennen und diese Informationen verwenden, hängt vom Gastbetriebssystem und vom Festplattentyp der virtuellen Festplatte (SCSI, SATA oder IDE) ab.

Aus dem Text geht jedoch hervor, dass der TRIM-Befehl nur an die zugrunde liegende physische SSD übergeben wird, anstatt das VMDK-Image zu verkleinern

Andere VMware-Produkte wie vSphere und ESXi unterstützen ebenfalls TRIM, es ist jedoch noch unklar, ob sie es zum Verkleinern des Images verwenden oder nicht

F. Unterstützt VMware UNMAPs direkt vom Gastbetriebssystem in vSphere 6.0.

Ja. Die Ausgabe von UNMAPs direkt vom Gastbetriebssystem zur Speicherplatzrückgewinnung wird in vSphere 6.0 unterstützt.

F. Welche Voraussetzungen sind erforderlich, damit UNMAP ausgeführt werden kann?

Es gibt eine Reihe von Voraussetzungen, die erfüllt sein müssen. Diese sind:

  • VMDK muss mit Thin Provisioning ausgestattet sein
  • Hardwareversion der virtuellen Maschine muss 11 sein (ESXi 6.0)
  • Die erweiterte Einstellung EnableBlockDelete muss auf 1 gesetzt sein
  • Das Gastbetriebssystem muss in der Lage sein, die Festplatte als dünn zu identifizieren (Windows 2012 [aktualisiert am 30. Oktober 2015] verwendet dazu die Seite B2-Modus).

F. Funktioniert die Rückforderung nur für UNMAP? Was ist mit TRIM?

Dies ist eine "es kommt darauf an" Antwort. TRIM wird nur verwendet, wenn das zugrunde liegende Gerät eine SSD - Solid State Disk ist. Soweit ich weiß, wird der TRIM im E / A-Stapel in UNMAP konvertiert. Es gibt jedoch einige Probleme bei der Konvertierung von TRIM in UNMAP. UNMAP kann in VMFS an bestimmten Blockgrenzen ausgeführt werden, während für TRIM keine solchen Einschränkungen gelten. Bestimmte in UNMAPs konvertierte TRIMs können daher aufgrund von Blockausrichtungsproblemen fehlschlagen.

vSphere 6.0-Speicherfunktionen Teil 8: VAAI UNMAP-Änderungen

Siehe auch

phuclv
quelle
1
Ich glaube, VMware hat diesen Marketinganspruch aus zukünftigen Versionen entfernt, da er verkrüppelt war, da TRIM nicht unterstützt wurde. Siehe hier und hier
Tom Hale
1

Für die TRIM-Unterstützung sind genaue Kenntnisse der zugrunde liegenden Hardware erforderlich. Da virtuelle Maschinen ( VM Guests ) per Definition auf virtueller Hardware ausgeführt werden, sind ihnen die Details der Festplatte oder SSD, auf der sie sich befinden, nicht bekannt.

Wenn das VM Host- Betriebssystem TRIM versteht, sollte dies für alle VM Guests, die darauf ausgeführt werden, ausreichend sein.

Einige VM-Hosts können ein physisches Laufwerk "passieren" und es direkt auf einem VM-Gast auf dem Betriebssystem bereitstellen. Abhängig von der genauen Implementierung ist es theoretisch möglich, dass der Gast dann die TRIM-Funktion einer SSD unterstützt. Wie bei den meisten Dingen kann Ihr Kilometerstand variieren. Wenn er für Ihre Umgebung kritisch ist, sollten Sie ihn vor dem Festschreiben gründlich testen.

Stewartwb
quelle
1
Das einzige, was ich hinzufügen würde, ist, wenn die VM-Festplattendatei dynamisch ist, könnten Sie sie verkleinern, und der Host würde die SSD gegebenenfalls anweisen, die neu freigegebenen Sektoren zu kürzen. Dies kann das Schreiben von vm-Festplattendateien beschleunigen, da, wenn die Datei wächst, die vorhandenen Hostsektoren nicht geändert werden, neue / zugeschnittene Sektoren für das Schreiben des Gasts verwendet werden können. Normalerweise behebe ich die Größe meiner VM-Festplattendateien, um jedoch eine Fragmentierung der Festplatten zu verhindern. Mit SSDs würde ich wahrscheinlich dynamischer und periodischer schrumpfen.
Scott McClenning
2
-1. Sie vermissen die Tatsache, dass TRIM / unmap zum Verkleinern der VM-Image-Datei mit dynamischer Größe verwendet wird. Infolgedessen gibt das Host-Betriebssystem möglicherweise TRIM / Unmap für die zugrunde liegende Hardware aus. Dies ist ein wichtiger Bestandteil des Thin-Provisioning-Konzepts.
Rustyx
-1

TRIM wurde erfunden, weil das Schreiben auf eine SSD in 512-KByte-Blöcken erfolgen muss und es für das SSD-Laufwerk selbst nicht möglich ist, festzustellen, wie viel von einem Block von einer Datei oder von Dateien tatsächlich verwendet wird und vom Betriebssystem und dem Dateisystem kommuniziert werden muss.

Sehen

http://en.wikipedia.org/wiki/TRIM

BEARBEITEN:

Der Wiki-Link sagt es besser als ich könnte:

Der Befehl TRIM funktioniert nicht mit Datenträgern, die in Datenträgerabbilddateien gespeichert sind. Dies liegt daran, dass Computerdateien nur vollständig gelöscht oder am Ende abgeschnitten werden können. Dieses Problem betrifft Anwendungen wie virtuelle Festplattendienste, virtuelle Maschinen usw.

bot403
quelle
6
VM konnte Informationen darüber aufbewahren, welche Blöcke zur Verwendung gekürzt wurden, wenn der Benutzer das erneute Packen und Verkleinern virtueller Festplatten anforderte. VMWare verfügt derzeit über einen ähnlichen Vorgang, der jedoch ausgeführt wird, indem zunächst der gesamte freie Speicherplatz in der VM überschrieben wird.
Liori
6
Bei der Frage geht es nicht darum, eine TRIM-Operation auf der virtuellen Festplatte in eine TRIM-Operation auf der Host-Festplatte zu übersetzen. Wie Sie betonen, funktioniert es nicht so direkt. Bei der Frage geht es eindeutig darum, einen TRIM-Aufruf auf der virtuellen Festplatte in eine Verkürzung der Image-Datei auf der Host-Festplatte zu übersetzen (was im Übrigen wiederum einen TRIM-Vorgang auf der Host-Festplatte auslösen kann, bei der Frage geht es jedoch um den ersten Schritt).
Pascal Cuoq
1
Es gibt Ersatzteildateien , die ideal sein sollten, um als zuschneidbares Disk-Image für eine VM verwendet zu werden.
kein Benutzer