2013-11-22 6 views
7

Ich spiele mit Google Compute Engine mit Debian als Quellbild. Ich verstehe, dass ich stundenweise belastet werde, solange die Instanz läuft, egal ob ich mich einschalte oder nicht. Der Befehl shutdown -h setzte die Instanz scheinbar in den beendeten Modus, und ich musste die Instanz für das nächste Mal erneut erstellen.Wie kann die Instanz der Compute Engine gestoppt werden, ohne die Instanz zu beenden?

Meine Frage ist, wie schließe ich einfach die VM, ohne es zu beenden? ist das eine Option?

Google Say, dass: https://developers.google.com/compute/docs/troubleshooting Wenn Sie Ihre Instanz mit sudo Shutdown oder sudo poweroff heruntergefahren wird, ist es das Äquivalent es endet. Es gibt keine Möglichkeit, eine Instanz "einzufrieren" und zu einem späteren Zeitpunkt neu zu starten. Sie müssen Ihre Instanz neu erstellen, wenn Sie sie herunterfahren möchten. Wenn eine Instanz von innen heruntergefahren wird, wechselt sie in den Status TERMINATED, wird jedoch weiterhin in der API angezeigt (z. B. wenn Sie Instanzen auflisten). Um es aus der Liste zu entfernen, müssen Sie die Instanz explizit löschen. Die Verfügbarkeit für eine TERMINATED-Instanz wird jedoch nicht in Rechnung gestellt.

+1

Sie können eine Instanz löschen und die persistente Festplatte behalten. Wenn Sie eine neue Instanz erstellen, verwenden Sie einfach die persistierende Festplatte erneut. [1]: http://stackoverflow.com/questions/16608594/how-to-automatic-exit-stop-the-running-instance –

+2

Die derzeit akzeptierte Antwort ist nicht mehr korrekt; Siehe [meine Antwort] (http://stackoverflow.com/a/28033482/3618671) für den neuesten Status. –

Antwort

5

Meine Frage ist, wie schließe ich einfach die VM ab, ohne sie zu beenden? Ist das eine Option?

Leider können Sie nicht. AWS EC2 ist die Ausnahme, wenn Instanzen beim Herunterfahren beibehalten werden sollen. Nicht einmal OpenStack-Anbieter unterstützen das sofort. Die Problemumgehung besteht darin, basierend auf dem gewünschten Snapshot ein Image zu erstellen und dann basierend auf diesem Image eine neue Instanz zu erstellen.

+3

Oder löschen Sie einfach nicht die Bootdiskette, wenn Sie die Instanz löschen. Sie können dann eine neue Instanz erstellen und sie mit derselben persistenten Festplatte verbinden, ohne dass Snapshots beteiligt sind. – fotinakis

+1

Diese Antwort ist jetzt veraltet, siehe Marius 'Antwort. – papirrin

+0

Ich möchte über AWS hervorheben EC2 ist die Ausnahme. Stimme aber nur zu, wenn [VPC/EBS] verwendet wird (http://stackoverflow.com/a/38235022/4058484). – hyip

0

Zusätzlich zum Punkt rdodev können Sie alternativ auch die persistente Festplatte trennen. Wenn Sie eine andere Instanz starten, können Sie die vorherige Konfiguration über ein Start-Skript instrumentieren. Nicht ganz dasselbe, aber alternativ.

6

Sie können alle Ihre Daten auf der Festplatte speichern, dann herunterfahren und das nächste Mal eine Instanz mit derselben Festplatte erstellen.

Ausschalten von der Webkonsole nach unten über:

Compute Engine > VM INSTANCES > Click on engine name > Delete 

gibt es eine Checkbox sagen:

Also delete boot disk "instance0" 

Wenn Sie es nicht aktivieren, nächstes Mal, wenn Sie eine andere Instanz für das Projekt erstellen Sie auswählen können, :

Boot source > Existing persistent disk 

Und dann:

Source disk > Name of project 

Und Ihre alte Festplatte wird intakt sein.

Löschen der Instanz auf diese Weise löschte es aus der Instanzliste für mich, während eine poweroff nicht sofort entfernt.

Vorsicht: Dauerhafter Speicher, der für die Festplatten verwendet wird, hat (relativ geringe) monatliche Kosten. Ich wurde ein paar Cent für einige ungenutzte Daten ohne jede E-Mail-Warnung berechnet.

0

Die nächste Lösung ist, die Instanz zu löschen, während nicht löschen die persistente Festplatte. Wenn Sie die Instanz neu starten müssen, erstellen Sie einfach eine neue mit dieser Festplatte.Sie können eine Instanz mit denselben Eigenschaften oder unterschiedlichen Merkmalen auswählen. Es ist egal.

13

Ich weiß, dass dieser Thread ein bisschen alt ist, aber die Shutdown/Start-Funktion wurde jetzt in der Entwickler-Konsole und Befehlszeile eingeführt, so dass keine Snapshots mehr erstellt werden müssen.

Dokumentation ist verfügbar here

7

Sie können stop an instance über eine der folgenden Methoden:

the docs Siehe für weitere Informationen, einschließlich, welche Auswirkungen dies auf die Ressourcen hat, und welche Aktionen Sie mit auf eine gestoppte Instanz nehmen.

Siehe auch die Dokumentation für restarting a stopped instance.

Verwandte Themen