Warum bootet meine Linux-Instance nicht, nachdem ich ihren Typ in einen Nitro-basierten Instance-Typ geändert habe?

Lesedauer: 3 Minute
0

Ich habe meine Amazon Elastic Compute Cloud (Amazon EC2) Linux-Instance auf einen Nitro-basierten Instance-Typ umgestellt, und jetzt bootet sie nicht.

Kurzbeschreibung

Hier sind einige häufige Gründe, warum eine Linux-Instance möglicherweise nicht startet, nachdem Sie sie auf einen Nitro-basierten Typ umgestellt haben:

  • Das Elastic Network Adapter (ENA) enaSupport-Attribut ist für die Instance deaktiviert.
  • Das ENA-Modul ist nicht auf der Instance installiert.
  • Das NVMe-Modul ist nicht auf der Instance installiert, oder, falls installiert, wird das NVMe-Modul nicht in das initramfs-Image der Instance geladen.
  • Sie versuchen, die Dateisysteme beim Booten in der Datei „/etc/fstab“ unter Verwendung eines Gerätenamens zu mounten. Amazon EBS-Volumes werden diesen Instance-Typen als NVMe-Geräte zur Verfügung gestellt, und die Gerätenamen werden bei einem Stopp- oder Startereignis geändert. Um dies zu vermeiden, mounten Sie die Dateisysteme mit UUID/Label. Weitere Informationen finden Sie unter Amazon EBS und NVMe auf Linux-Instances.

Um diese Probleme zu beheben, vergewissern Sie sich, dass ENA aktiviert ist und dass Ihre Linux-Instance die Anforderungen an das Nitro-basierte Instance-Modul und das Mounten des Dateisystems erfüllt.

Sie können auch das AWSSupport-MigratExentonNitroLinux Systems Manager Automation-Runbook ausführen. Dieses Runbook migriert einen Amazon EC2 Linux Xen ohne manuelle Konfiguration. Weitere Informationen finden Sie unter AWSSupport-MigrateXenToNitroLinux.

Behebung

Vergewissern Sie sich, dass ENA aktiviert ist

1.Um zu überprüfen, ob ENA aktiviert ist, finden Sie unter Testen, ob Enhanced Networking aktiviert ist, und folgen Sie dann den Anweisungen unter Instance-Attribut (enaSupport).

2.Wenn ENA nicht aktiviert ist, führen Sie die Aktion modify-instance-attribute aus. Weitere Informationen finden Sie unter Aktivieren von Enhanced Networking auf dem Amazon Linux AMI.

Führen Sie das NitroInstanceChecks-Skript aus

Das NitroInstanceChecks-Skript überprüft Ihre Instance und gibt einen Pass/Fail-Status der folgenden Anforderungen an:

  • Überprüft, ob das NVMe-Modul auf Ihrer Instance installiert ist. Wenn es installiert ist, überprüft das Skript, ob das Modul in das initramfs-Image geladen ist.
  • Überprüft, ob das ENA-Modul auf Ihrer Instance installiert ist.
  • Analysiert /etc/fstab und sucht anhand von Gerätenamen nach Blockgeräten, die gemountet werden.

Dieses Skript wird unter den folgenden Betriebssystemversionen unterstützt:

  • Red Hat-Derivate: Red Hat Linux, Red Hat Enterprise Linux, CentOS
  • Amazon Linux, Amazon Linux 2 und Amazon Linux 2023
  • Debian-Derivate: Debian, Ubuntu

Hinweis: Weitere Informationen zum ENA-Treiber auf Red Hat finden Sie unter Wie installiere und aktiviere ich den neuesten ENA-Treiber für erweiterte Netzwerkunterstützung auf einer Amazon EC2-Instance, auf der Red Hat 6/7 ausgeführt wird?

Um das NitroInstanceChecks-Skript auszuführen:

1.Erstellen Sie einen Snapshot Ihres Volumes oder erstellen Sie ein Amazon Machine Image (AMI) einer Instance, bevor Sie Änderungen vornehmen, damit Sie über ein Backup verfügen.

2.Ändern Sie Ihren Instance-Typ auf seinen ursprünglichen Typ.

3.Laden Sie das Skript von GitHub auf Ihre Instanz herunter und machen Sie es lauffähig:

# chmod +x nitro_check_script.sh

4.Führen Sie das Skript als Root-Benutzer oder als sudo aus:

# sudo ./nitro_check_script.sh

5.Geben Sie an der Eingabeaufforderung y oder n (oder Nein) ein: Geben Sie y ein, damit das Skript die Datei /etc/fstab neu generiert und ändert, und ersetzen Sie dann den Gerätenamen jeder Partition durch ihre UUID. Die ursprüngliche fstab-Datei wird als /etc/fstab.backup.$(date +%F-%H:%M:%S) gespeichert. Zum Beispiel /etc/fstab.backup.2019-09-01-22:06:05. Geben Sie n oder Nein ein, um die richtige /etc/fstab-Datei in der Ausgabe zu drucken, sie aber nicht zu ersetzen.

Eine erfolgreiche Ausgabe sieht so aus:

------------------------------------------------
OK  NVMe Module is installed and available on your instance
OK  ENA Module is installed and available on your instance
OK  fstab file looks fine and does not contain any device names.
------------------------------------------------

6.Nachdem alle Anforderungen erfüllt sind, ändern Sie die Instance in einen Nitro-basierten Instance-Typ.

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr