다음을 통해 공유


Linux 구조 VM의 Chroot 환경

적용 대상: ✔️ Linux VM

참고 항목

이 문서에서 참조하는 CentOS는 Linux 배포이며 EOL(수명 종료)에 도달합니다. 사용 및 계획을 적절하게 고려하세요. 자세한 내용은 CentOS 수명 종료 지침을 참조 하세요.

이 문서에서는 Linux의 VM(복구 가상 머신)에서 크로트 환경 문제를 해결하는 방법을 설명합니다.

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

  1. 영향을 받는 VM을 중지하거나 할당 취소합니다.

  2. 관리 디스크를 사용하여 동일한 세대, 동일한 OS 버전의 구조 VM을 동일한 리소스 그룹 및 위치에 만듭니다.

  3. Azure Portal을 사용하여 영향을 받는 가상 머신의 OS 디스크 스냅샷을 만듭니다.

  4. OS 디스크의 스냅샷에서 디스크를 만들고 복구 VM에 연결합니다.

  5. 디스크가 만들어지면 복구 VM의 chroot 환경 문제를 해결합니다.

    1. 다음 명령을 사용하여 루트 사용자로 VM에 액세스합니다.

      sudo su -

    2. 사용하여 dmesg 디스크를 찾습니다(새 디스크를 검색하는 데 사용하는 방법은 다를 수 있음). 다음 예제에서는 SCSI(Small Computer Systems Interface) 디스크를 필터링하는 데 사용합니다 dmesg .

      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. 크로트 환경 문제를 해결합니다.

    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를 분리할 수 없습니다"라는 오류 메시지가 표시되면 명령에 옵션을 umount 추가 -l 합니다(예: )umount -l /rescue.

  6. 복구 VM에서 디스크를 분리하고 원래 VM으로 디스크 교환을 수행합니다.

  7. 원래 VM을 시작하고 해당 연결을 확인합니다.

RHEL/Centos/Oracle 6.x & Oracle 8.x & RHEL/Centos 7.x WITH RAW Partitions

  1. 영향을 받는 VM을 중지하거나 할당 취소합니다.

  2. 관리 디스크를 사용하여 동일한 RSG(리소스 그룹) 및 위치에 동일한 OS 버전의 복구 VM 이미지를 만듭니다.

  3. Azure Portal을 사용하여 영향을 받는 가상 머신의 OS 디스크 스냅샷을 만듭니다.

  4. OS 디스크의 스냅샷에서 디스크를 만들고 복구 VM에 연결합니다.

  5. 디스크가 만들어지면 복구 VM의 chroot 환경 문제를 해결합니다.

    1. 다음 명령을 사용하여 루트 사용자로 VM에 액세스합니다.

      sudo su -

    2. 사용하여 dmesg 디스크를 찾습니다(새 디스크를 검색하는 데 사용하는 방법은 다를 수 있음). 다음 예제에서는 SCSI 디스크를 필터링하는 데 사용합니다 dmesg .

      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. 크로트 환경 문제를 해결합니다.

    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를 분리할 수 없습니다"라는 오류 메시지가 표시되면 명령에 옵션을 umount 추가 -l 합니다(예: )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 Portal을 사용하여 영향을 받는 가상 머신의 OS 디스크 스냅샷을 만듭니다.

  4. OS 디스크의 스냅샷에서 디스크를 만들고 복구 VM에 연결합니다.

  5. 디스크가 만들어지면 복구 VM의 chroot 환경 문제를 해결합니다.

    1. 다음 명령을 사용하여 루트 사용자로 VM에 액세스합니다.

      sudo su -

    2. 사용하여 dmesg 디스크를 찾습니다(새 디스크를 검색하는 데 사용하는 방법은 다를 수 있음). 다음 예제에서는 SCSI 디스크를 필터링하는 데 사용합니다 dmesg .

      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를 탑재하기 위한 올바른 디바이스를 확인합니다.

      mount /dev/mapper/rootvg-optlv /rescue/opt rootvg-optlv 볼륨 그룹이 없는 경우 명령이 실패할 수 있습니다. 이 경우 이 명령을 무시할 수 있습니다.

    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. 크로트 환경 문제를 해결합니다.

    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를 분리할 수 없습니다"라는 오류 메시지가 표시되면 명령에 옵션을 umount 추가 -l 합니다(예: )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
    

    이 출력은 복제된 물리적 볼륨(PV)에 대한 경고를 표시합니다.

    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경우 UUID와의 충돌을 방지하고 필요한 파일 시스템을 탑재하여 크로엇을 수행하는 옵션을 지정 -o nouuid 합니다. 이 옵션은 파일 시스템에서 사용할 수 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현재 사용 중인 운영 체제를 나타내며 무시해야 합니다.

  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. 다음 명령을 사용하여 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(볼륨 그룹)의 이름을 바꿉니다. 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 Portal을 사용하여 영향을 받는 가상 머신의 OS 디스크 스냅샷을 만듭니다.

  4. OS 디스크의 스냅샷에서 디스크를 만들고 복구 VM에 연결합니다.

  5. 디스크가 만들어지면 복구 VM의 chroot 환경 문제를 해결합니다.

    1. 다음 명령을 사용하여 루트 사용자로 VM에 액세스합니다.

      sudo su -

    2. 사용하여 dmesg 디스크를 찾습니다(새 디스크를 검색하는 데 사용하는 방법은 다를 수 있음). 다음 예제에서는 SCSI 디스크를 필터링하는 데 사용합니다 dmesg .

      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. 크로트 환경 문제를 해결합니다.

    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를 분리할 수 없습니다"라는 오류 메시지가 표시되면 명령에 옵션을 umount 추가 -l 합니다(예: )umount -l /rescue.

  6. 복구 VM에서 디스크를 분리하고 원래 VM으로 디스크 교환을 수행합니다.

  7. 원래 VM을 시작하고 해당 연결을 확인합니다.

SUSE-SLES 12 SP4, SAP용 SUSE-SLES 12 SP4 &&# SUSE-SLES 15 SP1, SAP용 SUSE-SLES 15 SP1

  1. 영향을 받는 VM을 중지하거나 할당 취소합니다.

  2. 관리 디스크를 사용하여 동일한 RSG(리소스 그룹) 및 위치에 동일한 OS 버전의 복구 VM 이미지를 만듭니다.

  3. Azure Portal을 사용하여 영향을 받는 가상 머신의 OS 디스크 스냅샷을 만듭니다.

  4. OS 디스크의 스냅샷에서 디스크를 만들고 복구 VM에 연결합니다.

  5. 디스크가 만들어지면 복구 VM의 chroot 환경 문제를 해결합니다.

    1. 다음 명령을 사용하여 루트 사용자로 VM에 액세스합니다.

      sudo su -

    2. 사용하여 dmesg 디스크를 찾습니다(새 디스크를 검색하는 데 사용하는 방법은 다를 수 있음). 다음 예제에서는 SCSI 디스크를 필터링하는 데 사용합니다 dmesg .

      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. 크로트 환경 문제를 해결합니다.

    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를 분리할 수 없습니다"라는 오류 메시지가 표시되면 명령에 옵션을 umount 추가 -l 합니다(예: )umount -l /rescue.

  6. 복구 VM에서 디스크를 분리하고 원래 VM으로 디스크 교환을 수행합니다.

  7. 원래 VM을 시작하고 해당 연결을 확인합니다.

다음 단계

도움을 요청하십시오.

질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.