適用於:✔️ Linux VM
備註
本文所參考的 CentOS 是一種 Linux 發行版,且將到達生命周期結束(EOL)。 請考慮您的使用方式並據此進行規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指引。
總結
本文說明如何在 Linux 中對救援虛擬機(VM)上的 chroot 環境進行故障排除。
Tip
為了簡化救援虛擬機的故障排除,建議使用 chroot 自動化工具 自動偵測所需的分割區,執行必要的掛載操作,並在執行復原操作前先準備好 chroot 環境。
Ubuntu
請停止或解除分配受到影響的虛擬機器。
使用受控磁碟,在相同資源群組和位置中建立相同世代和相同作系統版本的救援 VM。
使用 Azure 入口網站擷取受影響虛擬機作業系統磁碟的快照。
從OS磁碟的快照集建立磁碟,並將其連結至救援 VM。
建立磁碟之後,請排除救援 VM 中 chroot 環境的故障。
使用下列命令,以根使用者身分存取您的 VM:
sudo su -尋找磁碟。 您用來探索新磁碟的方法可能會有所不同。 建議您使用
dmesg命令。 下列範例會使用dmesg來篩選小型電腦系統介面 (SCSI) 磁碟:dmesg | grep SCSI命令輸出類似下列範例。 在此範例中,/dev/sdc 磁碟是您需要的:
[ 0.294784] SCSI subsystem initialized [ 0.573458] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252) [ 7.110271] sd 2:0:0:0: [sda] Attached SCSI disk [ 8.079653] sd 3:0:1:0: [sdb] Attached SCSI disk [ 1828.162306] sd 5:0:0:0: [sdc] Attached SCSI disk使用下列命令來存取 chroot 環境:
mkdir /rescue mount /dev/sdc1 /rescue mount /dev/sdc16 /rescue/boot mount /dev/sdc15 /rescue/boot/efi mount -t proc /proc /rescue/proc mount -t sysfs /sys /rescue/sys mount -o bind /dev /rescue/dev mount -o bind /dev/pts /rescue/dev/pts mount -o bind /run /rescue/run chroot /rescue備註
在較新的 Ubuntu 映像上,
/boot資料夾只有一個分割區。 如果您要復原較舊的 Ubuntu 映像,您可以忽略掛接/dev/sdc16至/rescue/boot時發生的任何錯誤。 不過,在完成這些步驟之後,請確定中有/rescue/boot檔案。如果在掛接期間發生錯誤,您可以放心地忽略在步驟 5e 中卸除
/rescue/boot時可能發生的錯誤。針對 chroot 環境進行故障排除。
使用下列命令結束 chroot 環境:
exit umount /rescue/proc/ umount /rescue/sys/ umount /rescue/dev/pts umount /rescue/dev/ umount /rescue/run cd / umount /rescue/boot/efi umount /rescue/boot umount /rescue備註
如果您收到「無法卸除 /rescue」錯誤訊息,請將
-l選項新增至umount命令。 例如:umount -l /rescue。
從救援 VM 卸載磁碟,然後執行與原始 VM 的磁碟替換操作。
啟動原始 VM,並檢查其連線能力。
RHEL/Centos/Oracle 6。x 、Oracle 8。x 和 RHEL/Centos 7。x 和 RAW 分割區
請停止或解除分配受到影響的虛擬機器。
使用受控磁碟,在相同資源群組 (RSG) 和位置中建立相同 OS 版本的救援 VM 映射。
使用 Azure 入口網站擷取受影響虛擬機作業系統磁碟的快照。
從OS磁碟的快照集建立磁碟,然後將它連結至救援 VM。
建立磁碟之後,請排除救援 VM 中 chroot 環境的故障。
使用下列命令,以根使用者身分存取您的 VM:
sudo su -尋找磁碟。 您用來探索新磁碟的方法可能會有所不同。 建議您使用
dmesg命令。 下列範例會使用dmesg來篩選 SCSI 磁碟:dmesg | grep SCSI命令輸出類似下列範例。 在此範例中,/dev/sdc 磁碟是您需要的:
[ 0.294784] SCSI subsystem initialized [ 0.573458] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252) [ 7.110271] sd 2:0:0:0: [sda] Attached SCSI disk [ 8.079653] sd 3:0:1:0: [sdb] Attached SCSI disk [ 1828.162306] sd 5:0:0:0: [sdc] Attached SCSI disk使用下列命令來存取 chroot 環境:
mkdir /rescue mount -o nouuid /dev/sdc2 /rescue mount -o nouuid /dev/sdc1 /rescue/boot/ mount -t proc /proc /rescue/proc mount -t sysfs /sys /rescue/sys mount -o bind /dev /rescue/dev mount -o bind /dev/pts /rescue/dev/pts mount -o bind /run /rescue/run chroot /rescue針對 chroot 環境進行故障排除。
使用下列命令結束 chroot 環境:
exit umount /rescue/proc/ umount /rescue/sys/ umount /rescue/dev/pts umount /rescue/dev/ umount /rescue/run cd / umount /rescue/boot/ umount /rescue備註
如果您收到「無法卸除 /rescue」錯誤訊息,請將
-l選項新增至umount命令。 例如:umount -l /rescue。
從救援 VM 卸載磁碟,然後執行與原始 VM 的磁碟替換操作。
啟動原始 VM,並檢查其連線能力。
RHEL/Centos 7。x 和 8。x 與 LVM
備註
如果您的原始 VM 包含 OS 磁碟上的邏輯磁碟區管理員 (LVM),請使用包含 OS 磁碟原始分割區的映像檔來建立救援虛擬機。
請停止或解除分配受到影響的虛擬機器。
使用受控磁碟,在相同資源群組 (RSG) 和位置中,建立相同 OS 版本的救援 VM 映射。
使用 Azure 入口網站擷取受影響虛擬機作業系統磁碟的快照。
從OS磁碟的快照集建立磁碟,並將其連結至救援 VM。
建立磁碟之後,針對救援 VM 中的 chroot 環境進行疑難解答。
使用下列命令,以根使用者身分存取您的 VM:
sudo su -尋找磁碟。 您用來探索新磁碟的方法可能會有所不同。 我們建議您使用
dmesg命令。 下列範例會使用dmesg來篩選 SCSI 磁碟:dmesg | grep SCSI命令輸出類似下列範例。 在此範例中,/dev/sdc 磁碟是您需要的:
[ 0.294784] SCSI subsystem initialized [ 0.573458] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252) [ 7.110271] sd 2:0:0:0: [sda] Attached SCSI disk [ 8.079653] sd 3:0:1:0: [sdb] Attached SCSI disk [ 1828.162306] sd 5:0:0:0: [sdc] Attached SCSI disk使用下列命令來啟動邏輯磁碟區群組:
vgscan --mknodes vgchange -ay lvscan請使用命令
lsblk來擷取 LVM 名稱:lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 64G 0 disk ├─sda1 8:1 0 500M 0 part /boot ├─sda2 8:2 0 63G 0 part / sdb 8:16 0 4G 0 disk └─sdb1 8:17 0 4G 0 part /mnt/resource sdc 8:0 0 64G 0 disk ├─sdc1 8:1 0 500M 0 part ├─sdc2 8:2 0 63G 0 part ├─sdc3 8:3 0 2M 0 part ├─sdc4 8:4 0 63G 0 part ├─rootvg-tmplv 253:0 0 2G 0 lvm ├─rootvg-usrlv 253:1 0 10G 0 lvm ├─rootvg-optlv 253:2 0 2G 0 lvm ├─rootvg-homelv 253:3 0 1G 0 lvm ├─rootvg-varlv 253:4 0 8G 0 lvm └─rootvg-rootlv 253:5 0 2G 0 lvm使用下列命令來準備 chroot dir:
mkdir /rescue mount /dev/mapper/rootvg-rootlv /rescue mount /dev/mapper/rootvg-varlv /rescue/var mount /dev/mapper/rootvg-homelv /rescue/home mount /dev/mapper/rootvg-usrlv /rescue/usr mount /dev/mapper/rootvg-tmplv /rescue/tmp mount /dev/mapper/rootvg-optlv /rescue/opt mount /dev/sdc2 /rescue/boot/ mount /dev/sdc1 /rescue/boot/efi/rescue/boot/ 和 /rescue/boot/efi 分割區不一定位於 /dev/sdc2 或 /dev/sdc1。 如果您嘗試掛接這些分割區時發生錯誤,請檢查 /rescue/etc/fstab 檔案,以確定損壞的作業系統磁碟中 /boot 和 /boot/efi 分割區的正確裝置。 然後,執行
blkid命令,並將 /rescue/etc/fstab 檔案中的通用唯一標識符 (UUID) 與命令的blkid輸出進行比較,以判斷修復 VM 中掛接 /rescue/boot/ 和 /rescue/boot/efi 的正確裝置。如果
mount /dev/mapper/rootvg-optlv /rescue/opt命令失敗,可能是因為rootvg-optlv卷組不存在。 在此情況下,您可以略過此命令。使用下列命令存取 chroot 環境:
mount -t proc /proc /rescue/proc mount -t sysfs /sys /rescue/sys mount -o bind /dev /rescue/dev mount -o bind /dev/pts /rescue/dev/pts mount -o bind /run /rescue/run chroot /rescue針對 chroot 環境進行故障排除。
使用下列命令結束 chroot 環境:
exit umount /rescue/proc/ umount /rescue/sys/ umount /rescue/dev/pts umount /rescue/dev/ umount /rescue/run cd / umount /rescue/boot/efi umount /rescue/boot umount /rescue/home umount /rescue/var umount /rescue/usr umount /rescue/tmp umount /rescue/opt umount /rescue備註
如果您收到「無法卸除 /rescue」錯誤訊息,請將
-l選項新增至umount命令。 例如:umount -l /rescue。
從救援 VM 卸載磁碟,然後執行與原始 VM 的磁碟替換操作。
啟動原始 VM,並檢查其連線能力。
使用相同的 LVM 映像
備註
如果您必須使用相同的 LVM 映射來部署救援 VM,您必須使用 LVM 修改救援 VM 的某些層面。
下列命令將在暫時為復原作業建立的復原(救援)VM 上執行。
使用下列命令來檢查磁碟的狀態,再連接您要救援的磁碟:
sudo lsblk -fNAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 vfat 93DA-8C20 /boot/efi ├─sda2 xfs d5da486e-fdfe-4ad8-bc01-aa72b91fd47d /boot ├─sda3 └─sda4 LVM2_member pdSI2Q-ZEzV-oT6P-R2JG-ZW3h-cmnf-iRN6pU ├─rootvg-tmplv xfs 9098eb05-0176-4997-8132-9152a7bef207 /tmp ├─rootvg-usrlv xfs 2f9ff36c-742d-4914-b463-d4152801b95d /usr ├─rootvg-optlv xfs aeacea8e-3663-4569-af25-c52357f8a0a3 /opt ├─rootvg-homelv xfs a79e43dc-7adc-41b4-b6e1-4e6b033b15c0 /home ├─rootvg-varlv xfs c7cb68e9-7865-4187-b3bd-e9a869779d86 /var └─rootvg-rootlv xfs d8dc4d62-ada5-4952-a0d9-1bce6cb6f809 / sdb └─sdb1 ext4 e72e7c2c-db27-4a73-a97e-01d63d21ccf8 /mnt將您想要解救的磁碟連結為數據磁碟驅動器。
使用下列命令再次檢查磁碟:
sudo lsblk -fNAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 vfat 93DA-8C20 /boot/efi ├─sda2 xfs d5da486e-fdfe-4ad8-bc01-aa72b91fd47d /boot ├─sda3 └─sda4 LVM2_member pdSI2Q-ZEzV-oT6P-R2JG-ZW3h-cmnf-iRN6pU ├─rootvg-tmplv xfs 9098eb05-0176-4997-8132-9152a7bef207 /tmp ├─rootvg-usrlv xfs 2f9ff36c-742d-4914-b463-d4152801b95d /usr ├─rootvg-optlv xfs aeacea8e-3663-4569-af25-c52357f8a0a3 /opt ├─rootvg-homelv xfs a79e43dc-7adc-41b4-b6e1-4e6b033b15c0 /home ├─rootvg-varlv xfs c7cb68e9-7865-4187-b3bd-e9a869779d86 /var └─rootvg-rootlv xfs d8dc4d62-ada5-4952-a0d9-1bce6cb6f809 / sdb └─sdb1 ext4 e72e7c2c-db27-4a73-a97e-01d63d21ccf8 /mnt sdc ├─sdc1 vfat 93DA-8C20 ├─sdc2 xfs d5da486e-fdfe-4ad8-bc01-aa72b91fd47d ├─sdc3 └─sdc4 LVM2_member pdSI2Q-ZEzV-oT6P-R2JG-ZW3h-cmnf-iRN6pU命令輸出不會立即顯示 LVM 結構。
使用下列命令檢視實體 LVM 分割區:
sudo pvs此輸出會顯示有關重複實體磁碟區 (PVs) 的警告:
WARNING: Not using lvmetad because duplicate PVs were found. WARNING: Use multipath or vgimportclone to resolve duplicate PVs? WARNING: After duplicates are resolved, run "pvscan --cache" to enable lvmetad. WARNING: Not using device /dev/sdc4 for PV pdSI2Q-ZEzV-oT6P-R2JG-ZW3h-cmnf-iRN6pU. WARNING: PV pdSI2Q-ZEzV-oT6P-R2JG-ZW3h-cmnf-iRN6pU prefers device /dev/sda4 because device is used by LV. PV VG Fmt Attr PSize PFree /dev/sda4 rootvg lvm2 a-- <63.02g <38.02g使用
vmimportclone命令,以其他名稱從數據驅動器匯入rootvg。此命令會變更 PV 的 UUID,並啟動它:
sudo vgimportclone -n rescuemevg /dev/sdc4WARNING: Not using device /dev/sdc4 for PV <PV>. WARNING: PV pdSI2Q-ZEzV-oT6P-R2JG-ZW3h-cmnf-iRN6pU prefers device /dev/sda4 because device is used by LV.sudo vgchange -a y rescuemevg6 logical volume(s) in volume group "rescuemevg" now active使用下列命令來確認名稱變更:
sudo lsblk -fNAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 vfat 93DA-8C20 /boot/efi ├─sda2 xfs d5da486e-fdfe-4ad8-bc01-aa72b91fd47d /boot ├─sda3 └─sda4 LVM2_member pdSI2Q-ZEzV-oT6P-R2JG-ZW3h-cmnf-iRN6pU ├─rootvg-tmplv xfs 9098eb05-0176-4997-8132-9152a7bef207 /tmp ├─rootvg-usrlv xfs 2f9ff36c-742d-4914-b463-d4152801b95d /usr ├─rootvg-optlv xfs aeacea8e-3663-4569-af25-c52357f8a0a3 /opt ├─rootvg-homelv xfs a79e43dc-7adc-41b4-b6e1-4e6b033b15c0 /home ├─rootvg-varlv xfs c7cb68e9-7865-4187-b3bd-e9a869779d86 /var └─rootvg-rootlv xfs d8dc4d62-ada5-4952-a0d9-1bce6cb6f809 / sdb └─sdb1 ext4 e72e7c2c-db27-4a73-a97e-01d63d21ccf8 /mnt sdc ├─sdc1 vfat 93DA-8C20 ├─sdc2 xfs d5da486e-fdfe-4ad8-bc01-aa72b91fd47d ├─sdc3 └─sdc4 LVM2_member BbZsAT-5oOK-nITn-bHFW-IVyS-y0O3-93oDes ├─rescuemevg-tmplv xfs 9098eb05-0176-4997-8132-9152a7bef207 ├─rescuemevg-usrlv xfs 2f9ff36c-742d-4914-b463-d4152801b95d ├─rescuemevg-optlv xfs aeacea8e-3663-4569-af25-c52357f8a0a3 ├─rescuemevg-homelv xfs a79e43dc-7adc-41b4-b6e1-4e6b033b15c0 ├─rescuemevg-varlv xfs c7cb68e9-7865-4187-b3bd-e9a869779d86 └─rescuemevg-rootlv xfs d8dc4d62-ada5-4952-a0d9-1bce6cb6f809使用下列命令將救援 VM 的 rootvg 重新命名:
sudo vgrename rootvg oldvgVolume group "rootvg" successfully renamed to "oldvg"使用下列命令檢查磁碟:
sudo lsblk -fNAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 vfat 93DA-8C20 /boot/efi ├─sda2 xfs d5da486e-fdfe-4ad8-bc01-aa72b91fd47d /boot ├─sda3 └─sda4 LVM2_member pdSI2Q-ZEzV-oT6P-R2JG-ZW3h-cmnf-iRN6pU ├─oldvg-tmplv xfs 9098eb05-0176-4997-8132-9152a7bef207 /tmp ├─oldvg-usrlv xfs 2f9ff36c-742d-4914-b463-d4152801b95d /usr ├─oldvg-optlv xfs aeacea8e-3663-4569-af25-c52357f8a0a3 /opt ├─oldvg-homelv xfs a79e43dc-7adc-41b4-b6e1-4e6b033b15c0 /home ├─oldvg-varlv xfs c7cb68e9-7865-4187-b3bd-e9a869779d86 /var └─oldvg-rootlv xfs d8dc4d62-ada5-4952-a0d9-1bce6cb6f809 / sdb └─sdb1 ext4 e72e7c2c-db27-4a73-a97e-01d63d21ccf8 /mnt sdc ├─sdc1 vfat 93DA-8C20 ├─sdc2 xfs d5da486e-fdfe-4ad8-bc01-aa72b91fd47d ├─sdc3 └─sdc4 LVM2_member BbZsAT-5oOK-nITn-bHFW-IVyS-y0O3-93oDes ├─rescuemevg-tmplv xfs 9098eb05-0176-4997-8132-9152a7bef207 ├─rescuemevg-usrlv xfs 2f9ff36c-742d-4914-b463-d4152801b95d ├─rescuemevg-optlv xfs aeacea8e-3663-4569-af25-c52357f8a0a3 ├─rescuemevg-homelv xfs a79e43dc-7adc-41b4-b6e1-4e6b033b15c0 ├─rescuemevg-varlv xfs c7cb68e9-7865-4187-b3bd-e9a869779d86 └─rescuemevg-rootlv xfs d8dc4d62-ada5-4952-a0d9-1bce6cb6f809掛載來自資料驅動器的文件系統。
使用
xfs時,請指定-o nouuid選項以避免與 UUID 發生衝突,並掛接所需的檔案系統以執行 chroot。 這個選項不適用於ext4檔案系統,因此您必須從這類案例中的命令中移除此選項:sudo mkdir /rescue sudo mount -o nouuid /dev/mapper/rescuemevg-rootlv /rescue sudo mount -o nouuid /dev/mapper/rescuemevg-homelv /rescue/home sudo mount -o nouuid /dev/mapper/rescuemevg-optlv /rescue/opt sudo mount -o nouuid /dev/mapper/rescuemevg-tmplv /rescue/tmp sudo mount -o nouuid /dev/mapper/rescuemevg-usrlv /rescue/usr sudo mount -o nouuid /dev/mapper/rescuemevg-varlv /rescue/var sudo mount -o nouuid /dev/sdc2 /rescue/boot sudo mount /dev/sdc1 /rescue/boot/efi sudo mount -t proc /proc /rescue/proc sudo mount -t sysfs /sys /rescue/sys sudo mount -o bind /dev /rescue/dev sudo mount -o bind /dev/pts /rescue/dev/pts sudo mount -o bind /run /rescue/run/rescue/boot/ 和 /rescue/boot/efi 分割區不一定位於 /dev/sdc2 或 /dev/sdc1。 如果您在嘗試掛接這些分割區時發生錯誤,請檢查 /rescue/etc/fstab 檔案,以判斷中斷 OS 磁盤中 /boot 和 /boot/efi 分割區的正確裝置。 然後,執行 命令,
blkid並將 /rescue/etc/fstab 檔案中的 UUID 與命令的blkid輸出進行比較,以判斷修復 VM 上掛接 /rescue/boot/ 和 /rescue/boot/efi 的正確裝置。 重複的 UUID 可能會出現在輸出中。 在此案例中,掛載符合步驟 5 中裝置信件的分割區。 在本節的範例中,您應該掛接的正確分割區是 /dev/sdc。 dev/sda 代表目前正在使用的作系統,應該忽略。使用下列命令確認掛接:
sudo lsblk -fNAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 vfat 93DA-8C20 /boot/efi ├─sda2 xfs d5da486e-fdfe-4ad8-bc01-aa72b91fd47d /boot ├─sda3 └─sda4 LVM2_member pdSI2Q-ZEzV-oT6P-R2JG-ZW3h-cmnf-iRN6pU ├─oldvg-tmplv xfs 9098eb05-0176-4997-8132-9152a7bef207 /tmp ├─oldvg-usrlv xfs 2f9ff36c-742d-4914-b463-d4152801b95d /usr ├─oldvg-optlv xfs aeacea8e-3663-4569-af25-c52357f8a0a3 /opt ├─oldvg-homelv xfs a79e43dc-7adc-41b4-b6e1-4e6b033b15c0 /home ├─oldvg-varlv xfs c7cb68e9-7865-4187-b3bd-e9a869779d86 /var └─oldvg-rootlv xfs d8dc4d62-ada5-4952-a0d9-1bce6cb6f809 / sdb └─sdb1 ext4 e72e7c2c-db27-4a73-a97e-01d63d21ccf8 /mnt sdc ├─sdc1 vfat 93DA-8C20 /rescue/boot/efi ├─sdc2 xfs d5da486e-fdfe-4ad8-bc01-aa72b91fd47d /rescue/boot ├─sdc3 └─sdc4 LVM2_member BbZsAT-5oOK-nITn-bHFW-IVyS-y0O3-93oDes ├─rescuemevg-tmplv xfs 9098eb05-0176-4997-8132-9152a7bef207 /rescue/tmp ├─rescuemevg-usrlv xfs 2f9ff36c-742d-4914-b463-d4152801b95d /rescue/usr ├─rescuemevg-optlv xfs aeacea8e-3663-4569-af25-c52357f8a0a3 /rescue/opt ├─rescuemevg-homelv xfs a79e43dc-7adc-41b4-b6e1-4e6b033b15c0 /rescue/home ├─rescuemevg-varlv xfs c7cb68e9-7865-4187-b3bd-e9a869779d86 /rescue/var └─rescuemevg-rootlv xfs d8dc4d62-ada5-4952-a0d9-1bce6cb6f809 /rescue使用以下命令來執行 chroot:
sudo chroot /rescue/使用下列命令來驗證位於 chroot 環境內的掛接:
sudo lsblk -fNAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 vfat 93DA-8C20 ├─sda2 xfs d5da486e-fdfe-4ad8-bc01-aa72b91fd47d ├─sda3 └─sda4 LVM2_member pdSI2Q-ZEzV-oT6P-R2JG-ZW3h-cmnf-iRN6pU ├─oldvg-tmplv xfs 9098eb05-0176-4997-8132-9152a7bef207 ├─oldvg-usrlv xfs 2f9ff36c-742d-4914-b463-d4152801b95d ├─oldvg-optlv xfs aeacea8e-3663-4569-af25-c52357f8a0a3 ├─oldvg-homelv xfs a79e43dc-7adc-41b4-b6e1-4e6b033b15c0 ├─oldvg-varlv xfs c7cb68e9-7865-4187-b3bd-e9a869779d86 └─oldvg-rootlv xfs d8dc4d62-ada5-4952-a0d9-1bce6cb6f809 sdb └─sdb1 ext4 e72e7c2c-db27-4a73-a97e-01d63d21ccf8 sdc ├─sdc1 vfat 93DA-8C20 /boot/efi ├─sdc2 xfs d5da486e-fdfe-4ad8-bc01-aa72b91fd47d /boot ├─sdc3 └─sdc4 LVM2_member BbZsAT-5oOK-nITn-bHFW-IVyS-y0O3-93oDes ├─rescuemevg-tmplv xfs 9098eb05-0176-4997-8132-9152a7bef207 /tmp ├─rescuemevg-usrlv xfs 2f9ff36c-742d-4914-b463-d4152801b95d /usr ├─rescuemevg-optlv xfs aeacea8e-3663-4569-af25-c52357f8a0a3 /opt ├─rescuemevg-homelv xfs a79e43dc-7adc-41b4-b6e1-4e6b033b15c0 /home ├─rescuemevg-varlv xfs c7cb68e9-7865-4187-b3bd-e9a869779d86 /var └─rescuemevg-rootlv xfs d8dc4d62-ada5-4952-a0d9-1bce6cb6f809 /現在,rescuemevg-rootlv 被掛載於 /。
使用下列命令,將磁碟區群組 (VG) 重新命名,以保持一致性。 重新命名 VG 可協助您避免在重新產生 initrd 並重新啟動原始 VM 上的磁碟時可能發生的問題。
sudo vgrename rescuemevg rootvgVolume group "rescuemevg" successfully renamed to "rootvg"使用下列命令來確認變更:
sudo lsblk -fNAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 vfat 93DA-8C20 ├─sda2 xfs d5da486e-fdfe-4ad8-bc01-aa72b91fd47d ├─sda3 └─sda4 LVM2_member pdSI2Q-ZEzV-oT6P-R2JG-ZW3h-cmnf-iRN6pU ├─oldvg-tmplv xfs 9098eb05-0176-4997-8132-9152a7bef207 ├─oldvg-usrlv xfs 2f9ff36c-742d-4914-b463-d4152801b95d ├─oldvg-optlv xfs aeacea8e-3663-4569-af25-c52357f8a0a3 ├─oldvg-homelv xfs a79e43dc-7adc-41b4-b6e1-4e6b033b15c0 ├─oldvg-varlv xfs c7cb68e9-7865-4187-b3bd-e9a869779d86 └─oldvg-rootlv xfs d8dc4d62-ada5-4952-a0d9-1bce6cb6f809 sdb └─sdb1 ext4 e72e7c2c-db27-4a73-a97e-01d63d21ccf8 sdc ├─sdc1 vfat 93DA-8C20 /boot/efi ├─sdc2 xfs d5da486e-fdfe-4ad8-bc01-aa72b91fd47d /boot ├─sdc3 └─sdc4 LVM2_member BbZsAT-5oOK-nITn-bHFW-IVyS-y0O3-93oDes ├─rootvg-tmplv xfs 9098eb05-0176-4997-8132-9152a7bef207 /tmp ├─rootvg-usrlv xfs 2f9ff36c-742d-4914-b463-d4152801b95d /usr ├─rootvg-optlv xfs aeacea8e-3663-4569-af25-c52357f8a0a3 /opt ├─rootvg-homelv xfs a79e43dc-7adc-41b4-b6e1-4e6b033b15c0 /home ├─rootvg-varlv xfs c7cb68e9-7865-4187-b3bd-e9a869779d86 /var └─rootvg-rootlv xfs d8dc4d62-ada5-4952-a0d9-1bce6cb6f809 /執行必要的活動以營救OS。 這些操作可能包括重新產生 initramfs 或 GRUB 設定。
使用下列命令結束 chroot 環境:
sudo exit從救援 VM 卸載並卸下資料硬碟,然後使用下列命令,與原始 VM 進行磁碟交換:
umount /rescue/run/ umount /rescue/dev/pts/ umount /rescue/dev/ umount /rescue/sys/ umount /rescue/proc umount /rescue/boot/efi umount /rescue/boot umount /rescue/var umount /rescue/usr umount /rescue/tmp umount /rescue/opt umount /rescue/home umount /rescue啟動原始 VM,並確認其功能。
甲骨文 7.x
請停止或解除分配受到影響的虛擬機器。
使用受控磁碟,在相同資源群組 (RSG) 和位置中建立相同 OS 版本的救援 VM 映射。
使用 Azure 入口網站擷取受影響虛擬機作業系統磁碟的快照。
從OS磁碟的快照集建立磁碟,並將其連結至救援 VM。
建立磁碟之後,請排除救援 VM 中 chroot 環境的故障。
使用下列命令,以根使用者身分存取您的 VM:
sudo su -尋找磁碟。 您用來探索新磁碟的方法可能會有所不同。 建議您使用
dmesg命令。 下列範例會使用dmesg來篩選 SCSI 磁碟:dmesg | grep SCSI命令輸出類似下列範例。 在這個範例中,您想要的是
/dev/sdc磁碟:[ 0.294784] SCSI subsystem initialized [ 0.573458] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252) [ 7.110271] sd 2:0:0:0: [sda] Attached SCSI disk [ 8.079653] sd 3:0:1:0: [sdb] Attached SCSI disk [ 1828.162306] sd 5:0:0:0: [sdc] Attached SCSI disk使用下列命令來存取 chroot 環境:
mkdir /rescue mount -o nouuid /dev/sdc2 /rescue mount -o nouuid /dev/sdc1 /rescue/boot/ mount /dev/sdc15 /rescue/boot/efi mount -t proc /proc /rescue/proc mount -t sysfs /sys /rescue/sys mount -o bind /dev /rescue/dev mount -o bind /dev/pts /rescue/dev/pts mount -o bind /run /rescue/run chroot /rescue針對 chroot 環境進行故障排除。
使用下列命令結束 chroot 環境:
exit umount /rescue/proc/ umount /rescue/sys/ umount /rescue/dev/pts umount /rescue/dev/ umount /rescue/run umount /rescue/boot/efi umount /rescue/boot umount /rescue備註
如果您收到「無法卸除 /rescue」錯誤訊息,請將
-l選項新增至umount命令。 例如:umount -l /rescue。
從救援 VM 卸載磁碟,然後執行與原始 VM 的磁碟替換操作。
啟動原始 VM,並檢查其連線能力。
SUSE-SLES 12 SP4、SUSE-SLES 12 SP4 用於 SAP、SUSE-SLES 15 SP1 和 SUSE-SLES 15 SP1 用於 SAP
請停止或解除分配受到影響的虛擬機器。
使用受控磁碟,在相同資源群組 (RSG) 和位置中建立相同 OS 版本的救援 VM 映射。
使用 Azure 入口網站擷取受影響虛擬機作業系統磁碟的快照。
從OS磁碟的快照集建立磁碟,並將其連結至救援 VM。
建立磁碟之後,針對救援 VM 中的 chroot 環境進行疑難解答。
使用下列命令,以根使用者身分存取您的 VM:
sudo su -尋找磁碟。 您用來探索新磁碟的方法可能會有所不同。 建議您使用
dmesg命令。 下列範例會使用dmesg來篩選 SCSI 磁碟:dmesg | grep SCSI命令輸出類似下列範例。 在這個範例中,您想要的是
/dev/sdc磁碟:[ 0.294784] SCSI subsystem initialized [ 0.573458] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252) [ 7.110271] sd 2:0:0:0: [sda] Attached SCSI disk [ 8.079653] sd 3:0:1:0: [sdb] Attached SCSI disk [ 1828.162306] sd 5:0:0:0: [sdc] Attached SCSI disk使用下列命令來存取 chroot 環境:
mkdir /rescue mount -o nouuid /dev/sdc4 /rescue mount -o nouuid /dev/sdc3 /rescue/boot/ mount /dev/sdc2 /rescue/boot/efi mount -t proc /proc /rescue/proc mount -t sysfs /sys /rescue/sys mount -o bind /dev /rescue/dev mount -o bind /dev/pts /rescue/dev/pts mount -o bind /run /rescue/run chroot /rescue針對 chroot 環境進行故障排除。
使用下列命令結束 chroot 環境:
exit umount /rescue/proc/ umount /rescue/sys/ umount /rescue/dev/pts umount /rescue/dev/ umount /rescue/run umount /rescue/boot/efi umount /rescue/boot umount /rescue備註
如果您收到錯誤訊息「無法卸除 /rescue」,請將
-l選項加入umount命令,例如umount -l /rescue。
從救援 VM 卸載磁碟,然後執行與原始 VM 的磁碟替換操作。
啟動原始 VM,並檢查其連線能力。
後續步驟
a