In diesem Dokument wird beschrieben, wie Sie Bootlaufwerke und Nicht-Bootlaufwerke an Compute Engine-Bare-Metal-Instanzen und virtuelle Maschinen (VM)-Instanzen anhängen und wieder anhängen.
Wenn Sie das Bootlaufwerk einer Instanz trennen, können Sie die folgenden Aufgaben ausführen, ohne die Instanz neu erstellen zu müssen:
- Bootlaufwerk für eine Instanz durch ein anderes Laufwerk ersetzen
- Bootlaufwerk einer Instanz reparieren, indem Sie es vorübergehend an eine andere Instanz anhängen
Wenn Sie ein Nicht-Bootlaufwerk von einer Instanz trennen und an eine andere anhängen, können Sie die Daten auf dem Laufwerk von der zweiten Instanz aus verwenden, ohne die Daten auf ein neues Laufwerk kopieren zu müssen.
Hinweis
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud Dienste und APIs überprüft. Wenn Sie
Code oder Beispiele aus einer lokalen Entwicklungsumgebung ausführen möchten, können Sie sich bei
Compute Engine authentifizieren, indem Sie eine der folgenden Optionen auswählen:
Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:
Console
Wenn Sie über die Google Cloud console auf Google Cloud Dienste und APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.
gcloud
-
Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:
gcloud initWenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
- Legen Sie eine Standardregion und -zone fest.
REST
Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.
Installieren Sie die Google Cloud CLI.
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
Weitere Informationen finden Sie in der Google Cloud Authentifizierungsdokumentation unter Für die Verwendung von REST authentifizieren.
Erforderliche Berechtigungen für diese Aufgabe
Zum Ausführen dieser Aufgabe benötigen Sie die folgende Berechtigung:
compute.instances.detachDiskfür die Instanzcompute.instances.attachDiskfür die Instanz
Bootlaufwerk zwischen Instanzen verschieben
Bevor Sie ein Bootlaufwerk zwischen Instanzen verschieben, die unterschiedliche Maschinenserien verwenden, prüfen Sie, ob die Bootlaufwerkarchitektur beider Instanzen übereinstimmt. Sie können beispielsweise kein Bootlaufwerk von einer C4A-Instanz an eine C4-Instanz anhängen, da C4A und C4 Arm- bzw. x86-Architekturen verwenden. Die Architektur einer Maschinenserie finden Sie in der Zeile Architektur in der Tabelle Vergleich der Maschinenserien.
Beschränkungen
- Die Architektur des Bootlaufwerks muss mit der Architektur der Instanz übereinstimmen. Sie können beispielsweise kein Bootlaufwerk, das x86 verwendet, an eine Arm-Instanz anhängen.
- Sie können ein Bootlaufwerk nur an eine beendete VM-Instanz anhängen bzw. von dieser trennen.
- Sie können nur ein Bootlaufwerk pro VM-Instanz anhängen.
- Wenn Sie die gcloud CLI oder REST verwenden, können Sie nur vorhandene Bootlaufwerke an eine VM-Instanz anhängen.
- Sie können ein lokales SSD-Laufwerk nicht von einer Instanz trennen. Sie können lokale SSD-Laufwerke nur beim Erstellen der Instanz an eine Instanz anhängen.
Bootlaufwerk trennen
Bevor Sie das Bootlaufwerk von der Instanz trennen, müssen Sie die Instanz beenden. Sie müssen die Bereitstellung des Laufwerks nicht aufheben.
Console
- Gehen Sie zur Seite der VM-Instanzen.
- Wenn Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken auf Weiter.
- Klicken Sie auf die Instanz, von der Sie das Bootlaufwerk trennen möchten.
- Klicken Sie auf Beenden , um die VM zu beenden. Wenn Beenden nicht angezeigt wird, klicken Sie auf Weitere Aktionen > Beenden.
- Klicken Sie auf Bearbeiten.
- Klicken Sie im Abschnitt Bootlaufwerk auf Bootlaufwerk trennen.
- Klicken Sie auf Speichern.
gcloud
Verwenden Sie den gcloud compute instances detach-disk-Befehl, um das Bootlaufwerk von der Instanz zu trennen:
gcloud compute instances detach-disk INSTANCE_NAME \
--disk=DISK_NAME
Dabei gilt:
INSTANCE_NAME: der Name der Instanz.DISK_NAME: der Name des Laufwerks, das getrennt werden soll. Der Name des Laufwerks ist normalerweise mit dem Namen der Instanz identisch.
REST
Erstellen Sie eine POST-Anfrage, um das Laufwerk zu trennen:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=DISK_NAME
Ersetzen Sie Folgendes:
PROJECT_ID: die Projekt-ID.INSTANCE_NAME: der Name der Instanz.ZONE: die Zone, in der sich die Instanzen befinden.DISK_NAME: der Name des Laufwerks, das getrennt werden soll. Der Name des Laufwerks ist normalerweise mit dem Namen der Instanz identisch.
Bootlaufwerk wieder anhängen
Jedes Laufwerk kann wieder als Bootlaufwerk an eine Instanz angehängt werden, wenn noch kein anderes Bootlaufwerk an die Instanz angehängt ist und sich das Bootlaufwerk in derselben Zone wie die VM-Instanz befindet. Wenn Sie ein Bootlaufwerk anpassen, müssen Sie überprüfen, ob es nach dem Anhängen ordnungsgemäß gestartet wird.
Sowohl das vorhandene Laufwerk als auch das neue Laufwerk müssen entweder UEFI-kompatibel sein oder nicht.
Verwenden Sie zum Erstellen eines UEFI-kompatiblen Laufwerks den Befehl gcloud compute disk create, wobei das Flag --guest-os-features auf UEFI_COMPATIBLE gesetzt ist.
Console
- Gehen Sie zur Seite der VM-Instanzen.
- Wenn Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken auf Weiter.
- Klicken Sie auf die Instanz, an die Sie das Bootlaufwerk anhängen möchten.
- Wenn die VM ausgeführt wird, klicken Sie auf Beenden stop, um die VM zu beenden. Wenn Beenden nicht angezeigt wird, klicken Sie auf Weitere Aktionen > Beenden.
- Klicken Sie auf Bearbeiten.
- Gehen Sie zum Abschnitt Bootlaufwerk.
- Klicken Sie auf Zeile hinzufügen.
- Wählen Sie im Drop-down-Menü ein Bootlaufwerk aus.
- Klicken Sie auf Speichern.
gcloud
Verwenden Sie den Befehl gcloud compute instances attach-disk, um ein Bootlaufwerk an eine VM-Instanz neu anzuhängen oder wieder anzuhängen. Fügen Sie das Flag --boot
gcloud compute instances attach-disk INSTANCE_NAME \
--disk=DISK_NAME \
--boot
Dabei gilt:
INSTANCE_NAME: der Name der Instanz.DISK_NAME: der Name des Laufwerks, das angehängt werden soll. Der Name des Laufwerks kann mit dem Namen der Instanz identisch sein.
REST
Erstellen Sie eine POST-Anfrage, um das Laufwerk anzuhängen. Verwenden Sie den optionalen Parameter "boot": true, um anzugeben, dass dieses Laufwerk das Bootlaufwerk ist. Wenn dieser Parameter nicht vorhanden ist, wird das Laufwerk als Nicht-Boot-Datenlaufwerk angehängt.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk
{
"boot": true,
"source": "zones/ZONE/disks/DISK_NAME"
}
Ersetzen Sie Folgendes:
PROJECT_ID: die Projekt-ID.INSTANCE_NAME: der Name der Instanz, an die Sie den neuen nichtflüchtigen Speicher anhängen.ZONE: die Zone, in der sich Ihre Instanz und das neue Laufwerk befinden.DISK_NAME: durch den Namen des neuen Laufwerks.
Starten Sie die Instanz neu, nachdem Sie das Laufwerk an die VM-Instanz angehängt haben.
Bootlaufwerk für eine Instanz aktualisieren
Sie können die Google Cloud console nur zum Aktualisieren des Bootlaufwerks für eine VM in einem Schritt verwenden. Insbesondere können Sie in einem Schritt ein vorhandenes Bootlaufwerk trennen und ein neues Bootlaufwerk anhängen.
Dieses Feature ist nicht über die gcloud CLI oder REST verfügbar.
- Öffnen Sie die Seite "VM-Instanzen".
- Wenn Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken auf Weiter.
- Klicken Sie auf die Instanz, an die Sie das Bootlaufwerk anhängen möchten.
- Wenn die VM ausgeführt wird, klicken Sie auf Beenden um die VM zu beenden. Wenn Beenden nicht angezeigt wird, klicken Sie auf Weitere Aktionen > Beenden.
- Klicken Sie oben auf der Seite auf Bearbeiten.
- Klicken Sie im Abschnitt Bootlaufwerk auf „Bootlaufwerk trennen“.
- Klicken Sie auf Zeile hinzufügen.
- Wählen Sie im Drop-down-Menü ein Bootlaufwerk aus.
- Klicken Sie auf Speichern.
Die Google Cloud console fährt mit dem Trennen des vorhandenen Bootlaufwerks fort und hängt das angegebene neue Bootlaufwerk an. Wenn der Vorgang abgeschlossen ist, starten Sie die VM-Instanz neu.
Nicht-Bootlaufwerk an eine Instanz anhängen
Eine detaillierte Anleitung zum Anhängen eines neuen oder vorhandenen Nicht-Bootlaufwerks an eine ausgeführte Instanz finden Sie unter Laufwerk zu Instanz hinzufügen.
Nicht-Bootlaufwerk von einer Instanz trennen
Sie müssen eine Instanz nicht beenden, um ein Nicht-Bootlaufwerk zu trennen. Sie können diese Vorgänge ausführen, während die Instanz ausgeführt wird.
Console
- Gehen Sie zur Seite der VM-Instanzen.
- Klicken Sie auf die Instanz, von der Sie das Laufwerk trennen möchten.
- Klicken Sie auf „Bearbeiten“ Edit.
- Suchen Sie im Abschnitt Zusätzliche Laufwerke das Laufwerk, das Sie trennen möchten und klicken Sie auf close Laufwerk entfernen.
- Klicken Sie auf Speichern.
gcloud
Führen Sie den Befehl gcloud compute instances detach-disk aus:
gcloud compute instances detach-disk INSTANCE_NAME \ DISK_OR_DEVICE_NAME --disk-scope DISK_SCOPE
Dabei gilt:
INSTANCE_NAME: der Name der Instanz.DISK_OR_DEVICE_NAME: der Name des Laufwerks oder der Gerätename, der beim Erstellen des Laufwerks angegeben wurde. Der Gerätename ist der Name, den das Betriebssystem zur Identifizierung des Laufwerks verwendet. Wenn Sie einen Gerätenamen für das Laufwerk angegeben haben, müssen Sie ihn mit dem Flag--device-nameangeben.- Wenn Sie den Laufwerksnamen angeben möchten, verwenden Sie
--disk=DISK_NAME, wobeiDISK_NAMEder Name des Laufwerks ist, z. B.my-data-disk. Wenn Sie den Gerätenamen angeben möchten, verwenden Sie
--device-name=DEVICE_NAME, wobeiDEVICE_NAMEder von Ihnen für das Laufwerk angegebene Gerätename ist.Führen Sie den
gcloud compute instances describeBefehl aus, um den Gerätenamen des Laufwerks zu ermitteln. Wenn Sie beispielsweise eine Liste der angehängten Laufwerke der Instanz im JSON-Format ausgeben möchten, führen Siegcloud compute instances describe INSTANCE_NAME --format="json(disks)"aus.
- Wenn Sie den Laufwerksnamen angeben möchten, verwenden Sie
DISK_SCOPE: der Bereich des Laufwerks. Geben Sie für ein zonales Laufwerkzonalan. Geben Sie für ein regionales Laufwerkregionalan.
REST
Erstellen Sie eine POST-Anfrage an die instances.detachDisk-Methode.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=DEVICE_NAME
Dabei gilt:
PROJECT_ID: die Projekt-ID.INSTANCE_NAME: der Name der Instanz.ZONE: die Zone, in der sich Ihre Instanz befindet.DEVICE_NAME: der Gerätename des Laufwerks. Wenn Sie den Gerätenamen des Laufwerks ermitteln möchten, senden Sie eineGETAnfrage an dieinstancesRessource, um die angehängten Laufwerke und Gerätenamen aufzurufen.