AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
Wie behebe ich den Fehler „Kernel panic − not sync“ in meiner EC2-Instance?
Ich möchte den Kernel aktualisieren oder meine Amazon Elastic Compute Cloud (Amazon EC2) Linux-Instance neu booten, weil die initramfs- oder Kernel-Module fehlen. Ich erhalte jedoch den Fehler „Kernel panic − not syncing“.
Kurzbeschreibung
Der Fehler „Kernel panic − not sync“ tritt auf, wenn das Gerät oder die Adresse nicht existiert. Um dieses Problem zu beheben, starte eine temporäre Instance und schließe dann den fehlerhaften Stammdatenträger als sekundäres Laufwerk an, um Diagnosen durchzuführen.
Wichtig: Bevor du die Instance stoppst und startest, gehe wie folgt vor:
- Erstelle ein Backup des Amazon Elastic Block Store (Amazon EBS)-Volumes.
**Hinweis:**Wenn die Instance vom Instance-Speicher unterstützt wird oder über Instance-Speicher-Volumes verfügt, die Daten enthalten, löscht Amazon EC2 die Daten, wenn du die Instance anhältst. - Entferne die Instance vorübergehend aus der Amazon EC2 Auto Scaling-Gruppe, wenn du die Lösungsschritte abgeschlossen hast.
Hinweis: Wenn du eine Instance stoppst, die sich in einer Amazon EC2 Auto Scaling-Gruppe befindet, beendest du die Instance möglicherweise auf der Grundlage der Abskalierungs-Schutzeinstellungen. Instances, die du mit Amazon EMR, AWS CloudFormation oder AWS Elastic Beanstalk startest, sind möglicherweise Teil einer Auto-Scaling-Gruppe. - Stelle das Verhalten beim Herunterfahren der Instance auf Stopp ein, um sicherzustellen, dass die Instances nicht beendet werden, wenn du sie anhältst.
Hinweis: Wenn du eine Instance stoppst und startest, ändert sich die öffentliche IP-Adresse der Instance. Es empfiehlt sich, beim Weiterleiten von externem Datenverkehr an die Instance eine Elastic-IP-Adresse anstelle einer öffentlichen IP-Adresse zu verwenden.
Weitere Informationen findest du unter Was passiert, wenn du eine Instance stoppst.
Lösung
Hinweis: Die folgenden Lösungsschritte gelten nur für Amazon Linux 2, Amazon Linux 2023, Fedora 16 und höher sowie Red Hat Enterprise Linux (RHEL) 7 und höher.
Gehe wie folgt vor, um den Stammdatenträger an eine temporäre Instance anzufügen:
-
Rufe die Volume-ID und den Gerätenamen für das Root-Volume der ursprünglichen Instance ab.
-
Starte eine temporäre Instance von einem Amazon Machine Image (AMI) mit derselben Linux-Betriebssystemversion (OS) in derselben Availability Zone.
-
Trenne das Root-Volume von der ursprünglichen Instance und füge es als sekundäres Volume an die temporäre Instance an. Notiere dir den Volume-Gerätenamen.
-
Verwende das SSH-Schlüsselpaar, um eine Verbindung zur temporären Instance herzustellen.
-
Führe den folgenden Befehl aus, um zum Root-Benutzer zu wechseln:
sudo su -
Führe den folgenden Befehl von der temporären Instance aus, um den Namen und die Partition des Blockgeräts zu identifizieren:
lsblkBeispielausgabe:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk └─xvda1 202:1 0 8G 0 part / xvdf 202:80 0 101G 0 disk └─xvdf1 202:81 0 101G 0 part xvdg 202:80 0 10G 0 diskIn diesem Beispiel wird eine XEN-Instance mit Blkfront-Treibern verwendet.
-
Wenn du ein partitioniertes Volume verwendest, führe den folgenden Befehl aus, um die /dev/xvdf1-Partition anstelle des /dev/xvdf-Geräts einzulegen:
mount -o nouuid /dev/xvdf1 /mntHinweis: Sowohl /dev/xvda als auch /dev/xvdf sind partitionierte Volumes, /dev/xvdg jedoch nicht.
Wenn du eine auf dem AWS Nitro System erstellte Instance verwendest, ähnelt der Name des Volume-Geräts /dev/nvme[0-26]n1. Führe den folgenden Befehl aus, um die Partition im Verzeichnis /mnt einzulegen:mount -o nouuid /dev/nvme1n1p1 /mntHinweis: Ersetze nvme1n1p1 durch den Blockgerätenamen, den du in Schritt 7 ermittelt hast. Weitere Informationen findest du unter Gerätenamen für Volumes auf Amazon EC2-Instances.
-
Um eine Chroot-Umgebung im Verzeichnis /mnt zu erstellen, führe den folgenden Befehl aus:
for i in dev proc sys run; do mount -o bind /$i /mnt/$i; done; chroot /mntDieses Beispiel führt ein Bind-Mount der Verzeichnisse /dev, /proc, /sys und /run aus dem ursprünglichen Root-Dateisystem aus. Diese Konfiguration ermöglicht Prozessen, die in der Chroot-Umgebung ausgeführt werden, den Zugriff auf die Systemverzeichnisse.
-
Um eine Sicherungskopie der initramfs im Verzeichnis**/** zu erstellen, führe den folgenden Befehl aus:
for file in /boot/initramfs-*.img; do cp "${file}" "/$(basename "$file")_$(date +%Y%m%d)"; done
- Führe den folgenden Befehl aus, um den Standard-Kernel aufzulisten:
grubby --default-kernel
Beispielausgabe:
/boot/vmlinuz-5.15.156-102.160.amzn2.x86_64
Die vorhergehende Ausgabe listet die Kernels auf, die beim Startup booten. Führe den folgenden Befehl aus, um die Kernels und initramfs im Boot-Verzeichnis aufzulisten:
ls -lh /boot/vmlinuz* && ls -lh /boot/initr*
Beispielausgabe:
-rwxr-xr-x. 1 root root 9.7M Apr 23 20:37 /boot/vmlinuz-5.10.215-203.850.amzn2.x86_64-rwxr-xr-x. 1 root root 9.9M Apr 23 17:00 /boot/vmlinuz-5.15.156-102.160.amzn2.x86_64 -rw-------. 1 root root 12M May 3 23:45 /boot/initramfs-5.10.215-203.850.amzn2.x86_64.img -rw-------. 1 root root 9.8M May 14 08:03 /boot/initramfs-5.15.156-102.160.amzn2.x86_64.img
Beachte die vmlinuz-Kerneldateien, die entsprechende initramfs-Dateien enthalten. Führe den folgenden Befehl aus, um die initramfs neu zu erstellen:
dracut --force --verbose /boot/initramfs-kernelVersion.img kernelVersion
Hinweis: Ersetze kernelVersion durch die neueste Kernelversion. Führe den folgenden Befehl aus, um festzustellen, ob die Instance über UEFI oder BIOS gebootet wird:
boot_mode=$(ls /sys/firmware/efi/efivars >/dev/null 2>&1 && echo "EFI" || echo "BIOS"); echo "Boot mode detected: $boot_mode"
- Aktualisiere die Grub-Konfiguration. Wenn die Instance im BIOS gebootet wird, führe den folgenden Befehl aus:
grub2-mkconfig -o /boot/grub2/grub.cfg
Hinweis: Wenn du den vorherigen Befehl ausführst, erhältst du möglicherweise die Fehlermeldung „device-mapper: reload ioctl on osprober-linux-xvda2 (253:0) failed: Device or resource busy Command failed“. Um dieses Problem zu beheben, füge der Datei /etc/default/grub den Parameter GRUB_DISABLE_OS_PROBER=true hinzu und führe den Befehl erneut aus.
Wenn die Instance auf UEFI gebootet wird, führe die folgenden Befehle je nach Betriebssystem aus.
UEFI:
Amazon Linux 2 und Amazon Linux 2023:
grub2-mkconfig -o /boot/efi/EFI/amzn/grub.cfg
Fedora 16+:
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
Red Hat 7+:
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
- Führe den folgenden Befehl aus, um das Volume zu beenden und zu trennen:
exit; umount -fl /mnt
- Trenne das sekundäre Volume von der temporären Instance und füge es als Stammgerät an die ursprüngliche Instance an. Verwende den Gerätenamen, den du in Schritt 4 notiert hast.
- Stelle eine Verbindung zur ursprünglichen Instance her.
- Themen
- Compute
- Tags
- LinuxAmazon EC2
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 6 Monaten