Virtuelle Laufwerke importieren

Wenn Sie in Ihrer lokalen Umgebung virtuelle Laufwerke mit der für Sie erforderlichen Software und Konfiguration haben (auch als goldene Laufwerke oder goldene Images bezeichnet), können Sie diese virtuellen Laufwerke in Compute Engine importieren und das hierbei entstehende Image zum Erstellen neuer virtueller Maschinen verwenden. Auf diese Weise sparen Sie Zeit. Das Importtool unterstützt die meisten Dateiformate für virtuelle Laufwerke, einschließlich VMDK und VHD.

Wenn Sie Ihr Laufwerk aus Compute Engine exportiert haben, müssen Sie es nicht noch einmal importieren. Sie können stattdessen weitere Images des Laufwerks erstellen.

Wenn Sie ein automatisiertes System zum Migrieren mehrerer virtueller Maschinen benötigen, finden Sie weitere Informationen in der Übersicht zum Migrieren von VMs in Compute Engine.

Vorbereitung

  • So können Sie die Befehlszeilenbeispiele in dieser Anleitung verwenden:
    1. Installieren Sie das gcloud-Befehlszeilentool oder aktualisieren Sie es auf die neueste Version.
    2. Legen Sie eine Standardregion und -zone fest.
  • Aktivieren Sie die Cloud Build API. Diese verwendet den Cloud Build-Dienst zum Importieren und Erstellen von Compute Engine-Images. Für dieses Feature müssen Sie die Cloud Build API aktivieren.

    Cloud Build API aufrufen

    Compute Engine weist außerdem dem Cloud Build-Dienstkonto die folgenden Rollen zu, damit Images in Compute Engine importiert werden können:

    • roles/iam.serviceAccountTokenCreator
    • roles/compute.admin
    • roles/iam.serviceAccountUser

Unterstützte Betriebssysteme

Damit die virtuellen Laufwerke in Compute Engine bootfähig sind, muss auf den virtuellen Laufwerken eines der folgenden Betriebssysteme ausgeführt werden.

  • Linux-Betriebssysteme:
    • CentOS 6, CentOS 7
    • Debian 8, Debian 9
    • Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7
    • Ubuntu 14.04 LTS, Ubuntu 16.04 LTS
  • Windows-Betriebssysteme:
    • Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2012 R2 Core, Windows Server 2016, Windows Server 2016 Core
    • Windows 7 SP1 x64 und Windows 10 Enterprise x64 (wird nur für BYOL unterstützt)

Beschränkungen

Diese Funktion weist die folgenden Beschränkungen auf:

  • Virtuelle Linux-Laufwerke müssen grub als Bootloader verwenden.
  • UEFI-Bootloader werden weder für Windows noch für Linux unterstützt.
  • Virtuelle Linux-Laufwerke müssen die gleichen Anforderungen erfüllen wie benutzerdefinierte Betriebssystem-Abbilder. Dazu gehört auch die Unterstützung von Geräten mit Virtio-SCSI Storage Controller.
  • Wenn Software zum Setzen von Anwendungen auf die weiße Liste (z. B. Cb Protection von Carbon Black) auf virtuellen Windows-Laufwerken installiert ist, kann dies zum Fehlschlagen des Importvorgangs führen. Eventuell müssen Sie diese Software vor dem Import deinstallieren.
  • Wenn Sie ein virtuelles Laufwerk mit RHEL als Betriebssystem importieren, wird BYOL (Bring Your Own License, Verwenden Ihrer eigenen Lizenz) nur unterstützt, wenn das Paket python-boto auf dem virtuellen Laufwerk installiert ist.
  • Betriebssysteme auf virtuellen Laufwerken müssen den ACPI-Standard unterstützen.

Berechtigungen

Das Tool zum Importieren von Images führt beim Importieren einer virtuellen Laufwerksdatei mehrere Schritte aus. Dabei wird die Datei in Google Cloud Storage hochgeladen, gegebenenfalls ein neuer Bucket erstellt, die Datei in Compute Engine heruntergeladen und dann in Compute Engine ein Image von der Laufwerksdatei erstellt. Da dieser Vorgang automatisch erfolgt, empfiehlt Google die Zuweisung folgender Rollen, um dieses Feature problemlos nutzen zu können:

  • roles/storage.admin für das Projekt
  • roles/viewer für das Projekt
  • roles/resourcemanager.projectIamAdmin für das Projekt

Virtuelle Laufwerke importieren

Auf Kompatibilität prüfen

Bevor Sie das Laufwerk für Ihre virtuelle Maschine importieren, müssen Sie das Precheck-Tool herunterladen und auf der virtuellen Maschine ausführen. Das Precheck-Tool prüft auf mögliche Kompatibilitätsprobleme, die dazu führen können, dass der Importvorgang fehlschlägt oder das Laufwerk in Compute Engine nicht ordnungsgemäß funktioniert.

Bootfähige virtuelle Laufwerke importieren

Console

  1. Laden Sie in der Google Cloud Platform Console die virtuelle Laufwerksdatei auf Cloud Storage hoch.
  2. Rufen Sie die Seite "Image erstellen" auf.
    SEITE "IMAGE ERSTELLEN" AUFRUFEN
  3. Geben Sie unter Name einen Namen für Ihr Image an.
  4. Wählen Sie unter Quelle die Option Virtuelles Laufwerk (VMDK, VHD, …) aus.
  5. Wechseln Sie zum Speicherort für die Cloud Storage-Datei oder geben Sie diesen manuell ein.
  6. Wählen Sie das Betriebssystem aus, das auf dem importierten Laufwerk verfügbar ist. Sie können dabei folgende Änderungen vornehmen:

    • Sie können mit der Option Gastpakete installieren die Gastumgebung installieren. Dieser Schritt wird empfohlen. Weitere Informationen zur Gastumgebung finden Sie unter Gastumgebung.

    • Für Windows- oder RHEL-Betriebssysteme (Red Hat Enterprise Linux) können Sie auch eine Lizenzoption auswählen. Dabei haben Sie die Möglichkeit, eine Lizenz über Compute Engine bereitzustellen oder Ihre eigene Lizenz zu verwenden. Weitere Informationen zur Verwendung einer eigenen Lizenz unter Windows finden Sie unter Verwendung Ihrer eigenen Lizenz.

  7. (Optional) Geben Sie zusätzliche Attribute für das Image an. Sie können dieses Image beispielsweise als Teil einer Image-Familie definieren.

  8. Klicken Sie auf Erstellen, um das Image zu importieren.

gcloud

Sie können mit gcloud compute images import ein bootfähiges Compute Engine-Image erstellen. Obwohl die meisten Bootlaufwerk-Images von Compute Engine gestartet werden können, sorgt der Befehl import dafür, dass das Laufwerk die erforderlichen Treiber und die neuesten Gastumgebungspakete hat. Diese sind erforderlich, um eine Instanz zu starten und per SSH oder RDP eine Verbindung zu ihr herstellen zu können.

Sie können virtuelle Laufwerksdateien entweder aus einem Cloud Storage-Bucket oder von der lokalen Workstation importieren.

Wenn Sie die virtuelle Laufwerksdatei von Ihrer Arbeitsstation importieren, lädt das Importtool die Datei automatisch in einen Cloud Storage-Bucket.

Sie können die virtuelle Laufwerksdatei auch selbst in Cloud Storage hochladen, bevor Sie den Importvorgang starten. In diesem Fall müssen Sie die Datei jedoch in einen Speicher-Bucket in demselben Projekt hochladen, das für den Importvorgang verwendet wird.

gcloud beta compute images import [IMAGE_NAME] \
    --source-file [SOURCE_FILE] \
    --os [OS]

Wobei:

  • [IMAGE_NAME] der Name des Ziel-Images ist.
  • [SOURCE_FILE] eine virtuelle Laufwerksdatei ist. Hierbei kann es sich um eine lokale Datei oder um eine in Cloud Storage gespeicherte Datei handeln. Wenn das virtuelle Laufwerk eine lokale Datei ist, können Sie einen absoluten oder einen relativen Pfad verwenden. Wenn die virtuelle Laufwerksdatei bereits in Cloud Storage gespeichert ist, muss die Datei in einem Speicher-Bucket in dem Projekt vorhanden sein, das für den Importvorgang verwendet wird. Außerdem müssen Sie den vollständigen Pfad der Datei im Format gs://[BUCKET_NAME]/[OBJECT_NAME] angeben.
  • [OS] ist das Betriebssystem von SOURCE_FILE. Es sind folgende Betriebssysteme zulässig: centos-6, centos-7, debian-8, debian-9, rhel-6, rhel-7, ubuntu-1404, ubuntu-1604, windows-2008r2, windows-2012, windows-2012r2, windows-2016 oder ein BYOL-lizensiertes Image.

    (Beta) Unterstützung für BYOL (Bring Your Own License, Verwenden Ihrer eigenen Lizenz)

    Standardmäßig werden virtuelle Laufwerke, die das Betriebssystem Windows Server oder Red Hat Enterprise Linux (RHEL) verwenden, als Premium-Betriebssystem-Images importiert und konfiguriert. Diese verursachen zusätzliche Kosten.

    • Wenn Sie Ihre eigenen Software-Abos für RHEL verwenden möchten, können Sie die Laufwerke als BYOL-lizenzierte Images importieren. Dazu geben Sie einen der folgenden BYOL-Werte für das Feld [OS] an:

      • rhel-6-byol
      • rhel-7-byol
    • Wenn Sie Ihre eigene Lizenz (BYOL) für Windows verwenden möchten, können Sie die Laufwerke als BYOL-lizenzierte Images importieren. Dazu geben Sie einen der folgenden BYOL-Werte für das Feld [OS] an:

      • windows-2008r2-byol
      • windows-2012-byol
      • windows-2012r2-byol
      • windows-2016-byol
      • windows-7-byol
      • windows-10-byol

Wenn Sie eine lokale Datei angeben, kann der Upload-Vorgang je nach der Größe Ihres virtuellen Laufwerks und der Geschwindigkeit der Netzwerkverbindung sehr viel Zeit in Anspruch nehmen. Der Importvorgang kann abhängig von der Größe des Laufwerks mehrere Minuten dauern.

Befehlsbeispiel

Mit dem folgenden Beispiel wird ein virtuelles debian-9-Laufwerk namens your_server.vmdk in gs://your_gcs_bucket importiert.

gcloud beta compute images import my-imported-image \
    --source-file gs://your_gcs_bucket/your_server.vmdk \
    --os debian-9

Optionale Parameter

Standardmäßig werden Gastumgebungspakete allen importierten Bootlaufwerk-Images hinzugefügt. Wenn Sie diese Pakete nicht verwenden möchten, geben Sie Ihren Importbefehl mit dem Flag --no-guest-environment ein.

Nicht bootfähige virtuelle Laufwerke importieren

Console

  1. Laden Sie in der Google Cloud Platform Console die virtuelle Laufwerksdatei auf Cloud Storage hoch.
  2. Rufen Sie die Seite "Image erstellen" auf.
    SEITE "IMAGE ERSTELLEN" AUFRUFEN
  3. Geben Sie unter Name einen Namen für Ihr Image an.
  4. Wählen Sie unter Quelle die Option Virtuelles Laufwerk (VMDK, VHD, …) aus.
  5. Wechseln Sie zum Speicherort für die Cloud Storage-Datei oder geben Sie diesen manuell ein.
  6. Wählen Sie unter "Betriebssystem" die Option Kein Betriebssystem.Nur Daten aus.
  7. (Optional) Geben Sie zusätzliche Attribute für das Image an. Sie können dieses Image beispielsweise als Teil einer Image-Familie definieren.
  8. Klicken Sie auf Erstellen, um das Image zu importieren.

gcloud

Sie können mit dem Befehl gcloud compute images import ein nicht bootfähiges Compute Engine-Image erstellen. Wenn auf Ihrem virtuellen Laufwerk kein bootfähiges Betriebssystem installiert ist, haben Sie die Möglichkeit, es mit dem Flag --data-disk anstelle des Flags --os zu importieren. Dadurch wird der Schritt übersprungen, bei dem Treiber- und Gastumgebungspakete installiert werden, um das Image in Compute Engine bootfähig zu machen.

gcloud compute images import [IMAGE_NAME] \
    --source-file [SOURCE_FILE] \
    --data-disk

Wobei:

  • [IMAGE_NAME] der Name des Ziel-Images ist.
  • [SOURCE_FILE] eine virtuelle Laufwerksdatei ist. Hierbei kann es sich um eine lokale Datei oder um eine in Cloud Storage gespeicherte Datei handeln. Wenn das virtuelle Laufwerk eine lokale Datei ist, können Sie einen absoluten oder relativen Pfad verwenden. Wenn die virtuelle Laufwerksdatei bereits in Cloud Storage gespeichert ist, muss sie in einem Speicher-Bucket in dem Projekt enthalten sein, das für den Importvorgang verwendet wird. Außerdem müssen Sie den vollständigen Pfad der Datei im Format gs://[BUCKET_NAME]/[OBJECT_NAME] angeben.

Befehlsbeispiel

Mit dem folgenden Beispiel wird ein virtuelles Laufwerk namens your_disk.vmdk in gs://your_gcs_bucket importiert.

gcloud compute images import my-imported-image \
    --source-file gs://your_gcs_bucket/your_disk.vmdk \
    --data-disk

Bootfähiges Image erstellen

Wenn Sie über ein benutzerdefiniertes Compute Engine-Image mit einem bootfähigen Betriebssystem, aber nicht über die erforderlichen Compute Engine-Treiber oder Gastumgebungspakete verfügen, können Sie das Tool zum Importieren von Images verwenden, um dieses Image in Compute Engine startfähig zu machen.

Verwenden Sie das Flag --source-image, um ein benutzerdefiniertes Image festzulegen, das startfähig gemacht werden soll, anstelle des Flags --source-file, das ein neues zu importierendes Laufwerk angibt.

gcloud compute images import [IMAGE_NAME] \
        --source-image [SOURCE_IMAGE] \
        --os [OS]

Wobei:

  • [IMAGE_NAME] der Name des Ziel-Images ist.
  • [SOURCE_IMAGE] der Name des Quell-Images ist.
  • [OS] das Betriebssystem von SOURCE_FILE ist. Es sind folgende Betriebssysteme zulässig: centos-6, centos-7, debian-8, debian-9, rhel-6, rhel-7, ubuntu-1404, ubuntu-1604, windows-2008r2, windows-2012, windows-2012r2, windows-2016 oder ein BYOL-lizensiertes Image.

Unterstützung für BYOL (Bring Your Own License, Verwenden Ihrer eigenen Lizenz)

  • Wenn Sie Ihre eigenen Software-Abos von RHEL verwenden, können Sie das BYOL-lizenzierte Image durch einen der folgenden BYOL-Werte für das Feld [OS] bootfähig machen:

    • rhel-6-byol
    • rhel-7-byol
  • Wenn Sie ein BYOL-Image für Windows verwenden, können Sie das BYOL-lizenzierte Image durch einen der folgenden BYOL-Werte für das Feld [OS] bootfähig machen:

    • windows-2008r2-byol
    • windows-2012-byol
    • windows-2012r2-byol
    • windows-2016-byol
    • windows-7-byol
    • windows-10-byol

Befehlsbeispiel

Im folgenden Beispiel wird ein Compute Engine-Image namens my-image in ein bootfähiges Image namens my-bootable-image umgewandelt. In diesem Beispiel ist Ubuntu 16.04 das auf dem Image installierte Betriebssystem.

gcloud compute images import my-bootable-image --source-image=my-image --os=ubuntu-1604

Ressourcenbereinigung

In Cloud Storage gespeicherte Dateien und in Compute Engine vorhandene Images sind kostenpflichtig. Das Importtool importiert die virtuelle Laufwerksdatei in Cloud Storage und erstellt ein benutzerdefiniertes Compute Engine-Image.

Nachdem Sie überprüft haben, ob das Image korrekt importiert und ordnungsgemäß als Compute Engine-Instanz gestartet wurde, können Sie die virtuelle Laufwerksdatei aus Cloud Storage löschen. Das Tool gibt den URI der Datei beim Hochladen in Cloud Storage aus. Dieser URI hat das folgende Format: gs://<bucket name>/tmpimage/<image name>.

Wenn Sie ein Image mit dem Flag --data-disk importieren und dann das Tool import ein zweites Mal ausführen, um das Image mit dem Flag --source-image bootfähig zu machen, ist das erste Image noch vorhanden. Löschen Sie dieses Image, wenn Sie es nicht mehr benötigen. Wenn Sie den gleichen Image-Namen für die Parameter [IMAGE_NAME] und [SOURCE_IMAGE] angeben, wird das Image automatisch überschrieben und es ist keine weitere Bereinigung erforderlich.

Weitere Informationen

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

Feedback geben zu...

Compute Engine-Dokumentation