3

Ich habe eine funktionierende VM-Instanz, die ich kopieren möchte, um Redundanz hinter Google Load Balancer zu ermöglichen. Ein Testlauf mit einer Dummy-Instanz funktionierte einwandfrei, indem eine neue Instanz aus einer Momentaufnahme einer laufenden Instanz erstellt wurde. Nun hat die echte "Original" -Instanz eine persistente Festplatte angeschlossen und dies verursacht ein Problem beim Starten der geklonten Instanz wegen der (offensichtlich) fehlenden persistenten Festplatten-Mount. Protokolle über die serielle Konsole ausgegeben wird, wie:Google Compute Engine-Snapshot der Instanz mit persistenten Festplatten ist fehlgeschlagen

* Stopping cold plug devices[74G[ OK ] * Stopping log initial device creation[74G[ OK ] * Starting enable remaining boot-time encrypted block devices[74G[ OK ] The disk drive for /mnt/XXXX-log is not ready yet or not present. keys:Continue to wait, or Press S to skip mounting or M for manual recovery

Wie ich verstehe, dass es keine Möglichkeit gibt, jede dieser Tastenanschläge auf die Instanz zu senden, gibt es eine andere Möglichkeit, dieses Problem zu überwinden? Ich weiß, dass ich den Datenträger vor dem Snapshot abmelden konnte, aber der Arbeitsablauf, den ich einrichten möchte, erstellt Momentaufnahmen von Produktionsservern, so dass das Entfernen von Datenträgern jedes Mal, bevor sie durchgeführt wird, Instanziierungsausfälle erfordert (plus alle unnötigen Risiken) eine Handlung, die sinnlos erscheinen würde).

Gibt es eine Möglichkeit, diesen Typ von geklonten Instanzen erfolgreich zu starten und anschließend eine neue Persistenz-Festplatte anzuhängen?

Dies passiert, weil die ursprüngliche persistente Festplatte verwendet wird oder das gleiche Problem auch dann auftritt, wenn die ursprüngliche Instanz offline ist (z. B. aufgrund eines Fehlers). In diesem Fall würde ich versuchen, eine neue Instanz aus einem Snapshot zu erstellen)

Antwort

1

Eine Problemumgehung, die ich benutze, um das gleiche Problem zu lösen, ist, dass ich die Festplatte nicht unmount, sondern nur die Mount-Zeile in /etc/fstab auskommentieren und den Snapshot machen. Auf diese Weise hat meine Instanz während des Snapshots keine Downtime- oder Down-Disketten. (Ich benutze Ubuntu 14.04 als OS, wenn das wichtig ist)

Später repariere und entziffere ich es, wenn ich diesen Schnappschuss auf einer neuen Instanz verwende. Sie können jedoch auch die Option nofail in der kommentierten Zeile hinzufügen, um eine bessere Lösung zu erhalten.

Übrigens mache ich eine ähnliche Aufgabe, ein load-balanced-Setup mit mehreren Webserverknoten aufzubauen. Jeder wird aus dem Snapshot mit extra persistenten Festplatten geklont, die zB für Uploads, Daten und Logs angehängt werden.

+0

Ist dies der Fall, weil die ursprüngliche persistente Festplatte verwendet wird oder das gleiche Problem auch dann auftritt, wenn die ursprüngliche Instanz offline ist (z. B. aufgrund eines Fehlers, in dem Fall würde ich versuchen, eine neue Instanz aus einem Snapshot zu erstellen)? ** Ja, das passiert, weil die Originalplatte in Gebrauch ist, aber die Originalinstanz offline geht, wird sie nur dann freigeben, wenn Sie die Festplatte von der Originalinstanz entfernen. ** –

+1

Es ist auch möglich, Tastenanschläge über serielle Schnittstelle an die Instanz zu senden. Hier finden Sie die Schritte 1. Aktivieren Sie die Verbindung über die serielle Schnittstelle Ihrer Instanz oder Ihres Projekts 2. Verbinden Sie sich über die Cloud-Webkonsole mit dem seriellen Port –

0

Ich bin ein wenig unklar, was Sie zu erreichen versuchen. Es sieht so aus, als würden Sie regelmäßig die Datenvolumen eines Produktionsservers abfotografieren, um sie später zu klonen.

Wahrscheinlich müssen Sie nur synchronisieren und fsfreeze, bevor Sie Ihren Schnappschuss machen, anstatt nur unmounten/remounten. Die GCP-Dokumentation hat ein grundlegendes Beispiel dafür in der Snapshots documentation.

+0

Ja, regelmäßiges Backup/Klonen ist das Endziel, und für die angehängten Volumes funktioniert es wie der von Ihnen gesendete Link, das Problem ist die Systemdiskette der Instanz. Da das Betriebssystem erwartet, dass diese Festplatten beim Start bereitgestellt werden, wird eine geklonte Instanz niemals gestartet, da die Datenplatte nicht wie oben beschrieben verfügbar ist. Die einzige Lösung, die ich zu diesem Zeitpunkt gefunden habe, ist das Aushängen der Datenplatten und dann das Erstellen des Snapshots. Dadurch kann die geklonte Platte ordnungsgemäß gestartet werden, aber die Datenplatten zu entfernen, um das Klonen jedes Mal durchzuführen, ist sehr unpraktisch. – Kenny

+2

Sie können '' '' '' 'hinzufügen, um die Mount-Zeile der zusätzlichen Festplatte in'/etc/fstab' hinzuzufügen. Dies wird keine Fehler für das Gerät melden, wenn es nicht existiert, und folglich wird die geklonte VM erfolgreich gestartet. – Kamran

Verwandte Themen