Mehr Performance: Daten von VMs direkt im Arbeitsspeicher ablegen So integrieren Sie Proxmox-VMs ins RAM

Von Thomas Joos 4 min Lesedauer

Anbieter zum Thema

Proxmox ermöglicht es, dass VMs oder einzelne virtuelle Festplatten komplett im Arbeitsspeicher betrieben werden. Das ist für Szenarien sinnvoll, bei denen es nicht um Datensicherheit, sondern um maximale Leistung geht. Der Beitrag klärt auf, wie das geht.

Unter Proxmox-Hosts können ganze VMs oder einzelne virtuelle Festplatten ins RAM des Hosts verschoben werden – mit enormen Performance-Gewinnen.(Bild:  Joos - Proxmox Server Solutions)
Unter Proxmox-Hosts können ganze VMs oder einzelne virtuelle Festplatten ins RAM des Hosts verschoben werden – mit enormen Performance-Gewinnen.
(Bild: Joos - Proxmox Server Solutions)

Wenn ein Proxmox-Host über genügend RAM verfügt, ist es möglich, den Betrieb von VMs komplett oder nur einzelne virtuelle Festplatten von VMs in den Arbeitsspeicher auszulagern. Hierfür kommt eine RAM-Disk zum Einsatz, über welche die Speicherung der Daten in den Arbeitsspeicher erfolgt. Natürlich gehen bei einem Neustart des Hosts die Daten verloren, die nicht auf einem realen Datenträger gespeichert sind. Um aber für eine VM maximale Leistung zu erzielen, kann eine solche RAM-Speicherung in verschiedenen Szenarien durchaus sinnvoll sein.

RAM-Disk: Das sind Vor- und Nachteile

Die Speicherung einer virtuellen Maschine (VM) vollständig in einer RAM-Disk bietet signifikante Performance-Vorteile, da der Arbeitsspeicher deutlich schnellere Lese- und Schreibzugriffe ermöglicht als herkömmliche Festplatten oder SSDs. Dies kann insbesondere in Szenarien von Vorteil sein, in denen extrem schnelle Datenzugriffe erforderlich sind, wie etwa bei datenintensiven Anwendungen oder Testumgebungen, in denen I/O-Engpässe minimiert werden sollen aber auch beim Kompilieren. Zudem entfallen die Latenzen, die durch herkömmliche Speicherlösungen entstehen, was zu einer insgesamt flüssigeren Systemperformance führt.

Bildergalerie
Bildergalerie mit 7 Bildern

Allerdings gibt es auch wesentliche Nachteile. Der offensichtlichste ist die Volatilität des Arbeitsspeichers: Bei einem Stromausfall oder Systemneustart gehen alle Daten in der RAM-Disk unwiederbringlich verloren, sofern sie nicht rechtzeitig auf persistenten Speicher gesichert wurden. Dies macht diese Lösung für produktive Umgebungen, in denen Datensicherheit und -integrität von hoher Bedeutung sind, teilweise ungeeignet. Dieser Nachteil lässt sich aber durch das Erstellen von Snapshots oder Replizierung von der RAM-Disk auf einen anderen Datenträger abfangen.

Proxmox für RAM-Disks vorbereiten

Die Umstellung einer vorhandenen VM auf die Nutzung einer RAM-Disk geht jederzeit nach der Erstellung, und die Vorgänge lassen sich auch wieder rückgängig machen. In den Einstellungen einer VM sind bei "Hardware" über "Laufwerk" die Laufwerke und deren Speicherorte zu sehen. Ein solcher Speicherort lässt sich jederzeit in eine RAM-Disk aber auch wieder in die andere Richtung auf eine SSD verschieben. Um eine RAM-Disk auf Proxmox zu erstellen, verbindet man sich entweder per SSH oder nutzt die Shell des Servers. Ein Beispielbefehl sieht folgendermaßen aus:

mount -t tmpfs -o size=12G ramdisk /tmp/ramdisk

Der Befehl dient dazu, ein temporäres Dateisystem im Arbeitsspeicher zu erstellen und es in das Verzeichnis "/tmp/ramdisk" einzuhängen. Dabei gibt der Parameter "-t tmpfs" an, dass das Dateisystem vom Typ "tmpfs" sein soll, was bedeutet, dass es direkt im Arbeitsspeicher liegt. Der Schalter "-o size=12G" legt die maximale Größe dieses Dateisystems auf 12 Gigabyte fest. Der Name "ramdisk" ist hier rein symbolisch und dient als Identifikation des tmpfs. Durch diesen Befehl wird im Verzeichnis "/tmp/ramdisk" ein sehr schnelles Dateisystem bereitgestellt, dessen Daten jedoch nur flüchtig gespeichert werden, da sie bei einem Neustart des Systems oder einem Unmount des Dateisystems verloren gehen. Das "tmpfs" nutzt das verfügbare RAM effizient und kann bei Bedarf auf Swap-Speicher zurückgreifen, um die angegebene Größe zu erreichen, was jedoch die Geschwindigkeit beeinflussen kann.

Natürlich muss die Größe der RAM-Disk so angelegt sein, dass der Datenträger der Proxmox-VM reinpasst. Und natürlich muss auch auf dem Host noch genügend Arbeitsspeicher für die anderen VMs zur Verfügung stehen. Der Pfad muss vorher manuell angelegt werden. Mit "df -h" lassen sich die Bereiche anzeigen. Hier ist auch die neue RAM-Disk zu finden, da sie im System als Mount-Point vorhanden ist.

Über das Datacenter in Proxmox kann danach über "Storage -> Hinzufügen -> Verzeichnis" die RAM-Disk als Speicher für das System hinterlegt werden. Nach einem Klick auf "Hinzufügen" steht der Speicher mit der gewählten Bezeichnung bereit. Auf diesem Weg lässt sich der Arbeitsspeicher problemlos als Storage bereitstellen.-

Datenträger auf Proxmox-VM in RAM-Disk verschieben

Steht die RAM-Disk zur Verfügung, lassen sich einzelne oder alle Datenträger einer VM darauf auslagern. Das funktioniert auch im laufenden Betrieb. Dadurch steigt die Leistung der entsprechenden VM natürlich deutlich an. Das Verschieben des Datenträgers läuft wieder über den Bereich "Hardware -> Laufwerk" nach Auswahl von "Disk-Aktion -> Speicher verschieben". Hier stehen bei "Ziel-Storage" alle Speicher zur Verfügung, die zuvor in der Umgebung eingebunden wurden. Dazu gehört auch die RAM-Disk.

Mit "Laufwerk verschieben" wird die komplette virtuelle Festplatte in die RAM-Disk verschoben. Das lässt sich jederzeit wieder rückgängig machen. Durch die Option "Lösche Quelle" werden die Daten auf dem Quell-System dabei gelöscht. Der Vorgang dauert einige Zeit, sollte dann aber erfolgreich abgeschlossen werden. Das ist über "Task OK" im Fenster zu sehen. Bei "Hardware -> Laufwerk" ist danach der neue Speicherort zu sehen. Dabei handelt es sich um die RAM-Disk.

Wissen, was läuft

Täglich die wichtigsten Infos aus dem ITK-Markt

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

(ID:50201427)