Global outage event
If you’re experiencing issues with your AWS services, then please refer to the AWS Health Dashboard. You can find the overall status of ongoing outages, the health of AWS services, and the latest updates from AWS engineers.
我无法连接到我的 Amazon Elastic Compute Cloud (Amazon EC2) Linux 实例,或者我遇到启动问题。我想使用 EC2Rescue 来诊断和解决操作系统 (OS) 问题。
您可以使用 EC2Rescue for Linux 执行以下操作:
**注意:**如果您可以访问 EC2 Serial Console,请使用该控制台对受支持的基于 Nitro 的实例类型进行故障排除。有关详细信息,请参阅连接到 EC2 Serial Console。您还可以使用 AWSSupport-ExecuteEC2Rescue 运行手册来自动识别和修复导致连接问题的问题。有关详细信息,请参阅在无法访问的实例上运行 EC2Rescue 工具。
**先决条件:**确保您的系统符合 EC2Rescue 的操作系统和软件要求。
完成以下步骤:
使用有问题实例的亚马逊机器映像 (AMI) 在您的虚拟私有云 (VPC) 中启动救援实例。 **注意:**确保新实例与有问题的实例位于同一可用区内。您也可以使用与有问题的实例位于同一可用区的现有实例。
将 Amazon Elastic Block Storage (Amazon EBS) 根卷与有问题的实例分离。记下设备名称,例如 /dev/xvda 和 /dev/sda1。
将 Amazon EBS 卷作为辅助设备(例如 /dev/sdf)附加到救援实例。 **注意:**如果您实例的根设备是由 Amazon EBS 支持的卷,请停止并重启该实例。
使用 SSH 连接到您的救援实例。
以根用户身份运行以下命令,以识别正确的设备名称:
$ sudo -i
# lsblk
# rescuedev=/dev/xvdf1
**注意:**运行 lsblk 时,请记下输出中的设备名称。请将 xvsf1 替换为附加到您的救援实例的设备的设备名称。
要选择尚未使用的现有临时挂载点,请运行以下命令:
# rescuemnt=/mnt # mkdir -p $rescuemnt
**注意:**最佳做法是使用 /mnt 作为挂载点。
要从附加的卷挂载根文件系统,请运行以下命令:
# mount $rescuedev $rescuemnt
如果卷挂载失败,请运行以下命令:
dmesg | tail
如果日志显示通用唯一标识符 (UUID) 存在冲突,请使用 -o nouuid 选项重新运行上述命令。示例:
mount -o nouuid $rescuedev $rescuemnt
要挂载特殊文件系统并将根目录更改为新的文件系统,请运行以下命令:
# for i in proc sys dev run; do mount --bind /$i $rescuemnt/$i ; done # chroot $rescuemnt
在离线 Linux 根卷上下载并安装适用于 Linux 的 EC2Rescue 工具。
运行不含选项的 EC2Rescue for Linux,以运行所有模块。
根据结果,运行以下命令为受支持的模块激活修复:
# ./ec2rl run --remediate
# exit # umount $rescuemnt/{proc,sys,dev,run,}
**注意:**如果卸载操作失败,请先停止或重启救援实例,然后再卸载辅助设备。 将辅助卷与 EC2 救援实例分离。 将 /dev/sdf 辅助卷作为 /dev/xvda 或 /dev/sda1 根卷附加到原始实例。 启动实例,然后验证该实例是否按预期运行。
要进一步对操作系统级问题进行故障排除,请执行以下操作:
Recover your impaired instances using EC2Rescue and Amazon EC2 Systems Manager Automation(使用 EC2Rescue 和 Amazon EC2 Systems Manager Automation 恢复受损实例)
排查 Amazon EC2 Windows 实例问题