Linux 구조 VM의 Chroot 환경
적용 대상: ✔️ Linux VM
참고 항목
이 문서에서 참조하는 CentOS는 Linux 배포이며 EOL(수명 종료)에 도달합니다. 사용 및 계획을 적절하게 고려하세요. 자세한 내용은 CentOS 수명 종료 지침을 참조 하세요.
이 문서에서는 Linux의 VM(복구 가상 머신)에서 크로트 환경 문제를 해결하는 방법을 설명합니다.
Ubuntu 16.x & Ubuntu 18.x & Ubuntu 20.04
영향을 받는 VM을 중지하거나 할당 취소합니다.
관리 디스크를 사용하여 동일한 세대, 동일한 OS 버전의 구조 VM을 동일한 리소스 그룹 및 위치에 만듭니다.
Azure Portal을 사용하여 영향을 받는 가상 머신의 OS 디스크 스냅샷을 만듭니다.
OS 디스크의 스냅샷에서 디스크를 만들고 복구 VM에 연결합니다.
디스크가 만들어지면 복구 VM의 chroot 환경 문제를 해결합니다.
다음 명령을 사용하여 루트 사용자로 VM에 액세스합니다.
sudo su -
사용하여
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
다음 명령을 사용하여 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
크로트 환경 문제를 해결합니다.
다음 명령을 사용하여 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
.
복구 VM에서 디스크를 분리하고 원래 VM으로 디스크 교환을 수행합니다.
원래 VM을 시작하고 해당 연결을 확인합니다.
RHEL/Centos/Oracle 6.x & Oracle 8.x & RHEL/Centos 7.x WITH RAW Partitions
영향을 받는 VM을 중지하거나 할당 취소합니다.
관리 디스크를 사용하여 동일한 RSG(리소스 그룹) 및 위치에 동일한 OS 버전의 복구 VM 이미지를 만듭니다.
Azure Portal을 사용하여 영향을 받는 가상 머신의 OS 디스크 스냅샷을 만듭니다.
OS 디스크의 스냅샷에서 디스크를 만들고 복구 VM에 연결합니다.
디스크가 만들어지면 복구 VM의 chroot 환경 문제를 해결합니다.
다음 명령을 사용하여 루트 사용자로 VM에 액세스합니다.
sudo su -
사용하여
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
다음 명령을 사용하여 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 환경을 종료합니다.
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
.
복구 VM에서 디스크를 분리하고 원래 VM으로 디스크 교환을 수행합니다.
원래 VM을 시작하고 해당 연결을 확인합니다.
RHEL/Centos 7.x 및 8.X(LVM 사용)
참고 항목
원래 VM에 OS 디스크에 LVM(논리 볼륨 관리자)이 포함된 경우 OS 디스크에 원시 파티션이 있는 이미지를 사용하여 구조 VM을 만듭니다.
영향을 받는 VM을 중지하거나 할당 취소합니다.
관리 디스크를 사용하여 동일한 RSG(리소스 그룹) 및 위치에 동일한 OS 버전의 복구 VM 이미지를 만듭니다.
Azure Portal을 사용하여 영향을 받는 가상 머신의 OS 디스크 스냅샷을 만듭니다.
OS 디스크의 스냅샷에서 디스크를 만들고 복구 VM에 연결합니다.
디스크가 만들어지면 복구 VM의 chroot 환경 문제를 해결합니다.
다음 명령을 사용하여 루트 사용자로 VM에 액세스합니다.
sudo su -
사용하여
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
다음 명령을 사용하여 논리 볼륨 그룹을 활성화합니다.
vgscan --mknodes vgchange -ay lvscan
명령을
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
다음 명령을 사용하여 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 볼륨 그룹이 없는 경우 명령이 실패할 수 있습니다. 이 경우 이 명령을 무시할 수 있습니다.다음 명령을 사용하여 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 환경을 종료합니다.
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
.
복구 VM에서 디스크를 분리하고 원래 VM으로 디스크 교환을 수행합니다.
원래 VM을 시작하고 해당 연결을 확인합니다.
동일한 LVM 이미지 사용
참고 항목
동일한 LVM 이미지를 사용하여 구조 VM을 배포해야 하는 경우 LVM을 사용하여 구조 VM의 일부 측면을 수정해야 합니다.
다음 명령은 복구 작업을 위해 일시적으로 생성된 복구/구조 VM에서 실행됩니다.
다음 명령을 사용하여 복구할 디스크를 연결하기 전에 디스크의 상태를 확인합니다.
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
데이터 드라이브로 복구하려는 디스크를 연결합니다.
다음 명령을 사용하여 디스크를 다시 확인합니다.
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 구조를 즉시 표시하지 않습니다.
다음 명령을 사용하여 실제 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
명령을
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
다음 명령을 사용하여 이름 변경을 확인합니다.
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
다음 명령을 사용하여 복구 VM의 rootvg 이름을 바꿉니다.
sudo vgrename rootvg oldvg
Volume group "rootvg" successfully renamed to "oldvg"
다음 명령을 사용하여 디스크를 확인합니다.
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
데이터 드라이브에서 제공되는 파일 시스템을 탑재합니다.
사용하는
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는 현재 사용 중인 운영 체제를 나타내며 무시해야 합니다.다음 명령을 사용하여 탑재를 확인합니다.
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
다음 명령을 사용하여 chroot를 사용합니다.
sudo chroot /rescue/
다음 명령을 사용하여 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 는 에 /탑재 된 것입니다.
다음 명령을 사용하여 일관성을 유지하기 위해 VG(볼륨 그룹)의 이름을 바꿉니다. VG 이름을 바꾸면 initrd를 다시 생성하고 원래 VM에서 디스크를 다시 부팅할 때 문제가 발생하지 않습니다.
sudo vgrename rescuemevg rootvg
Volume group "rescuemevg" successfully renamed to "rootvg"
다음 명령을 사용하여 변경 사항을 확인합니다.
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 /
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을 시작하고 해당 기능을 확인합니다.
Oracle 7.x
영향을 받는 VM을 중지하거나 할당 취소합니다.
관리 디스크를 사용하여 동일한 RSG(리소스 그룹) 및 위치에 동일한 OS 버전의 복구 VM 이미지를 만듭니다.
Azure Portal을 사용하여 영향을 받는 가상 머신의 OS 디스크 스냅샷을 만듭니다.
OS 디스크의 스냅샷에서 디스크를 만들고 복구 VM에 연결합니다.
디스크가 만들어지면 복구 VM의 chroot 환경 문제를 해결합니다.
다음 명령을 사용하여 루트 사용자로 VM에 액세스합니다.
sudo su -
사용하여
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
다음 명령을 사용하여 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 환경을 종료합니다.
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
.
복구 VM에서 디스크를 분리하고 원래 VM으로 디스크 교환을 수행합니다.
원래 VM을 시작하고 해당 연결을 확인합니다.
SUSE-SLES 12 SP4, SAP용 SUSE-SLES 12 SP4 &&# SUSE-SLES 15 SP1, SAP용 SUSE-SLES 15 SP1
영향을 받는 VM을 중지하거나 할당 취소합니다.
관리 디스크를 사용하여 동일한 RSG(리소스 그룹) 및 위치에 동일한 OS 버전의 복구 VM 이미지를 만듭니다.
Azure Portal을 사용하여 영향을 받는 가상 머신의 OS 디스크 스냅샷을 만듭니다.
OS 디스크의 스냅샷에서 디스크를 만들고 복구 VM에 연결합니다.
디스크가 만들어지면 복구 VM의 chroot 환경 문제를 해결합니다.
다음 명령을 사용하여 루트 사용자로 VM에 액세스합니다.
sudo su -
사용하여
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
다음 명령을 사용하여 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 환경을 종료합니다.
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
.
복구 VM에서 디스크를 분리하고 원래 VM으로 디스크 교환을 수행합니다.
원래 VM을 시작하고 해당 연결을 확인합니다.
다음 단계
도움을 요청하십시오.
질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.