Benutzerdefinierte Linux-Images importieren

Mit dem Compute-Service können Sie Linux-basierte Images importieren, die außerhalb von Oracle Cloud Infrastructure (OCI) erstellt wurden. Beispiel: Sie können Images, die On Premise auf physischen Maschinen oder virtuellen Maschinen (VMs) ausgeführt werden, oder in Oracle Cloud Infrastructure Classic ausgeführte VMs importieren. Danach können Sie die importierten Images auf Compute-VMs starten.

Startmodi

Im Rahmen des Importprozesses wird ein Startmodus auf das Image angewendet. Der Startmodus eines Images ist ein vordefiniertes Set aus Startoptionen. Sie können importierte Linux-VMs entweder im paravirtualisierten oder im emulierten Modus starten. Auf AMD- und ARM-basierten Ausprägungen, Oracle Linux Cloud Developer-Images und Red Hat Enterprise Linux-Images werden importierte Images nur im paravirtualisierten Modus unterstützt.

Der paravirtualisierte Modus bietet eine bessere Performance als der emulierte Modus. Oracle empfiehlt, den paravirtualisierten Modus zu verwenden, wenn das BS diesen unterstützt. Linux-basierte Betriebssysteme, auf denen die Kernelversion 3.4 oder höher ausgeführt wird, unterstützen paravirtualisierte Treiber. Sie können die Kernelversion des Systems mit dem Befehl uname prüfen.

So prüfen Sie die Kernelversion mit dem Befehl "uname"

Führen Sie den folgenden Befehl aus:

uname -a

Die Ausgabe sollte dem folgenden Beispiel ähneln:

Linux ip_bash 4.14.35-1818.2.1.el7uek.x86_64 #2 SMP Mon Aug 27 21:16:31 PDT 2018 x86_64 x86_64 x86_64 GNU/Linux

Die Kernelversion ist die Zahl im ersten Teil der Ausgabezeichenfolge. In der vorstehenden Beispielausgabe ist die Version 4.14.35.

Wenn das Image paravirtualisierte Treiber unterstützt, können Sie Ihre im emulierten Modus vorhandenen Instanzen in paravirtualisierte Instanzen konvertieren. Nach Abschluss der Konvertierung werden aus dem Image erstellte Instanzen im paravirtualisierten Modus gestartet.

So konvertieren Sie Instanzen im emulierten Modus in paravirtualisierte Instanzen
  1. Erstellen Sie ein benutzerdefiniertes Image Ihrer Instanz.
  2. Bearbeiten Sie die Imagefunktionen für das benutzerdefinierte Image, um die folgenden Einstellungen zu verwenden:

    • Wählen Sie unter Firmware und Bevorzugte Firmware die Option BIOS aus.
    • Wählen Sie für die folgenden Felder Paravirtualisiert aus.

      • Startmodus
      • Bevorzugter Startmodus
      • NIC-Anhangstyp
      • Bevorzugter Netzwerkanhangstyp
      • Boot-Volume-Typ
      • Bevorzugter Boot-Volume-Typ
      • Lokales Datenvolumen
      • Bevorzugter lokaler Daten-Volume-Typ
      • Remote-Datenträger
      • Bevorzugter Remotedaten-Volume-Typ

Unterstützte Betriebssysteme

Die Linux- und UNIX-ähnlichen Betriebssysteme in der folgenden Tabelle unterstützen den Import benutzerdefinierter Images.

Supportdetails:

  • Oracle Cloud Infrastructure hat die in der folgenden Tabelle aufgeführten Betriebssysteme getestet und unterstützt Kunden dabei, sicherzustellen, dass über diese Images gestartete und gemäß den Richtlinien in diesem Thema erstellte Instanzen mit SSH zugänglich sind.
  • Für jede BS-Version, die nicht von einem offiziellen Supportservice von Oracle (z.B. Oracle Linux mit Premier Support) abgedeckt ist, bietet Oracle Cloud Infrastructure kommerziell angemessenen Support, der auf das Starten und Aufrufen einer Instanz über SSH beschränkt ist.
  • Durch den Support von Oracle Cloud Infrastructure beim Erstellen einer Instanz aus einem benutzerdefinierten BS wird nicht sichergestellt, dass der Betriebssystemhersteller die Instanz auch unterstützt. Kunden, die Oracle Linux auf Oracle Cloud Infrastructure ausführen, haben automatisch Zugriff auf Oracle Linux Premier Support.
Linux- oder UNIX-ähnliches Betriebssystem Unterstützte Versionen
CentOS 6.9, 7, Stream 8 oder höher
Debian 5.0.10, 6.0, 7, 8 oder höher
Flatcar Container Linux 2345.3.0 oder höher
FreeBSD 8, 9, 10, 11, 12 oder höher
openSUSE Leap 15.1
Oracle Linux 5.11, 6.x, 7.x, 8.x, 9.x
RHEL

Unterstützung von Red Hat und OCI über das Red Hat Certified Cloud and Service Provider-(CCSP-)Programm: Die Versionen und Ausprägungen finden Sie unter Red Hat Ecosystem Catalog - Oracle Cloud Infrastructure

Begrenzter Support von OCI: 4.5, 5.5, 5.6, 5.9, 5.11, 6.5, 6.9, 7 oder höher

SUSE 11, 12.1, 12.2 oder höher
Ubuntu 12.04, 13.04 oder höher

Red Hat Enterprise Linux-(RHEL-)Images

Bestimmte Versionen von Red Hat Enterprise Linux-(RHEL-)Images werden über das Red Hat Certified Cloud and Service Provider-(CCSP-)Programm unterstützt. So erstellen Sie eine Instanz mit einem unterstützten RHEL-Image:

  1. Identifizieren Sie die RHEL-Versionen und Compute-Ausprägungen, die durch Prüfen des Red Hat Ecosystem Catalog - Oracle Cloud Infrastructure unterstützt werden.
  2. Laden Sie eine unterstützte Version von RHEL aus dem Red Hat-Kundenportal herunter. Das Bildformat muss das KVM-Gastbild sein.
  3. Laden Sie das Image in einen Bucket in Object Storage hoch. Es wird empfohlen, einen separaten Bucket für RHEL-Images zu erstellen.
  4. Image als benutzerdefiniertes Image importieren. Verwenden Sie die folgenden Einstellungen:

    • Imagetyp: QCOW2
    • Startmodus: Paravirtualisierter Modus
  5. Legen Sie fest, dass das benutzerdefinierte Image mit den für das Image unterstützten Ausprägungen kompatibel ist.
  6. Erstellen Sie eine Instanz, die das benutzerdefinierte RHEL-Image und eine unterstützte Ausprägung verwendet.
  7. Stellen Sie eine Verbindung zur Instanz her. Der Standardbenutzername ist cloud-user.

Anforderungen an Linux-Quellimages

Benutzerdefinierte Images müssen die folgenden Anforderungen erfüllen:

  • Die maximale Imagegröße ist 400 GB.

  • Das Image muss für den BIOS-Boot eingerichtet sein.

  • Es wird nur ein Datenträger unterstützt. Dieser muss das Boot-Laufwerk mit einem gültigen Master-Boot-Datensatz (MBR) und Boot Loader sein. Sie können zusätzliche Daten-Volumes migrieren, nachdem Sie das Boot-Volume des Images importiert haben.

  • Für einen erfolgreichen Boot-Prozess dürfen keine zusätzlichen Daten-Volumes erforderlich sein.

  • Der Boot Loader muss LVM oder eine UUID verwenden, um das Boot-Volume zu ermitteln.

  • Das Datenträgerimage darf nicht verschlüsselt sein.

  • Das Datenträgerimage muss eine VMDK- oder QCOW2-Datei sein.

    • Erstellen Sie die Imagedatei durch Klonen des Quell-Volumes und nicht durch Erstellen eines Snapshots.
    • VMDK-Dateien müssen entweder vom Typ "Single Growable" (monolithicSparse) oder vom Typ "Stream Optimized" (streamOptimized) sein, die beide aus einer einzigen VMDK-Datei bestehen. Alle anderen VMDK-Formate wie solche, die mehrere Dateien verwenden, aus aufgeteilten Volumes bestehen oder Snapshots enthalten, werden nicht unterstützt.
  • Die Netzwerkschnittstelle muss die Netzwerkeinstellungen über DHCP ermitteln. Wenn Sie ein benutzerdefiniertes Image importieren, werden bestehende Netzwerkschnittstellen nicht neu erstellt. Alle vorhandenen Netzwerkschnittstellen werden durch eine NIC ersetzt, nachdem der Importprozess abgeschlossen ist. Sie können zusätzliche VNICs anhängen, nachdem Sie die importierte Instanz gestartet haben.

  • Die Netzwerkkonfiguration darf die MAC-Adresse für die Netzwerkschnittstelle nicht hartcodieren.

Die Aktivierung von zertifikatbasiertem SSH wird empfohlen, ist jedoch optional. Wenn das Image automatisch SSH-Schlüssel verwenden soll, die beim Start einer Instanz von einem Initialisierungsskript bereitgestellt werden, können Sie cloud-init bei der Vorbereitung des Images installieren. Weitere Informationen zur Angabe von Benutzerdaten finden Sie unter Instanzen erstellen.

Linux-VMs für Import vorbereiten

Vor dem Import eines benutzerdefinierten Linux-Images müssen Sie das Image vorbereiten, damit die über das Image gestarteten Instanzen korrekt gebootet werden können und die Netzwerkverbindungen funktionieren. Gehen Sie folgendermaßen vor:

  1. Konfigurieren Sie optional das Linux-Image so, dass serielle Konsolenverbindungen unterstützt werden. Mit einer Konsolenverbindung können Sie fehlerhafte Instanzen remote korrigieren, z.B. wenn ein importiertes Image keinen erfolgreichen Boot-Vorgang ausführt.

  2. Erstellen Sie ein Backup des Root-Volumes.

  3. Wenn Speicher wie NFS oder Block-Volumes remote an die VM angehängt ist, konfigurieren Sie von diesem Speicher abhängige Services so, dass sie manuell gestartet werden. Der remote angehängte Speicher ist nach dem ersten Boot-Vorgang einer importierten Instanz in Oracle Cloud Infrastructure nicht verfügbar.

  4. Stellen Sie sicher, dass alle Netzwerkschnittstellen DHCP verwenden und dass MAC- und IP-Adresse nicht hartcodiert sind. In der Systemdokumentation wird beschrieben, wie Sie die Netzwerkkonfiguration für Ihr System durchführen.

  5. Stoppen Sie die VM.

  6. Klonen Sie die gestoppte VM als VMDK- oder QCOW2-Datei. Exportieren Sie das Image dann aus der Virtualisierungsumgebung. Die erforderlichen Schritte finden Sie in der Tooldokumentation für Ihre Virtualisierungsumgebung.

Linux-basierte VMs importieren

Nachdem Sie ein Linux-Image für den Import vorbereitet haben, importieren Sie es mit den folgenden Schritten:

  1. Laden Sie die Imagedatei in einen Object Storage-Bucket hoch. Sie können die Datei mit der Konsole oder der Befehlszeilenschnittstelle (CLI) hochladen. Wenn Sie die CLI verwenden, geben Sie den folgenden Befehl ein:

    oci os object put -bn <destination_bucket_name> --file <path_to_the_VMDK_or_QCOW2_file>
  2. Öffnen Sie das Navigationsmenü, und klicken Sie auf Compute. Klicken Sie unter Compute auf Benutzerdefinierte Images.
  3. Klicken Sie auf Image importieren.

  4. Wählen Sie in der Liste Erstellen in Compartment das Compartment aus, in das Sie das Image importieren möchten.

  5. Geben Sie einen Namen für das Image ein. Vermeiden Sie die Eingabe von vertraulichen Informationen.

  6. Wählen Sie als Betriebssystem Linux aus.

  7. Wählen Sie die Option Aus Objektspeicher-Bucket importieren aus.

  8. Wählen Sie den Bucket aus, in den Sie das Image hochgeladen haben.
  9. Wählen Sie in der Liste Objektname die Imagedatei aus, die Sie hochgeladen haben.
  10. Wählen Sie als Imagetyp den Dateityp des Images aus: entweder VMDK oder QCOW2.

  11. Wählen Sie je nach Imageversion von Linux im Bereich Startmodus die Option Paravirtualisierter Modus oder Emulierter Modus aus. Wenn Ihr Image paravirtualisierte Treiber unterstützt, wird empfohlen, den paravirtualisierten Modus auszuwählen.

  12. Taggingoptionen anzeigen: Wenn Sie über Berechtigungen zum Erstellen einer Ressource verfügen, sind Sie auch berechtigt, Freiformtags auf diese Ressource anzuwenden. Um ein definiertes Tag anzuwenden, benötigen Sie die Berechtigungen zum Verwenden des Tag-Namespace. Weitere Informationen zum Tagging finden Sie unter Ressourcentags. Wenn Sie nicht sicher sind, ob Sie Tags anwenden sollen, überspringen Sie diese Option, oder fragen Sie einen Administrator. Sie können Tags später anwenden.
  13. Klicken Sie auf Image importieren.

    Das importierte Image wird in der Liste Benutzerdefinierte Images für das Compartment mit dem Status Wird importiert angezeigt. Wenn der Import erfolgreich abgeschlossen ist, wechselt der Status zu Verfügbar.

    Wenn der Status sich nicht ändert oder in der Liste Benutzerdefinierte Images kein Eintrag angezeigt wird, war der Import nicht erfolgreich. Stellen Sie sicher, dass Sie Lesezugriff auf das Object Storage-Objekt haben und das Objekt ein unterstütztes Image enthält.

  14. Schließen Sie die Aufgaben nach dem Import ab.

Aufgaben nach dem Import für Linux-Images

Führen Sie nach dem Import des benutzerdefinierten Linux-basierten Images die folgenden Schritte aus:

  1. Wenn Sie das Image auf AMD- oder X6-basierten Ausprägungen verwenden möchten, fügen Sie die Ausprägungen zu der Liste der kompatiblen Ausprägungen des Images hinzu.
  2. Erstellen Sie eine Instanz basierend auf dem benutzerdefinierten Image. Wählen Sie für die Imagequelle die Option Benutzerdefinierte Images und dann das importierte Image aus.
  3. Stellen Sie mit SSH eine Verbindung zur Instanz her.
  4. Wenn für die Instanz ein remote angehängter Speicher wie Block-Volume oder File Storage erforderlich ist, erstellen Sie diesen Speicher, und hängen Sie ihn an. Wenn Sie iSCSI-Anhänge verwenden, finden Sie weitere Informationen unter Empfohlene iSCSI-Initiatorparameter für Linux-basierte Images.
  5. Erstellen Sie eventuell erforderliche sekundäre VNICs, und ordnen Sie sie zu.
  6. Testen Sie, ob alle Anwendungen erwartungsgemäß funktionieren.
  7. Setzen Sie alle Services zurück, für die ein manueller Start festgelegt wurde.
  8. Wenn Sie den seriellen Konsolenzugriff auf das Image aktiviert haben, testen Sie diesen, indem Sie eine serielle Konsolenverbindung zur Instanz erstellen.

Informationen zu bekannten Problemen mit importierten benutzerdefinierten Images finden Sie unter Aktuelle Probleme und Workarounds.