Amazon EC2에서 부팅하는 동안 콘솔과 어떻게 상호 작용합니까?


8

이 부팅 프롬프트에 멈춰있는 인스턴스가 있습니다 (관리 콘솔에서 인스턴스 로그를 확인).

The disk drive for /mydisk is not ready yet or not present
Continue to wait; or Press S to skip mounting or M for manual recovery

EBS 볼륨을 추가하고 마운트 한 다음 EBS 볼륨을 삭제하고 / etc / fstab에서 항목을 제거하지 않고 시스템을 재부팅했습니다. 이제 부팅시 프롬프트가 표시되고 인스턴스에 SSH로 연결할 수 없습니다.

이 문제를 해결하려면 어떻게해야합니까?

답변:


11

귀하의 문제에 대한 '쉬운'솔루션을 모르지만 다소 루트 (루트 장치 유형에 따라 다름) 솔루션이 있습니다.

인스턴스에 EBS 루트가있는 경우 솔루션은 간단합니다. 인스턴스를 중지하고 EBS 드라이브를 분리하고 다른 인스턴스를 시작한 후 EBS 볼륨을 연결하십시오. 필요에 따라 fstab 파일을 편집하고 EBS 볼륨을 분리 한 후 원래 인스턴스에 다시 연결하십시오.

인스턴스에 S3 기반 루트 (예 : 인스턴스 저장소)가있는 경우 솔루션이 약간 더 어렵습니다. ec2-download-bundle을 사용하여 AMI에서 데이터를 다운로드 한 다음 해당 데이터를 ec2-unbundle을 사용하여 단일 파일로 추출 할 수 있습니다. 그런 다음 이미지를 마운트하고 필요한 변경을 수행 한 후 이미지를 다시 번들링 할 수 있습니다 ( ec2-bundle-vol 사용하여 -v 플래그로 번들 할 기본 볼륨을 대체 함). 변경 사항을 제외하고는 기존의 것과 동일한 새롭고 실행 가능한 AMI를 제공해야합니다. 또는 dd를 사용하여 이미지 파일의 내용을 EBS 볼륨에 복사 한 다음 EBS 루트 지원 인스턴스로 변환 할 수 있습니다.


고맙게도 내 인스턴스에는 EBS 루트가 있습니다! 답변 주셔서 감사합니다. 시도해보고 작동하는지 확인합니다.
ErJab

1
ErJab : EBS 부팅으로이 작업을 수행하는 방법을 설명하는 기사를 작성했습니다. alestic.com/2011/02/ec2-fix-ebs-root
Eric Hammond

오타 nofail/etc/fstab있는 경우에 추가하는 것이 현명 할까요? "오류"(에 설명 된대로 fstab(5))가 부팅 프로세스를 방해하지 않을 수도 있습니다.
Adam Monsen 2012

@AdamMonsen : 디스크를 사용할 수없는 경우 부팅 프로세스가 복구 모드로 종료되므로 일부 드라이브 (예 : 임시 드라이브)에는 좋은 방법입니다. 나는 일반적으로 옵션을 사용합니다 nobootwait-시도하지 않았습니다 nofail-그들 사이에 약간의 차이점이 있다고 생각합니다.
cyberx86

0

우분투에가있는 경우 마지막 두 줄을 systemd편집 /lib/systemd/system/local-fs.target하고 주석 처리 할 수 있습니다 .

#OnFailure=emergency.target
#OnFailureJobMode=replace-irreversibly

나는 이것을 광범위하게 테스트하지 않았으며 관련된 위험이나 부작용이 있는지 모르지만 지금까지는 매력처럼 작동합니다. 루트 볼륨과 다른 모든 볼륨 (잘못 구성되어있는 것을 제외하고)을 마운트 한 다음 SSH가 시작될 때까지 부팅 프로세스를 계속하므로 인스턴스에 연결하여 잘못된 fstab항목을 수정할 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.