Speicherinterne RAM-Disks erstellen

Google Compute Engine-Instanzen verfügen über einen leistungsstarken Speicher der Unternehmensklasse für die Ausführung von Anwendungen. Sie können Teile des Speichers dazu nutzen, eine RAM-Disk mit außergewöhnlich geringer Latenz und hohem Durchsatz zu erstellen. RAM-Disks sind eine gute Wahl, wenn Anwendungen eine Dateisystemstruktur voraussetzen und Daten nicht einfach im Speicher abspeichern können. RAM-Disks bieten keine Speicherredundanz oder -flexibilität. Deshalb empfiehlt es sich, RAM-Disks in Verbindung mit anderen Speicheroptionen für Instanzen zu verwenden.

RAM-Disks teilen den Instanzspeicher mit Ihren Anwendungen. Falls Ihre Instanzen nicht genügend Speicher für die RAM-Disks und die Anwendungen haben, können Sie Instanzen mit Maschinentypen mit großem Speicher erstellen oder ein Upgrade Ihrer vorhandenen Instanzen durchführen, um Speicher hinzuzufügen.

Vorbereitung

RAM-Disks erstellen

Sie können eine RAM-Disk mit dem tmpfs-Tool erstellen, das standardmäßig auf zahlreichen Linux-Betriebssystemen installiert ist.

  1. Wenn Ihre Instanz nicht genügend verfügbaren Speicher hat, können Sie optional den Maschinentyp Ihrer Instanz ändern und einen Maschinentyp mit mehr Speicher auswählen.

  2. Stellen Sie eine Verbindung zu Ihrer Instanz über SSH her. Öffnen Sie für dieses Beispiel die Seite VM-Instanzen und klicken Sie neben der Instanz, für die Sie eine RAM-Disk hinzufügen möchten, auf SSH.

  3. Erstellen Sie einen Bereitstellungspunkt für eine RAM-Disk.

    $ sudo mkdir /mnt/ram-disk
    
  4. Erstellen Sie eine tmpfs-RAM-Disk und stellen Sie diese bereit. Für das Attribut size muss dabei ein Wert festgelegt werden, der Ihren Speicheranforderungen entspricht. Achten Sie dabei darauf, dass genügend Arbeitsspeicher für Ihre Anwendungen bereitsteht und nicht der gesamte verfügbare Speicher ausgelastet wird. In diesem Beispiel hat die Instanz den Maschinentyp n1-highmem-32 mit 208 GB Arbeitsspeicher, sodass eine RAM-Disk-Größe von 50g angemessen ist.

    $ sudo mount -t tmpfs -o size=50g tmpfs /mnt/ram-disk
    
  5. Fügen Sie die RAM-Disk in die Datei /etc/fstab ein, damit das Gerät automatisch bereitgestellt wird, wenn Sie die Instanz neu starten:

    $ echo 'tmpfs /mnt/ram-disk tmpfs nodev,nosuid,noexec,nodiratime,size=50G 0 0' | sudo tee -a /etc/fstab
    

RAM-Disks löschen

Die Bereitstellung einer tmpfs-RAM-Disk können Sie wie bei jedem anderem Datenträger aufheben. Dadurch werden die RAM-Disk und alle auf ihr gespeicherten Daten gelöscht. In diesem Beispiel entfernen Sie eine RAM-Disk, die unter /mnt/ram-disk bereitgestellt ist:

$ sudo umount /mnt/ram-disk

Automatische Sicherung der Daten auf der RAM-Disk vor Neustart einer Instanz durchführen

Damit die Daten der RAM-Disk bei einem Neustart nicht verloren gehen, können Sie eine RAM-Disk sichern, bevor Ihre Instanz neu gestartet wird. Sichern Sie Ihre Daten in einem nichtflüchtigen Speicher.

  1. Erstellen Sie einen nichtflüchtigen Speicher und stellen Sie diesen bereit, um ihn als Sicherungslaufwerk für Ihre RAM-Disk zu verwenden. Das Laufwerk muss genügend Speicherplatz für die Daten Ihrer RAM-Disk haben.

  2. Erstellen Sie ein Shutdown-Skript für die Instanz mit dem Befehl rsync, um die Daten der RAM-Disk auf das Sicherungslaufwerk zu kopieren. In diesem Beispiel fügen Sie mit dem gcloud-Tool die shutdown-script-Metadaten auf der Instanz hinzu, auf der die RAM-Disk unter /mnt/ram-disk und der nichtflüchtige Speicher unter /mnt/ram-disk-backup bereitgestellt wurde.

    gcloud compute instances add-metadata example-instance --metadata shutdown-script="#! /bin/bash
    rsync -a --delete --recursive --force /mnt/ram-disk/ /mnt/ram-disk-backup/
    EOF"
    
  3. Optional können Sie ein Startskript erstellen, das die Dateien bei einem Neustart der Instanz auf der RAM-Disk wiederherstellt. Verwenden Sie das gcloud-Tool, um die startup-script-Metadaten auf die Instanz zu übertragen.

    gcloud compute instances add-metadata example-instance --metadata startup-script="#! /bin/bash
    rsync -a --recursive --force /mnt/ram-disk-backup/ /mnt/ram-disk/
    EOF"
    
Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Compute Engine-Dokumentation