복구 모드를 사용하여 Linux 시스템 시작 실패 문제 해결
오류 설명
Linux 시스템이 다시 시작된 후 인스턴스를 정상적으로 시작할 수 없습니다. 프롬프트 메시지에는 FAILED 시작 실패 항목이 많이 있습니다.
예상 원인
다음과 같은 주요 시스템 파일. .bin 및 .lib 파일이 없습니다.
해결 방식
문제 해결을 위해 콘솔을 통해 인스턴스 복구 모드로 들어가려면 처리 단계를 참고하십시오. 처리 단계
2. CVM 콘솔에 로그인합니다. ‘인스턴스’ 페이지에서 대상 인스턴스를 찾아 더 보기 > Ops 및 점검 > 복구 모드 진입을 선택합니다.
3. ‘복구 모드 시작’ 팝업 창에서 복구 모드에서 인스턴스에 로그인하기 위한 비밀번호를 설정합니다. 아래 이미지와 같습니다.
4. 복구 모드 진입을 클릭하면 인스턴스 상태가 ‘복구 모드 진입’으로 변경되며 일반적으로 몇 분 안에 완료됩니다.
복구 모드에 진입한 인스턴스의 상태가 빨간색 느낌표와 함께 ‘복구 모드’로 변경됩니다.
5. 3단계에서 설정한 'root' 계정과 비밀번호로 다음과 같이 인스턴스에 로그인합니다. 6. 본 문서는 VNC를 통한 로그인을 예로 들어 설명합니다. 로그인에 성공하면 다음 명령을 순서대로 실행하여 시스템 디스크의 루트 파티션을 마운트합니다.
설명:
복구 모드에서 인스턴스 시스템 디스크의 장치 이름은 vda이고 루트 파티션은 vda1이며 기본적으로 마운트 해제되어 있습니다.
실행 완료 후, 반환 결과는 아래와 같습니다.
7. 성공적으로 마운트한 후 원본 시스템의 루트 파티션에 있는 데이터를 조작할 수 있습니다.
또한 mount -o bind
명령을 사용하여 원본 파일 시스템의 일부 서브 디렉터리를 마운트하고 chroot
명령을 사용하여 지정된 루트 디렉터리에서 명령을 실행할 수도 있습니다. 구체적인 명령은 다음과 같습니다.
mount -o bind /dev /mnt/vm1/dev
mount -o bind /dev/pts /mnt/vm1/dev/pts
mount -o bind /proc /mnt/vm1/proc
mount -o bind /run /mnt/vm1/run
mount -o bind /sys /mnt/vm1/sys
chroot /mnt/vm1 /bin/bash
chroot
명령을 실행할 때:
오류 메시지가 없으면 cd /
명령을 계속 실행할 수 있습니다.
아래와 같은 에러 메시지가 나타나면 루트 디렉터리를 정상적으로 전환할 수 없습니다. 이 경우 cd /mnt/vm1
을 실행하여 루트 파티션 데이터를 볼 수 있습니다.
8. 명령을 통해 원래 시스템 루트 파티션의 /usr/bin
디렉터리에 있는 모든 파일이 삭제되었는지 확인할 수 있습니다.
9. 이 경우 동일한 운영체제를 사용하여 일반 인스턴스를 생성하고, 다음 명령어를 실행하여 정상 시스템의 /usr/bin
디렉터리에 있는 파일을 압축하여 비정상 인스턴스에 원격으로 복사할 수 있습니다.
일반 인스턴스의 경우 다음 명령을 순서대로 실행합니다.
cd /usr/bin/ && tar -zcvf bin.tar.gz *
scp bin.tar.gz root@비정상 인스턴스ip:/mnt/vm1/usr/bin/
설명:
인스턴스에 공인 IP가 있는 경우 공중망을 통해 복사를 수행할 수 있습니다. 그렇지 않으면 사설망을 통해 복사가 수행됩니다.
비정상 인스턴스의 경우 복구 모드에서 다음 명령을 순서대로 실행하십시오.
chroot /mnt/vm1 /bin/bash
10. 인스턴스를 복구한 후 대상 인스턴스의 작업 열에서 더 보기 > Ops 및 점검 > 복구 모드 종료를 선택합니다. 아래 이미지와 같습니다.
11. 복구 모드를 종료한 후 인스턴스는 종료 상태가 됩니다. 인스턴스를 시작하여 시스템을 확인하십시오. 아래와 같이 시스템이 복구됩니다.
문제 해결에 도움이 되었나요?