共用方式為


Linux 救援 VM 中的 Chroot 環境

適用於:✔️ Linux VM

注意

本文所參考的 CentOS 是一種 Linux 發行版,且將到達生命周期結束(EOL)。 請據以考慮您的使用和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指引

本文說明如何針對Linux中救援虛擬機 (VM) 中的chroot環境進行疑難解答。

Ubuntu 16.x && Ubuntu 18.x && Ubuntu 20.04

  1. 停止或解除分配受影響的 VM。

  2. 使用受控磁碟,在相同的資源群組和位置中,建立相同世代、相同操作系統版本的救援 VM。

  3. 使用 Azure 入口網站 來擷取受影響虛擬機OS磁碟的快照集。

  4. 從OS磁碟的快照集建立磁碟,並將其連結至救援 VM。

  5. 建立磁碟之後,請針對救援 VM 中的 chroot 環境進行疑難解答。

    1. 使用下列命令,以根使用者身分存取您的 VM:

      sudo su -

    2. 使用 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
      
    3. 使用下列命令來存取 chroot 環境:

      mkdir /rescue
      mount /dev/sdc1 /rescue
      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
      
    4. 針對 chroot 環境進行疑難解答。

    5. 使用下列命令結束 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
      

      注意

      如果您收到錯誤訊息「無法卸除 /rescue」,請將 選項新增 -lumount 命令, umount -l /rescue例如 。

  6. 從救援 VM 中斷連結磁碟,並使用原始 VM 執行磁碟交換。

  7. 啟動原始 VM 並檢查其連線能力。

RHEL/Centos/Oracle 6.x && Oracle 8.x && RHEL/Centos 7.x 與 RAW 分割區

  1. 停止或解除分配受影響的 VM。

  2. 使用受控磁碟,在相同資源群組 (RSG) 和位置中,建立相同 OS 版本的救援 VM 映射。

  3. 使用 Azure 入口網站 來擷取受影響虛擬機OS磁碟的快照集。

  4. 從OS磁碟的快照集建立磁碟,並將其連結至救援 VM。

  5. 建立磁碟之後,請針對救援 VM 中的 chroot 環境進行疑難解答。

    1. 使用下列命令,以根使用者身分存取您的 VM:

      sudo su -

    2. 使用 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
      
    3. 使用下列命令來存取 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
      
    4. 針對 chroot 環境進行疑難解答。

    5. 使用下列命令結束 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」,請將 選項新增 -lumount 命令, umount -l /rescue例如 。

  6. 從救援 VM 中斷連結磁碟,並使用原始 VM 執行磁碟交換。

  7. 啟動原始 VM 並檢查其連線能力。

RHEL/Centos 7.x 和 8.X 與 LVM

注意

如果您的原始 VM 包含 OS 磁碟上的邏輯磁碟區管理員 (LVM),請使用映像搭配 OS 磁碟上的原始磁碟分區來建立救援 VM。

  1. 停止或解除分配受影響的 VM。

  2. 使用受控磁碟,在相同資源群組 (RSG) 和位置中,建立相同 OS 版本的救援 VM 映射。

  3. 使用 Azure 入口網站 來擷取受影響虛擬機OS磁碟的快照集。

  4. 從OS磁碟的快照集建立磁碟,並將其連結至救援 VM。

  5. 建立磁碟之後,請針對救援 VM 中的 chroot 環境進行疑難解答。

    1. 使用下列命令,以根使用者身分存取您的 VM:

      sudo su -

    2. 使用 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
      
    3. 使用下列命令來啟動邏輯磁碟區群組:

      vgscan --mknodes
      vgchange -ay
      lvscan
      
    4. lsblk使用 命令來擷取 LVM 名稱:

      lsblk
      
      NAME              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
      
    5. 使用下列命令來準備 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 檔案,以判斷中斷 OS 磁盤中 /boot/boot/efi 磁盘的正確裝置。 然後,執行 blkid 命令,並將 /rescue/etc/fstab 檔案中的通用唯一標識符 (UUID) 與命令的blkid輸出進行比較,以判斷修復 VM 中掛接 /rescue/boot//rescue/boot/efi 的正確裝置。

      如果 rootvg-optlv 磁碟區群組不存在,命令mount /dev/mapper/rootvg-optlv /rescue/opt可能會失敗。 在此情況下,您可以略過此命令。

    6. 使用下列命令存取 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
      
    7. 針對 chroot 環境進行疑難解答。

    8. 使用下列命令結束 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」,請將 選項新增 -lumount 命令, umount -l /rescue例如 。

  6. 從救援 VM 中斷連結磁碟,並使用原始 VM 執行磁碟交換。

  7. 啟動原始 VM 並檢查其連線能力。

使用相同的 LVM 映像

注意

如果您需要使用相同的 LVM 映射來部署救援 VM,您需要使用 LVM 來修改救援 VM 的某些層面。

下列命令將在暫時為復原作業建立的復原/救援 VM 上執行。

  1. 使用下列命令來檢查磁碟的狀態,再連接您要救援的磁碟:

    sudo lsblk -f
    
    NAME              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
    
  2. 將您想要救援的磁碟連結為數據磁碟驅動器。

  3. 使用下列命令再次檢查磁碟:

    sudo lsblk -f
    
    NAME              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 結構。

  4. 使用下列命令檢視實體 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
    
  5. vmimportclone使用 命令,使用其他名稱從數據磁碟驅動器匯入 rootvg

    此命令會變更 PV 的 UUID,並啟動它:

    sudo vgimportclone -n rescuemevg /dev/sdc4
    
    WARNING: 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 rescuemevg 
    
    6 logical volume(s) in volume group "rescuemevg" now active
    
  6. 使用下列命令來確認名稱變更:

    sudo lsblk -f
    
    NAME                  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
    
  7. 使用下列命令重新 命名救援 VM 的 rootvg

    sudo vgrename rootvg oldvg
    
    Volume group "rootvg" successfully renamed to "oldvg"
    
  8. 使用下列命令檢查磁碟:

    sudo lsblk -f
    
    NAME                  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
    
  9. 掛接來自數據磁碟驅動器的文件系統。

    使用 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/sdcdev/sda 代表目前使用的操作系統,應該忽略。

  10. 使用下列命令確認掛接:

    sudo lsblk -f
    
    NAME                  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
    
  11. 使用下列命令使用 chroot:

    sudo chroot /rescue/
    
  12. 使用下列命令確認掛接 「inside」 chroot 環境:

    sudo lsblk -f
    
    NAME                  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 是掛在 上的 /

  13. 使用下列命令,將磁碟區群組重新命名為保持一致。 重新命名 VG 可讓您在重新產生 initrd 時遇到問題,並在原始 VM 上再次開機磁碟。

    sudo vgrename rescuemevg rootvg
    
    Volume group "rescuemevg" successfully renamed to "rootvg"
    
  14. 使用下列命令來確認變更:

    sudo lsblk -f
    
    NAME              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   /
    
  15. 繼續進行必要活動以營救OS。 這些活動可能包括重新產生 initramfs 或 GRUB 組態。

  16. 使用下列命令結束 chroot 環境:

    sudo exit
    
  17. 從救援 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
    
  18. 啟動原始 VM 並確認其功能。

Oracle 7.x

  1. 停止或解除分配受影響的 VM。

  2. 使用受控磁碟,在相同的資源群組 (RSG) 和位置中,建立相同 OS 版本的救援 VM 映射。

  3. 使用 Azure 入口網站 來擷取受影響虛擬機OS磁碟的快照集。

  4. 從OS磁碟的快照集建立磁碟,並將其連結至救援 VM。

  5. 建立磁碟之後,請針對救援 VM 中的 chroot 環境進行疑難解答。

    1. 使用下列命令,以根使用者身分存取您的 VM:

      sudo su -

    2. 使用 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
      
    3. 使用下列命令來存取 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
      
    4. 針對 chroot 環境進行疑難解答。

    5. 使用下列命令結束 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」,請將 選項新增 -lumount 命令, umount -l /rescue例如 。

  6. 從救援 VM 中斷連結磁碟,並使用原始 VM 執行磁碟交換。

  7. 啟動原始 VM 並檢查其連線能力。

SUSE-SLES 12 SP4、SUSE-SLES 12 SP4 for SAP && && ## SUSE-SLES 15 SP1、SUSE-SLES 15 SP1 for SAP

  1. 停止或解除分配受影響的 VM。

  2. 使用受控磁碟,在相同的資源群組 (RSG) 和位置中,建立相同 OS 版本的救援 VM 映射。

  3. 使用 Azure 入口網站 來擷取受影響虛擬機OS磁碟的快照集。

  4. 從OS磁碟的快照集建立磁碟,並將其連結至救援 VM。

  5. 建立磁碟之後,請針對救援 VM 中的 chroot 環境進行疑難解答。

    1. 使用下列命令,以根使用者身分存取您的 VM:

      sudo su -

    2. 使用 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
      
    3. 使用下列命令來存取 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
      
    4. 針對 chroot 環境進行疑難解答。

    5. 使用下列命令結束 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」,請將 選項新增 -lumount 命令, umount -l /rescue例如 。

  6. 從救援 VM 中斷連結磁碟,並使用原始 VM 執行磁碟交換。

  7. 啟動原始 VM 並檢查其連線能力。

後續步驟

與我們連絡,以取得說明

如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。