Zurück
Einstellungen für Festplatten-Controller und Cache
Proxmox Festplatten-Controller und Cache
Diese Seite bietet Informationen zu festplattenbezogenen Einstellungen bei der Konfiguration virtueller Maschinen, einschließlich wichtiger Überlegungen und Vorsichtsmaßnahmen.
Über SCSI-Controller
Beim Erstellen einer neuen VM und der Auswahl eines SCSI-Controllers ist die Standardoption „VirtIO Single“. Dies bedeutet, dass, wenn mehrere virtuelle Festplatten erstellt werden (wie im nächsten Abschnitt beschrieben), diese alle so erscheinen, als wären sie mit diesem einzelnen Controller verbunden. Diese Konfiguration optimiert den Speicher- und Geräteverbrauch innerhalb der virtuellen Maschine.
Die Auswahl von „VirtIO SCSI“ ermöglicht es, jede virtuelle Festplatte einem separaten SCSI-Bus zuzuweisen, was zusätzlichen Treiberspeicher und Speicher erfordert. Allerdings kann die Verteilung von E/A-Operationen die Leistung bei bestimmten Workloads verbessern.
Andere Emulationen physischer SCSI-Karten werden generell nicht empfohlen.
Über Festplatten-Controller
IDE (auch als ATA bekannt) wurde 1988 eingeführt und gewährleistet Kompatibilität mit nahezu allen Betriebssystemen. Für Betriebssystemversionen, die vor 2003 veröffentlicht wurden, ist die Verwendung von IDE möglicherweise die beste Wahl. Während physisches IDE eine maximale Geschwindigkeit von 133 MB/s hatte, hat virtualisiertes IDE diese Einschränkung nicht, es sei denn, das Betriebssystem erzwingt sie. IDE unterstützt jedoch kein Hot-Swapping, was bedeutet, dass Geräte nicht entfernt werden können, während die VM läuft.
SATA ist für Betriebssystemversionen geeignet, die nach 2003 veröffentlicht wurden, und ist die kompatibelste Option für moderne Betriebssysteme. Physisch ist es eine Weiterentwicklung von IDE mit serieller Übertragung und bietet Geschwindigkeiten von bis zu 6 Gbps (ca. 600 MB/s). In einer virtualisierten Umgebung gibt es jedoch keine inhärenten Geschwindigkeitsbeschränkungen, es sei denn, sie werden vom Gast-Betriebssystem erzwungen.
VirtIO SCSI und VirtIO SCSI Single bieten den schnellsten Festplattenzugriff. Sie erfordern jedoch, dass das Gast-Betriebssystem paravirtualisierte Treiber hat. Wenn keine IDE/SATA-Festplatten vorhanden sind, schlägt der Installationsprozess des Betriebssystems fehl, es sei denn, der VirtIO SCSI-Treiber ist installiert. Linux-Distributionen enthalten diesen Treiber seit etwa 2012, FreeBSD seit 2014, und für Windows-Betriebssysteme muss während der Installation eine zusätzliche ISO-Datei mit VirtIO-Treibern bereitgestellt werden.
Über Festplatten-Cache
Die Einstellungen für den Festplatten-Cache stellen einen Kompromiss zwischen Datenintegrität und Leistung dar.
Funktion | writethrough | directsync | none | writeback | unsafe |
---|---|---|---|---|---|
Cache-Nutzung | Verwendet Seiten-Cache (vorteilhaft für Leseoperationen) | Verwendet keinen Cache | Verwendet keinen Cache | Verwendet Seiten-Cache | Verwendet Seiten-Cache |
fsync-Ausgabe | Bei jedem Schreiben ausgegeben | Bei jedem Schreiben ausgegeben | Nicht ausgegeben | Mit Verzögerung ausgegeben | Nicht ausgegeben |
Schreibprozess | Schreibt in den Cache und leert sofort auf die Festplatte | Schreibt direkt auf die Festplatte und leert sofort | Schreibt direkt auf die Festplatte ohne Leeren | Schreibt in den Cache und leert mit Verzögerung | Schreibt in den Cache ohne Leeren |
Leseleistung | Hoch (Cache-Nutzung) | Niedrig (festplattenabhängig) | Niedrig (festplattenabhängig) | Hoch (Cache-Nutzung) | Hoch (Cache-Nutzung) |
Schreibleistung | Mittel (Cache-unterstützt) | Niedrig (kein Cache) | Mittel (kein Cache) | Hoch (verzögertes Cache-Leeren) | Sehr hoch (verzögertes Cache-Leeren) |
Datenintegrität | Hoch | Sehr hoch | Mittel (festplattenabhängig) | Niedrig (verzögerte Schreibvorgänge) | Sehr niedrig (hohes Risiko für Datenverlust) |
Anwendungsfall | Systeme, die Leseleistung und Integrität priorisieren | Systeme, die maximale Datenintegrität erfordern | Leistungsorientierte Systeme mit moderaten Integritätsanforderungen | Schreibintensive Systeme, die Leistung und Integrität ausbalancieren | Leistungsorientierte Systeme, bei denen Datenverlust akzeptabel ist |
TRIM (Discard)
Der Discard-Befehl informiert das Speichersystem, dass bestimmte Blöcke nicht mehr benötigt werden.
Ursprünglich für die Verschleißausgleich von SSDs eingeführt, erfordern einige Betriebssysteme möglicherweise eine SSD-Emulation, um TRIM zu unterstützen. Über SSDs hinaus kann TRIM auch bei sicherem Löschen helfen, indem Verschlüsselungsschlüssel entfernt werden, anstatt Daten zu überschreiben.
In privaten Cloud-Umgebungen ermöglicht TRIM thin-provisionierten Speicher, Platz zurückzufordern. Normalerweise bleibt einmal von einer VM genutzter Speicher auf Speicherebene zugewiesen, selbst wenn die Daten gelöscht wurden.
fstrim -v /mountpoint
Für Echtzeit-TRIM-Operationen mounten Sie mit der discard-Option:
mount -o discard,remount /
IO-Thread
Das Aktivieren von IO-Threads in VirtIO SCSI lagert Schreiboperationen auf der Festplatte in einen separaten Thread vom Haupt-Betriebssystem-Thread aus.
Diese Konfiguration erfordert zusätzliche CPU-Ressourcen, reduziert jedoch die Latenz, insbesondere bei VMs mit mehreren virtuellen Festplatten, die gleichzeitige Lese-/Schreiboperationen verarbeiten.