Best Practices für Snapshots nichtflüchtiger Speicher

Sie können jederzeit Snapshots von nichtflüchtigen Speichern erstellen, mithilfe folgender Best Practices gelingt es Ihnen jedoch schneller und zuverlässiger:

Hinweise

Nichtflüchtigen Speicher für optimale Snapshot-Konsistenz vorbereiten

In den meisten Fällen können Sie von nichtflüchtigen Speichern selbst dann einen Snapshot mit guter Konsistenz erstellen, wenn Ihre Anwendungen gerade Daten auf diese Laufwerke schreiben. Die Qualität des Snapshots hängt von der Fähigkeit Ihrer Anwendungen ab, sich über Snapshots wiederherstellen zu lassen, die während hoher Schreibarbeitslasten erstellt wurden.

Wenn Ihre Anwendungen eine strenge Konsistenz erfordern, können Sie über zusätzliche Schritte sicherstellen, dass ein Snapshot mit dem gewünschten Zustand des nichtflüchtigen Speichers übereinstimmt.

Zwischenspeicher des Laufwerks vor einem Snapshot leeren

Sie können selbst dann Snapshots eines nichtflüchtigen Speichers erstellen, wenn Ihre Anwendungen gerade Daten auf das Laufwerk schreiben. Allerdings können Sie die Snapshot-Konsistenz verbessern, wenn Sie die Zwischenspeicher des Laufwerks leeren und Ihr Dateisystem synchronisieren, bevor Sie einen Snapshot erstellen.

Pausieren Sie alle Anwendungen oder Prozesse des Betriebssystems, die Daten in den nichtflüchtigen Speicher schreiben. Bevor Sie den Snapshot erstellen, leeren Sie zuerst die Zwischenspeicher des Laufwerks.

So bereiten Sie den nichtflüchtigen Speicher für einen Snapshot vor:

  1. Stellen Sie eine SSH-Verbindung zur Instanz her.
  2. Leeren Sie die Anwendungsdaten auf das Laufwerk. MySQL enthält zum Beispiel die Anweisung FLUSH. Verwenden Sie das für Ihre Anwendung verfügbare Tool.
  3. Beenden Sie das Schreiben von Daten auf den nichtflüchtigen Speicher durch Anwendungen.
  4. Führen Sie sudo sync aus.

Wenn Sie diesen Schritt überspringen, werden nur Daten in den Snapshot einbezogen, die von der Anwendung erfolgreich auf das Laufwerk geleert wurden. Für die Anwendung stellt sich dies wie ein plötzlicher Stromausfall dar.

Dateisystem einfrieren und trennen

Sie können das Dateisystem auch einfrieren oder trennen, bevor Sie einen Snapshot erstellen. Dies ist die zuverlässigste Methode, um sicherzustellen, dass die Zwischenspeicher des Laufwerks geleert sind. Sie ist jedoch nicht so praktisch wie das direkte Leeren der Zwischenspeicher des Laufwerks.

Trennen Sie den nichtflüchtigen Speicher vollständig, um sicherzustellen, dass während der Erstellung des Snapshots keine Daten in ihn geschrieben werden. In der Regel ist dies nicht nötig, verbessert aber die Konsistenz des Snapshots.

  1. Stellen Sie eine SSH-Verbindung zur Instanz her.
  2. Beenden Sie alle Anwendungen, die Daten aus dem nichtflüchtigen Speicher lesen oder in ihn schreiben.
  3. Frieren Sie entweder das Dateisystem ein oder trennen Sie es.

    1. Einfrieren: sudo fsfreeze -f [example-disk_location]
    2. Trennen: sudo umount [example-disk_location]

    Sie können die Dateien freigeben oder bereitstellen, sobald Sie den Snapshot erstellt haben.

    1. Freigeben: sudo fsfreeze -u [example-disk_location]
    2. Bereitstellen: sudo mount [example-disk_location mount_location]

Linux-Nutzer

Ist das Laufwerk mit einer Linux-Instanz verbunden, trennen Sie das Laufwerk von der Instanz. Stellen Sie dazu eine Verbindung zur Instanz her und verwenden Sie das unmount-Tool:

`sudo umount /dev/disk/by-id/google-[DISK_NAME]`

Dabei ist [DISK_NAME] der Name des nichtflüchtigen Speichers.

Windows-Nutzer

Ist das Laufwerk mit einer Windows-Instanz verbunden, trennen Sie das Laufwerk von der Instanz. Stellen Sie dazu eine Verbindung zur Instanz her und verwenden Sie das Disk Management-Tool:

Nichtflüchtigen Speicher wieder bereitstellen

Nachdem Sie einen Snapshot erstellt haben, müssen Sie den nichtflüchtigen Speicher wieder bereitstellen. Weitere Informationen finden Sie unter Nichtflüchtigen Speicher formatieren und bereitstellen.

Wenn Ihre Anwendungen Konsistenz zwischen mehreren nichtflüchtigen Speichern erfordern, müssen Sie alle Dateisysteme auf jedem Laufwerk einfrieren oder trennen und alle Snapshots für diese Laufwerke fertigstellen, bevor Sie die Anwendungen fortsetzen. Compute Engine garantiert keine Konsistenz zwischen Snapshots, die gleichzeitig auf mehreren nichtflüchtigen Speichern generiert werden.

Mit einem Journaling-Dateisystem wie ext4 reduzieren Sie das Risiko, dass Daten im Cache gespeichert werden, ohne tatsächlich in den nichtflüchtigen Speicher geschrieben zu werden.

Nichtflüchtige Speicher mit Windows Server-Instanzen

Mit VSS-Snapshots können Sie die Datenintegrität für nichtflüchtige Speicher bewahren, die an Windows Server-Instanzen angehängt sind.

Vorhandene Snapshots als Referenz für nachfolgende Snapshots nutzen

Bereits vorhandene Snapshots eines nichtflüchtigen Speichers werden vom System automatisch als Referenz für alle nachfolgenden Snapshots verwendet, die Sie von demselben Laufwerk erstellen.

  • Erstellen Sie einen neuen Snapshot eines nichtflüchtigen Speichers, bevor Sie den vorherigen Snapshot desselben nichtflüchtigen Speichers löschen. Das System kann den neuen Snapshot schneller erstellen, wenn es den vorherigen Snapshot als Referenz verwenden kann und nur die neuen oder geänderten Daten des nichtflüchtigen Speichers einbezieht.

  • Warten Sie, bis der neue Snapshot fertig ist, bevor Sie nachfolgende Snapshots desselben nichtflüchtigen Speichers erstellen. Wenn Sie gleichzeitig zwei Snapshots desselben nichtflüchtigen Speichers generieren, greifen beide auf dieselbe Referenz zu und der Aufwand verdoppelt sich. Wenn Sie die Fertigstellung des neuen Snapshots abwarten, wird jeder nachfolgende Snapshot schneller generiert, da nur die Daten einbezogen werden, die sich seit dem letzten Snapshot geändert haben.

Snapshots außerhalb der Spitzenzeiten planen

Wenn Sie regelmäßige Snapshots Ihres nichtflüchtigen Speichers planen, erstellen Sie sie möglichst außerhalb der Spitzenzeiten. So lässt sich die Zeit verkürzen, die ein Snapshot bis zur Fertigstellung in Anspruch nimmt.

  • Planen Sie automatisierte Snapshots im Laufe eines Werktags in der Zone, in der sich der nichtflüchtige Speicher befindet. Die meisten Snapshots werden in der Regel am Ende des Werktags erstellt.
  • Planen Sie automatisierte Snapshots eher am frühen Morgen als gleich um Mitternacht in der Zone, in der sich der nichtflüchtige Speicher befindet. Um Mitternacht werden in der Regel die meisten Snapshots erstellt.

Daten auf separaten nichtflüchtigen Speichern organisieren

Wenn Sie einen Snapshot von einem nichtflüchtigen Speicher erstellen, werden alle Daten, die auf dem Laufwerk gespeichert sind, in den Snapshot einbezogen. Größere Datenmengen führen zu größeren Snapshots, die mehr kosten und deren Erstellung länger dauert. Um sicherzustellen, dass Sie nur Snapshots von benötigten Daten erstellen, organisieren Sie Ihre Daten auf separaten nichtflüchtigen Speichern.

  • Speichern Sie kritische Daten auf einem sekundären nichtflüchtigen Speicher statt auf Ihrem Bootlaufwerk. Dadurch können Sie Snapshots von Ihrem Bootlaufwerk lediglich bei Bedarf oder weniger häufig erstellen.
  • Wenn Sie Snapshots von Ihren Bootlaufwerken erstellen, speichern Sie Swap-Partitionen, Auslagerungsdateien, Cachedateien und nicht kritische Logs auf einem separaten nichtflüchtigen Speicher. Diese Dateien und Partitionen ändern sich häufig und werden deshalb vom Snapshot-Prozess wahrscheinlich als geänderte Daten identifiziert, die in einen inkrementellen Snapshot einbezogen werden müssen.
  • Reduzieren Sie die Anzahl der zu erstellenden Snapshots, indem Sie ähnliche Daten auf einem einzigen nichtflüchtigen Speicher speichern. Ihr Betriebssystem und Ihre volatilen Daten getrennt von den snapshot-würdigen Daten aufzubewahren, ist empfehlenswert, aber Sie müssen nicht Ihre wichtigen Daten wie bei einer physischen Maschine auf mehrere nichtflüchtige Speicher verteilen. Ein großer nichtflüchtiger Speicher kann dieselbe Leistung erreichen wie mehrere kleinere nichtflüchtige Speicher mit derselben Gesamtgröße.

Option discard aktivieren oder fstrim auf dem nichtflüchtigen Speicher ausführen

Wenn Sie auf Linux-Instanzen Ihren nichtflüchtigen Speicher nicht mit der Option discard formatiert und bereitgestellt haben, führen Sie auf der Instanz den Befehl fstrim aus, bevor Sie einen Snapshot erstellen. Durch den Befehl werden Blöcke entfernt, die das Dateisystem nicht länger benötigt, damit das System den Snapshot schneller und mit einer geringeren Größe erstellen kann. Informationen zur Konfiguration der Option discard finden Sie unter Nichtflüchtigen Speicher formatieren und bereitstellen.

Nächste Schritte

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Compute Engine-Dokumentation