我無法連線至 Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體,或者我遇到了啟動問題。我想使用 EC2Rescue 來對作業系統 (OS) 問題進行診斷和疑難排解。
您可以使用 EC2Rescue for Linux 執行下列動作:
**注意:**如果您有權限存取 EC2 序列主控台,則可以使用該主控台對受支援的 Nitro 型執行個體類型進行疑難排解。如需詳細資訊,請參閱連線至 EC2 序列主控台。您也可以使用 AWSSupport-ExecuteEC2Rescue 執行手冊自動識別並修復導致連線問題的問題。如需詳細資訊,請參閱在無法存取的執行個體上執行 EC2Rescue 工具。
**先決條件:**確認您的系統符合 EC2Rescue 作業系統和軟體需求。
請完成下列步驟:
使用有問題的執行個體的 Amazon Machine Image (AMI) 在您的虛擬私有雲端 (VPC) 中啟動救援執行個體。 **注意:**確認新執行個體與有問題的執行個體位於相同的可用區域中。您也可以使用與有問題的執行個體位於相同可用區域中的現有執行個體。
從有問題的執行個體分離 Amazon Elastic Block Store (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 根磁碟區。 啟動執行個體,然後確認執行個體是否如預期般運作。
若要進一步對作業系統層級問題進行疑難排解,請執行下列動作:
使用 EC2Rescue 和 Amazon EC2 Systems Manager Automation 復原受損的執行個體
對 Amazon EC2 Windows 執行個體的問題進行疑難排解
zhen
已提問 3 年前
Eric
已提問 2 年前
PEautodesign
david
已提問 3 個月前
Donnie LI
已發佈 2 年前