Virtuelle Laufwerke manuell importieren

Für das Importieren von Bootlaufwerk-Images in Compute Engine von Ihren physischen Datencentern, von virtuellen Maschinen auf Ihrer lokalen Workstation oder von virtuellen Maschinen, die auf einer anderen Cloud-Plattform ausgeführt werden, wird das Tool zum Importieren virtueller Laufwerke empfohlen. Dieses Tool automatisiert alle in dieser Übersicht beschriebenen Schritte.

Wenn Sie das automatisierte Tool nicht verwenden möchten, können Sie der Anleitung in dieser Übersicht Schritt für Schritt folgen.

Beim Importieren von Images kann jeweils nur ein Laufwerk importiert werden. In dieser Übersicht wird das Importieren von Bootlaufwerk-Images beschrieben.

Importieren Sie vorhandene Bootlaufwerke nur, wenn Sie Anwendungen nicht so erstellen oder migrieren können, dass sie mithilfe von öffentlichen Compute Engine-Images ausgeführt werden können. Öffentliche Images sind bereits zur Ausführung in der Compute Engine-Umgebung konfiguriert, sodass Anwendungen auf diesen Images ausgeführt werden können, ohne dass Sie sich um Bootloader- und Betriebssystemkonfigurationen Gedanken machen müssen. In folgenden Fällen müssen Sie jedoch eigene Bootlaufwerk-Images importieren:

  • Die Anwendungen erfordern ein Betriebssystem, das nicht als öffentliches Image bereitgestellt wird.
  • Sie haben bereits einen Satz Basis-Images, mit dem Sie virtuelle Maschinen auf einer anderen Cloud-Plattform erstellen können.
  • Die Arbeit, die erforderlich ist, um Anwendungscode zu einem der öffentlichen Images zu migrieren, ist größer als die Arbeit, die zum Abschluss des Importvorgangs für das Bootlaufwerk-Image erforderlich ist.

Sie können auch von Partnerdiensten Unterstützung bei der Migration für virtuelle Maschinen erhalten. Weitere Informationen finden Sie unter VMs zu Compute Engine migrieren.

Überblick

So importieren Sie ein Bootlaufwerk-Image in Compute Engine:

  1. Planen Sie den Importpfad. Sie müssen festlegen, wo Sie das Bootlaufwerk-Image vorbereiten, bevor Sie es hochladen. Außerdem müssen Sie festlegen, wie Sie die Verbindung zu diesem Image herstellen, nachdem es in der Compute Engine-Umgebung gestartet wurde.
  2. Bereiten Sie das Bootlaufwerk so vor, dass es in der Compute Engine-Umgebung gestartet werden kann, damit Sie nach dem Starten auf das Laufwerk zugreifen können.
  3. Erstellen und komprimieren Sie die Image-Datei des Bootlaufwerks.
  4. Laden Sie die Image-Datei in Cloud Storage hoch und importieren Sie das Image als neues benutzerdefiniertes Image in Compute Engine.
  5. Verwenden Sie das importierte Image, um eine VM-Instanz zu erstellen und sicherzustellen, dass sie ordnungsgemäß gestartet wird.
  6. Wenn das Image nicht ordnungsgemäß gestartet wird, können Sie das Problem beheben, indem Sie das Bootlaufwerk-Image einer anderen Instanz hinzufügen und es neu konfigurieren.
  7. Optimieren Sie das Image und installieren Sie die Gastumgebung, damit das importierte Betriebssystem-Image mit dem Metadatenserver kommunizieren und weitere Compute Engine-Features verwenden kann.

Anforderungen

Anforderungen an das Bootlaufwerk

Zum Importieren von Bootlaufwerken in Compute Engine müssen die Bootlaufwerke die folgenden Anforderungen erfüllen:

  • Wenn Sie einen benutzerdefinierten Betriebssystem-Kernel erstellen, muss er die Anforderungen an die Hardware- und Kernel-Konfiguration erfüllen. Die meisten vordefinierten Linux-Distributionen erfüllen diese Anforderungen bereits, sodass diese Anforderung nur für erfahrene Nutzer gilt, die ihre eigenen benutzerdefinierten Betriebssysteme zur Ausführung in Compute Engine erstellen.
  • Das Bootlaufwerk darf nicht größer als 2.048 GB (2 TB) sein.
  • Das importierte Bootlaufwerk muss eine funktionsfähige MBR-Partitionstabelle oder die Hybridkonfiguration einer GPT-Partitionstabelle mit einem MBR-Bootloader haben.
  • Die primäre Partition des Bootlaufwerks kann ein beliebiges Format haben, solange sie ordnungsgemäß aus dem MBR-Bootloader startet.
  • Der Bootloader auf dem Bootlaufwerk darf nicht die Kernel-Befehlszeilenargumente quiet, rhgb oder splashimage= enthalten. Compute Engine unterstützt beim Start keine Startbildschirme. Sie können diese Werte während der Bootloader-Konfiguration aus der GRUB-Konfiguration entfernen.
  • Das Betriebssystem auf dem Bootlaufwerk muss ACPI unterstützen.

Anforderungen an die Image-Datei

Die Image-Datei, die Sie importieren, muss folgende Anforderungen erfüllen:

  • Der Dateiname des Laufwerk-Images muss disk.raw sein.
  • Die RAW-Image-Datei muss eine Größe in Inkrementen von 1 GB haben. Die Datei kann also z. B. eine Größe von 10 GB oder 11 GB, aber nicht von 10,5 GB haben.
  • Die komprimierte Datei muss eine Datei vom Typ .tar.gz mit GZIP-Komprimierung sein und die Option --format=oldgnu für das Dienstprogramm tar verwenden (Anleitung).

Sie können Bootlaufwerk-Images für jedes Betriebssystem importieren, aber einige Systeme können einfacher für die Compute Engine-Umgebung konfiguriert werden als andere. Die folgenden Betriebssysteme wurden für diese Anleitung getestet:

  • Debian 7 und Debian 8
  • RHEL/CentOS 6
  • openSUSE 13.x
  • Ubuntu 12.04, 14.04 und 16.04

Für die folgenden Betriebssysteme sind möglicherweise zusätzliche Konfigurationsschritte erforderlich, die in dieser Anleitung nicht beschrieben werden:

  • Debian 6 und niedriger
  • RHEL/CentOS 7
  • RHEL/CentOS 5 und niedriger
  • Ubuntu 10.04 und niedriger

Anforderungen an das Projekt

Wenn Sie eine VM-Instanz aus einem importierten Image erstellen, muss die Instanz auf das externe Paket-Repository des Betriebssystems zugreifen können, das auf dem Bootlaufwerk konfiguriert ist.

Auf dieses Repository kann direkt vom Betriebssystem aus oder über eine Netzwerkverbindung zu Ihrer lokalen Infrastruktur zugegriffen werden, in der die Repositories gehostet sind.

Führen Sie in Ihrem Projekt einen der folgenden Schritte aus, um den Zugriff auf das externe Repository einzurichten:

  • Richten Sie eine externe IP-Adresse ein, mit der die VM-Instanzen eine Verbindung zum lokalen Netzwerk oder zu anderen externen Netzwerken herstellen können.
  • Richten Sie eine Bastion-Host-, VPN- oder TCP-Weiterleitung von IAP ein, über die eine Verbindung mit dem lokalen Netzwerk oder anderen externen Netzwerken hergestellt werden kann.

Kosten für das Importieren von Images

Bevor Sie beginnen, müssen Sie verstehen, welche Kosten beim Importvorgang anfallen. Es entstehen keine Kosten für den eingehenden Netzwerktraffic beim Hochladen der Bootlaufwerk-Image-Datei in Cloud Storage und beim Importieren dieses Images als benutzerdefiniertes Compute Engine-Image. Es fallen jedoch Kosten bei einigen Importschritten an:

  • Kosten für die temporäre Speicherung der komprimierten Image-Dateien in einem Cloud Storage-Standard-Bucket. Sie müssen einen temporären Cloud Storage-Bucket zur Speicherung der Dateien verwenden, bevor Sie sie als benutzerdefinierte Compute Engine-Images importieren können. Sie können den Bucket entfernen, nachdem Sie den Importvorgang abgeschlossen haben.
  • Kosten für die Speicherung benutzerdefinierter Images, nachdem Sie sie in Compute Engine importiert haben.
  • Potenzielle Kosten für ausgehende Daten für das vorhandene Rechenzentrum, den Netzwerkanbieter oder den aktuellen Cloud-Dienst. Image-Dateien können auch nach der Komprimierung sehr groß sein. Wenn diese Dateien also in Compute Engine kopiert werden, kann es bei einigen Plattformen zu beträchtlichen Kosten für ausgehende Daten kommen.
  • Kosten für nichtflüchtige Speicher und VM-Instanzen von Compute Engine, auf denen Sie das Image nach dem Import in Compute Engine konfigurieren können.

Importpfad planen und vorbereiten

Die Methode für das Importieren des Laufwerks hängt von der aktuellen Konfiguration des Systems ab, das Sie in Compute Engine verschieben möchten. Sie benötigen ein System, bei dem Sie die Image-Datei des Bootlaufwerks erstellen und komprimieren können, sowie ein System, bei dem Sie die Image-Datei in Cloud Storage hochladen können. Beachten Sie beim Planen des Importpfads Folgendes:

  • Für den Image-Importpfad müssen Sie das Bootlaufwerk in einer funktionierenden Betriebssystemumgebung konfigurieren. Dies kann dazu führen, dass das Bootlaufwerk nicht außerhalb einer Compute Engine-Umgebung gestartet werden kann. Achten Sie darauf, dass keine Daten im Laufwerk verloren gehen und dass keine funktionierenden Geschäftsanwendungen unterbrochen werden, während das System in Compute Engine importiert wird.
  • Ermitteln Sie die vorhandene Systemzugriffskonfiguration und planen Sie, wie Sie auf das System zugreifen möchten, nachdem es in Compute Engine importiert wurde.
    • Wenn das System vorhandene Nutzeranmeldungs- oder SSH-Konfigurationen hat, können Sie nur den Bootloader konfigurieren und das Image später konfigurieren, damit es in Compute Engine optimal ausgeführt wird. Sie können über die vorhandene SSH-Konfiguration oder eine direkte Nutzeranmeldung in der interaktiven seriellen Konsole auf die Instanz zugreifen.
    • Wenn das System keine vorhandenen Nutzeranmeldungs- oder SSH-Konfigurationen hat, müssen Sie das Bootlaufwerk so konfigurieren, dass auf das Laufwerk zugegriffen werden kann, sobald es in Compute Engine gestartet wird.
  • Der Import kann je nach Größe des Bootlaufwerks und Geschwindigkeit der Netzwerkverbindung mehrere Stunden oder Tage dauern.
  • Das System, auf dem Sie das Bootlaufwerk-Image erstellen und komprimieren, muss genügend Speicherplatz zum Erstellen der Image-Dateien auf einem anderen Speichergerät als dem Bootlaufwerk haben. Im Allgemeinen belegen die Image- und tar.gz-Dateien zwei- bis dreimal so viel Speicherplatz wie das Bootlaufwerk.
  • Machen Sie sich mit der Dateisystemstruktur des vorhandenen Systems vertraut, das importiert werden soll.
    • Wenn die Betriebssystem- und Anwendungsdateien über mehrere Laufwerke verteilt sind, importieren Sie jedes dieser Laufwerke einzeln und erstellen Sie mit jedem Image einen speziellen nichtflüchtigen Speicher für die Compute Engine-VM-Instanz.
    • Wenn die Systeme Start-Volumes in einer RAID-Konfiguration haben, bei der mehrere Laufwerke als einzelnes logisches Volume fungieren, erstellen Sie ein einzelnes Image aus dem gesamten Array statt eines Images für jedes Laufwerk im Array. Nichtflüchtige Compute Engine-Speicher machen RAID-Konfigurationen unnötig.
  • Wenn das System den Inhalt des Bootlaufwerks mit einem Trusted Platform Module oder einer Verschlüsselung auf Softwareebene verschlüsselt, entschlüsseln Sie das Bootlaufwerk, bevor Sie die Bootlaufwerk-Image-Datei erstellen. Google kann verschlüsselte Images nicht lesen. Wir verschlüsseln Ihre Images nach dem Hochladen. Dabei können Sie eigene Verschlüsselungsschlüssel für nichtflüchtige Speicher und Cloud Storage-Buckets angeben.

Nachdem Sie ein System gefunden oder erstellt haben, in dem Sie den Importvorgang beenden können, stellen Sie eine Verbindung zu diesem System her und konfigurieren Sie den Bootloader.

Bootlaufwerk-Image vorbereiten

Bereiten Sie das Bootlaufwerk-Image in einem laufenden System so vor, dass es in einer Compute Engine-Umgebung ausgeführt werden kann.

  • Konfigurieren Sie den Bootloader auf dem Bootlaufwerk so, dass das Image in Compute Engine gestartet werden kann.
  • Konfigurieren Sie den Zugriff über SSH oder Nutzeranmeldung auf dem Bootlaufwerk so, dass Sie darauf zugreifen können, nachdem Sie es in Compute Engine importiert haben, und es als VM-Instanz starten können.

Dieser Vorgang kann dazu führen, dass das System außerhalb von Compute Engine nicht gestartet werden kann. Es empfiehlt sich, diesen Schritt auf einem isolierten System mithilfe einer Kopie des zu importierenden Bootlaufwerks auszuführen.

Bootloader konfigurieren

Konfigurieren Sie den Bootloader auf dem System, damit es in Compute Engine gestartet werden kann.

  1. Stellen Sie die Verbindung zum Terminal auf dem System mit dem Bootlaufwerk her, das importiert werden soll.

  2. Bearbeiten Sie die GRUB-Konfigurationsdatei. Im Allgemeinen ist diese Datei unter /etc/default/grub gespeichert. Bei einigen älteren Distributionen kann sie jedoch in einem nicht standardmäßigen Verzeichnis gespeichert sein.

  3. Nehmen Sie die folgenden Änderungen an der GRUB-Konfigurationsdatei vor:

  4. Erstellen Sie die Datei grub.cfg noch einmal. Verwenden Sie je nach Distribution einen der folgenden Befehle.

    • Debian und Ubuntu: sudo update-grub
    • RHEL/CentOS: sudo grub-mkconfig -o /boot/grub/grub.cfg
    • SUSE, openSUSE: sudo grub2-mkconfig -o /boot/grub/grub.cfg
  5. Bearbeiten Sie die Datei /etc/fstab und entfernen Sie Verweise auf alle Laufwerke und Partitionen mit Ausnahme des Bootlaufwerks und der Partitionen auf diesem Bootlaufwerk. Ungültige Einträge in /etc/fstab können dazu führen, dass der Systemstartvorgang angehalten wird.

Erstellen Sie nach dem Konfigurieren des Bootloaders die Laufwerk-Image-Datei und komprimieren Sie sie.

SSH- oder Nutzeranmeldezugriff auf das Image konfigurieren

Sobald das Image in Compute Engine als VM-Instanz ausgeführt wird, müssen Sie auf diese Instanz zugreifen können. Sie können die Verbindung zur Instanz mithilfe einer vorhandenen SSH-Konfiguration herstellen oder sich mit Nutzernamen und Passwort anmelden. Dazu stellen Sie eine Verbindung zur seriellen Konsole her.

Schließen Sie die SSH- oder Nutzeranmeldekonfiguration ab, bevor Sie die Laufwerk-Image-Datei erstellen und komprimieren.

Laufwerk-Image-Datei erstellen und komprimieren

Erstellen und komprimieren Sie die Bootlaufwerk-Image-Datei für das System, das Sie in Compute Engine importieren möchten. Das Erstellen und Komprimieren der Image-Datei verläuft unterschiedlich je nach Plattform, auf der die Systeme ausgeführt werden.

Allgemein

Dieser Vorgang kann auf nahezu jedem System verwendet werden, um eine RAW-Image-Datei zu erstellen, die Sie in Compute Engine importieren können. Sie können diesen Vorgang auf dem gestarteten System ausführen, das Sie importieren, oder das Bootlaufwerk als sekundäres Laufwerk auf einem anderen System hinzufügen und das Bootlaufwerk-Image über das angehaltene Laufwerk erstellen. Es muss genügend Speicherplatz zur temporären Speicherung der Laufwerk-Image-Dateien vorhanden sein. In diesem Beispiel wird ein Image über ein laufendes System erstellt.

  1. Stellen Sie die Verbindung zum Terminal auf dem System her, das das zu importierende Bootlaufwerk enthält.

  2. Mit dem Befehl lsblk bestimmen Sie das Quell-Bootlaufwerk, von dem aus Sie ein Image erstellen möchten, sowie einen Speicherort, an dem genügend Speicherplatz zum Schreiben der Image-Dateien vorhanden ist. In diesem Beispiel ist /dev/sda das Quell-Bootlaufwerk und /dev/sdb ist ein großes sekundäres Laufwerk, das im Verzeichnis /tmp bereitgestellt wird. Obwohl /dev/sda in Betrieb ist wird, können Sie ein Image erstellen. Dies erfolgt am besten auf einem System mit wenig Aktivität, auf dem keine Daten aktiv verarbeitet und keine Anwendungen ausgeführt werden.

        lsblk
        
        NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
        sda      8:0    0  100G  0 disk
        ├─sda1   8:1    0   96G  0 part /
        ├─sda2   8:2    0    1K  0 part
        └─sda3   8:5    0    4G  0 part [SWAP]
        sdb      8:16   0  500G  0 disk /tmp
        sr0     11:0    1 1024M  0 rom
        
  3. Erstellen Sie die Image-Datei vom Bootlaufwerk.

        sudo dd if=/dev/sda of=/tmp/disk.raw bs=4M conv=sparse
        
  4. Wechseln Sie zu dem Verzeichnis, in dem Sie die Datei disk.raw geschrieben haben.

        cd /tmp
        
  5. Komprimieren Sie das RAW-Laufwerk im tar.gz-Format. Mit diesem Schritt wird die Image-Datei komprimiert, damit Sie sie schneller in Cloud Storage hochladen können. Unter OSX installieren Sie gtar und verwenden sie anstelle von tar.

        sudo tar --format=oldgnu -Sczf /tmp/compressed-image.tar.gz disk.raw
        

AWS EC2

Wenn Sie eine Amazon EC2-Instanz importieren, bündeln Sie das Amazon EBS-Volume mithilfe der AMI-Tools:

  1. Ermitteln Sie in der Konsole für Kontoeinstellungen die Amazon-Konto-ID und merken Sie sich diese.

  2. In der Amazon EC2-Instanz können Sie die EC2-AMI-Tools herunterladen und installieren.

  3. Führen Sie ec2-bundle-vol als Root aus.

        ec2-bundle-vol -c /tmp/build/cert-[hash].pem \
            -k /tmp/build/pk-[hash].pem -u aws-account-id \
            -r x86_64 --no-filter --exclude /tmp/build \
            --grub-config /tmp/build/menu.lst \
            --fstab /tmp/build/fstab
        

    Ersetzen Sie Folgendes:

    • cert- [hash].pem: Die Zertifikatsdatei.
    • pk- [hash].pem: Der private Schlüssel.
    • aws-account-id: Ihre Amazon-Konto-ID. Mit diesem Befehl wird die image-Datei erstellt.
  4. Komprimieren Sie das RAW-Laufwerk im tar.gz-Format. Mit diesem Schritt wird die Image-Datei komprimiert, damit Sie sie schneller in Cloud Storage hochladen können. Unter OSX installieren Sie gtar und verwenden sie anstelle von tar.

        sudo tar --format=oldgnu -Sczf /tmp/compressed-image.tar.gz disk.raw
        

VirtualBox

Wenn Sie das System in einer VirtualBox-Umgebung vorbereitet haben, können Sie das VBoxManage-Tool verwenden, um ein .vdi- oder .qcow2-Laufwerk-Image in das disk.raw-Format zu konvertieren.

  1. Fahren Sie die VirtualBox-Gastmaschine herunter, die importiert werden soll, und ersetzen Sie Gastname durch den Namen der Gastmaschine. Sie können die Gastmaschine über die VirtualBox-Oberfläche oder das VBoxManage-Dienstprogramm herunterfahren.

    VBoxManage controlvm guest-name acpipowerbutton
  2. Konvertieren Sie das Gast-Image mit dem VBoxManage-Dienstprogramm ins RAW-Format und ersetzen Sie Gast-Image durch den Pfad zum Gast-Image. Dieses Gast-Image kann entweder als vdi- oder qcow2-Datei angegeben werden:

    VBoxManage clonemedium guest-image ~/disk.raw --format RAW
  3. Komprimieren Sie das RAW-Laufwerk im tar.gz-Format. Mit diesem Schritt wird die Image-Datei komprimiert, damit Sie sie schneller in Cloud Storage hochladen können. Unter OSX installieren Sie gtar und verwenden sie anstelle von tar.

        sudo tar --format=oldgnu -Sczf /tmp/compressed-image.tar.gz disk.raw
        

Die Image-Datei ist komprimiert und kann in Cloud Storage hochgeladen werden.

Image in die Liste benutzerdefinierter Images importieren

Laden Sie die Datei in Cloud Storage hoch und importieren Sie das Image in die Liste benutzerdefinierter Images. Bei Bedarf können Sie das Image verschlüsseln, während es importiert wird.

Importieren Sie das Image mit der Console oder den Cloud SDK-Tools:

Console

Kopieren Sie die Datei compressed-image.tar.gz auf die lokale Workstation und verwenden Sie die Cloud Console, um einen Bucket zu erstellen und die Datei hochzuladen.

  1. Wechseln Sie in der Cloud Console zum Cloud Storage-Browser.

    Zur Seite "Browser"

  2. Klicken Sie oben auf der Seite auf Bucket erstellen.
  3. Geben Sie einen eindeutigen Bucket-Namen, die Storage-Klasse Standard und einen Standort an, in dem Sie die Image-Dateien speichern möchten.
  4. Klicken Sie auf Erstellen, um den Bucket zu erstellen. Auf der Seite "Browser" wird der neue Bucket angezeigt.
  5. Klicken Sie oben auf der Seite auf Dateien hochladen.
  6. Wählen Sie im Dateidialogfeld die Datei compressed-image.tar.gz aus, die Sie von Ihrem System heruntergeladen haben. Die Datei wird von der lokalen Workstation hochgeladen. Dieser Schritt kann mehrere Stunden dauern, je nach Größe der komprimierten Image-Datei und Geschwindigkeit der Netzwerkverbindung.

Nachdem Sie das Image in Cloud Storage hochgeladen haben, importieren Sie die Image-Datei in die Liste benutzerdefinierter Images.

  1. Rufen Sie in der Cloud Console die Seite Images auf.

    Zur Seite „Images“

  2. Klicken Sie oben auf der Seite auf Image erstellen.
  3. Geben Sie im Feld Name einen eindeutigen Namen für das Image an.
  4. Geben Sie bei Bedarf eine Image-Familie für das neue Image an oder konfigurieren Sie Verschlüsselungseinstellungen für das Image.
  5. Klicken Sie auf das Menü Quelle und wählen Sie Cloud Storage-Datei aus.
  6. Geben Sie den Pfad zur Datei compressed-image.tar.gz ein, die Sie in Cloud Storage hochgeladen haben.

    bucket-name/compressed-image.tar.gz
  7. Klicken Sie auf Erstellen, um das Image zu importieren. Dieser Vorgang kann je nach Größe des Bootlaufwerk-Images einige Minuten dauern.

Das Image ist jetzt auf der Seite Images zu sehen. Sie müssen jedoch zuerst den Bootloader konfigurieren, damit Sie mit dem Image eine funktionsfähige VM-Instanz erstellen können.

gcloud und gsutil

Mit den Tools gsutil und gcloud können Sie die komprimierte Bootlaufwerk-Image-Datei hochladen. Dazu können Sie das System verwenden, auf dem Sie das Bootlaufwerk-Image erstellt haben. Sie können diese Datei aber auch auf ein anderes System kopieren und von dort hochladen.

  1. Installieren und initialisieren Sie das Cloud SDK auf dem System, von dem Sie die Datei compressed-image.tar.gz hochladen möchten.

  2. Verwenden Sie das Tool gsutil, um einen neuen Cloud Storage-Bucket zu erstellen.

    gsutil mb gs://bucket-name
  3. Laden Sie die Datei compressed-image.tar.gz in den neuen Bucket hoch.

    gsutil cp compressed-image.tar.gz gs://bucket-name
  4. Importieren Sie die Image-Datei als neues benutzerdefiniertes Image.

        gcloud compute images create image-name --source-uri gs://bucket-name/compressed-image.tar.gz
        

    Ersetzen Sie Folgendes:

    • Image-Name: Der Name des Images, das Sie importiert haben.
    • Bucket-Name: Der Name des Buckets, in dem das importierte Image gespeichert ist.

Das Image ist jetzt in der Liste der benutzerdefinierten Images zu sehen. Sie müssen jedoch zuerst den Bootloader konfigurieren, damit Sie mit dem Image eine funktionsfähige VM-Instanz erstellen können.

    gcloud compute images list --no-standard-images
    
    NAME                                            PROJECT                  FAMILY                    DEPRECATED  STATUS
    [IMAGE_NAME]                                    [PROJECT_ID]                                                   READY

Importiertes Image testen

Prüfen Sie, ob das importierte Image wie erwartet funktioniert. Erstellen Sie eine Instanz mit einem Bootlaufwerk, das das importierte Image verwendet.

Console

  1. Öffnen Sie in der Cloud Console die Seite VM-Instanzen.

    Zur Seite Instanzen

  2. Klicken Sie auf Instanz erstellen.
  3. Klicken Sie unter Bootlaufwerk auf Ändern, um mit der Konfiguration Ihres Bootlaufwerks zu beginnen.
  4. Klicken Sie auf dem Tab Benutzerdefinierte Images auf das Image, das Sie importiert haben.
  5. Klicken Sie auf Auswählen, um die Konfiguration des Bootlaufwerks zu bestätigen.
  6. Klicken Sie auf Erstellen, um die Instanz zu erstellen.

gcloud

gcloud compute instances create instance-name --zone zone --image image-name

Ersetzen Sie Folgendes:

  • Instanzname: Ein eindeutiger Name für Ihre Instanz.
  • Zone: Die Zone, in der Sie das eigenständige Laufwerk erstellt haben.
  • Image-Name: Der Name des Images, das Sie importiert haben.

Nachdem die Instanz erstellt wurde, prüfen Sie, ob ordnungsgemäß gestartet wurde. Prüfen Sie die Ausgabe des seriellen Ports:

Console

  1. Öffnen Sie in der Cloud Console die Seite VM-Instanzen.

    Zur Seite Instanzen

  2. Klicken Sie in der Liste der Instanzen auf den Namen der Instanz, die Sie aus dem importierten Image erstellt haben. Die Seite mit den Instanzdetails wird geöffnet.
  3. Klicken Sie im Bereich Logs auf den entsprechenden seriellen Port, um die Ausgabe des seriellen Ports für diese Instanz zu maximieren und anzusehen.

Wenn die Instanz bei Booting from Hard Disk 0... beendet wurde, beheben Sie die Probleme innerhalb der Compute Engine-Umgebung. Sie können auch das Bootlaufwerk auf dem ursprünglichen System neu konfigurieren und den Importvorgang wiederholen.

gcloud

gcloud compute instances get-serial-port-output instance-name

Wenn die Instanz bei Booting from Hard Disk 0... beendet wurde, beheben Sie die Probleme innerhalb der Compute Engine-Umgebung. Sie können auch das Bootlaufwerk auf dem ursprünglichen System neu konfigurieren und den Importvorgang wiederholen.

Sie können die Instanz auch testen, indem Sie eine Verbindung zu ihr herstellen. Verwenden Sie dazu eine der folgenden Möglichkeiten:

  • SSH: Wenn die Instanz eine funktionierende SSH-Konfiguration hat, können Sie die Verbindung zur Instanz mit SSH und dem privaten Schlüssel herstellen. Sie finden die IP-Adresse der Instanz auf der Seite VM-Instanzen.
  • Serielle Konsole: Wenn Sie sich direkt ohne SSH in der Instanz anmelden müssen, können Sie die serielle Konsole aktivieren und sich mit Nutzername und Passwort anmelden.

Probleme mit Bootlaufwerk beheben

Wenn die Instanz nicht gestartet wird und Sie weder eine Verbindung zu ihr herstellen noch sich über die interaktive serielle Konsole anmelden können, prüfen Sie, warum das Bootlaufwerk nicht gestartet und hochgefahren wird.

Nachdem Sie die Ursache für den Fehler beim Starten und Hochfahren ermittelt haben, gibt es zwei Möglichkeiten, das Problem zu beheben:

Probleme mit Bootlaufwerken in Compute Engine beheben

Stellen Sie das importierte Image auf einem zweiten Laufwerk bereit, das einer temporären VM-Instanz hinzugefügt wurde. Verwenden Sie die Cloud Console oder das gcloud-Tool, um ein eigenständiges Laufwerk anhand des hochgeladenen Images und eine temporäre VM zu erstellen, an dem das eigenständige Laufwerk angehängt ist. Mit dieser Instanz können Sie Dateien auf dem eigenständigen Laufwerk ändern und Probleme beheben, die den Fehler beim Starten des Images verursacht haben.

Console

Erstellen Sie ein eigenständiges Laufwerk aus dem importierten Bootlaufwerk-Image. Alternativ können Sie ein Bootlaufwerk von einer Instanz trennen und die Instanz mit dem frei gewordenen Bootlaufwerk erstellen.

console Specify the name of the boot disk image that you imported. Select a zone near you. You must use this same zone when you create your temporary instance. image

Erstellen Sie eine temporäre Instanz, der Sie das eigenständige Laufwerk hinzufügen können, und konfigurieren Sie den Bootloader so, dass er in der Umgebung der Cloud Console verwendet werden kann.

  1. Öffnen Sie in der Google Cloud Console die Seite VM-Instanzen.

    Zur Seite Instanzen

  2. Klicken Sie auf Instanz erstellen.
  3. Geben Sie auf der Seite Neue Instanz erstellen einen Instanznamen und eine Zone an, in der die Instanz gespeichert wird. Die Zone muss mit der Zone identisch sein, in der Sie das eigenständige Laufwerk erstellt haben.
  4. Erweitern Sie den Abschnitt Verwaltung, Sicherheit, Laufwerke, Netzwerke, einzelne Mandanten.
  5. Klicken Sie unter dem Tab Laufwerke im Bereich Zusätzliche Laufwerke auf Vorhandenes Laufwerk hinzufügen. Ein neuer Abschnitt wird angezeigt.
  6. Wählen Sie im Bereich Laufwerk das eigenständige Laufwerk aus, das Sie im Drop-down-Menü erstellt haben. Dadurch wird der Instanz das eigenständige Laufwerk hinzugefügt, sodass Sie es bereitstellen und den Inhalt des Laufwerks später ändern können.
  7. Klicken Sie auf Fertig, um das Hinzufügen des Laufwerks abzuschließen.
  8. Klicken Sie auf Erstellen, um die Instanz zu erstellen.

gcloud

Erstellen Sie ein eigenständiges Laufwerk aus dem importierten Bootlaufwerk-Image. Alternativ können Sie ein Bootlaufwerk von einer Instanz trennen und die Instanz mit dem frei gewordenen Bootlaufwerk erstellen.

gcloud compute disks create disk-name --zone zone --image image-name

Ersetzen Sie Folgendes:

  • Laufwerkname: Der Name des neuen eigenständigen Laufwerks.
  • Zone: Eine Zone in Ihrer Nähe. Wenn Sie die temporäre Instanz erstellen, müssen Sie dieselbe Zone verwenden.
  • Image-Name: Der Name des Bootlaufwerk-Images, das Sie importiert haben.

Erstellen Sie eine temporäre Instanz, der Sie das eigenständige Laufwerk hinzufügen können, und konfigurieren Sie den Bootloader so, dass er in der Umgebung der Cloud Console verwendet werden kann.

gcloud compute instances create instance-name --zone zone --disk name=disk-name

Ersetzen Sie Folgendes:

  • Instanzname: Ein eindeutiger Name für Ihre Instanz.
  • Zone: Die Zone, in der Sie das eigenständige Laufwerk erstellt haben.
  • Laufwerkname: Der Name des eigenständigen Laufwerks, das Sie aus dem importierten Bootlaufwerk-Image erstellt haben.

Nachdem Sie die Instanz mit dem hinzugefügten eigenständigen Laufwerk erstellt haben, ist eine virtuelle Umgebung vorhanden, in der Sie den Bootloader auf dem ursprünglichen Bootlaufwerk-Image ändern können.

Stellen Sie die Verbindung zur Instanz her, stellen Sie das eigenständige Laufwerk bereit und konfigurieren Sie den Bootloader so, dass er in Compute Engine ordnungsgemäß gestartet wird.

  1. Stellen Sie eine Verbindung zur temporären Instanz her. Verwenden Sie dazu SSH über den Browser oder den Befehl gcloud compute ssh.
  2. Identifizieren das zu ändernde Laufwerk sowie die bereitzustellenden Partitionen über den Befehl blkid. In diesem Beispiel ist /dev/sdb das Laufwerk, das Sie importiert haben.

        lsblk
        
        NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
        sda      8:0    0   10G  0 disk
        └─sda1   8:1    0   10G  0 part /
        sdb      8:16   0  100G  0 disk
        ├─sdb1   8:17   0   96G  0 part
        ├─sdb2   8:18   0    1K  0 part
        └─sdb5   8:21   0    4G  0 part
        
  3. Stellen Sie die Root-Partition über das eigenständige Laufwerk im Verzeichnis /tmp bereit. In diesem Beispiel ist /dev/sdb1 die Root-Partition. Die anderen Partitionen müssen nicht geändert werden. Sie müssen für Ihr Partitionsschema möglicherweise mehrere Partitionen bereitstellen, bevor Sie auf alle Dateien zugreifen können, die Sie ändern müssen.

        sudo mount /dev/sdb1 /tmp
        
  4. Bearbeiten Sie Dateien, die verhindern können, dass das Laufwerk gestartet wird. Weitere Informationen finden Sie in der Anleitung zur Bootloader-Konfiguration.

  5. Heben Sie die Bereitstellung des Bootlaufwerks über die temporäre Instanz auf.

        sudo umount /tmp
        

Wenn Sie mit der Konfiguration dieses Laufwerks fertig sind, trennen Sie es und verwenden Sie es als Bootlaufwerk für die neue Instanz.

Console

Heben Sie die Bereitstellung des eigenständigen Laufwerks über die temporäre Instanz auf.

  1. Öffnen Sie in der Google Cloud Console die Seite VM-Instanzen.

    Zur Seite Instanzen

  2. Klicken Sie in der Liste der Instanzen auf den Namen der temporären Instanz, in der Sie das eigenständige Bootlaufwerk geändert haben. Die Seite mit den Instanzdetails wird geöffnet.
  3. Klicken Sie oben auf der Seite Instanzdetails auf Bearbeiten.
  4. Klicken Sie im Bereich Zusätzliche Laufwerke neben dem eigenständigen Laufwerk auf das X, um anzugeben, dass Sie es von der temporären Instanz trennen möchten.
  5. Klicken Sie unten auf der Seite auf Speichern, um die Änderungen zu speichern.

Verwenden Sie das getrennte eigenständige Laufwerk, um eine neue Instanz zu erstellen.

  1. Öffnen Sie in der Google Cloud Console die Seite VM-Instanzen.

    Zur Seite Instanzen

  2. Klicken Sie auf Instanz erstellen.
  3. Geben Sie auf der Seite Neue Instanz erstellen einen Instanznamen und eine Zone an, in der die Instanz gespeichert wird. Die Zone muss mit der Zone identisch sein, in der Sie das eigenständige Laufwerk erstellt haben.
  4. Klicken Sie im Bereich Bootlaufwerk auf Ändern, um mit der Konfiguration des Bootlaufwerks zu beginnen.
  5. Wählen Sie auf dem Tab Vorhandene Laufwerke das eigenständige Bootlaufwerk aus, um es als Bootlaufwerk für diese neue Instanz zu verwenden.
  6. Klicken Sie auf Erstellen, um die Instanz zu erstellen.

gcloud

Heben Sie die Bereitstellung des eigenständigen Laufwerks über die temporäre Instanz auf.

gcloud compute instances detach-disk instance-name --disk disk-name

Ersetzen Sie Folgendes:

  • Instanzname: Ein eindeutiger Name für Ihre Instanz.
  • Laufwerkname: Der Name des neuen eigenständigen Laufwerks.

Verwenden Sie das getrennte eigenständige Laufwerk, um eine neue Instanz zu erstellen.

gcloud compute instances create instance-name --zone zone --disk name=disk-name,boot=yes

Ersetzen Sie Folgendes:

  • Instanzname: Ein eindeutiger Name für Ihre Instanz.
  • Zone: Die Zone, in der das eigenständige Laufwerk gespeichert ist.
  • Laufwerkname: Der Name des eigenständigen Laufwerks, das Sie aus dem importierten Bootlaufwerk-Image erstellt haben.

Testen Sie die erstellte Instanz mit dem geänderten Bootlaufwerk. Wenn Sie immer noch keine Verbindung zur Instanz herstellen können, prüfen Sie in der Ausgabe der seriellen Konsole, wo der Bootvorgang fehlschlägt. Wiederholen Sie die Fehlerbehebung, bis die Probleme mit dem Bootlaufwerk-Image behoben sind.

Weitere Informationen