누구나 EC2를 사용해 본 경험이 있기를 바랍니다. 나는 자리에있다.
실수로 Amazon Linux 2 인스턴스에서 glibc를 제거했습니다. 글쎄, 완전히 우연은 아니지만, 내가 가지고 있던 것을 공식 Amzn2 repo 패키지로 교체하려고 했습니다(이전에 rpm을 통해 수동으로 업그레이드하려고 했습니다).
이전에 해본 적이 있지만 다음 가이드를 따랐습니다.https://www.rootusers.com/how-to-repair-an-aws-ec2-instance-without-console/
새 Amazon Linux 2 인스턴스를 생성하고, 만든 스냅샷에서 새 볼륨을 마운트하고, dev/nvme1n1p1을 마운트하고 루트를 변경했습니다. glibc와 yum을 복구했습니다. yum distro-sync를 수행했습니까(이제 문제가 남지 않았습니다). 나는 모든 것을 조심스럽게 언마운트했다. 인스턴스를 종료합니다. 새 스냅샷을 만들었습니다. 해당 스냅샷에서 새 볼륨을 생성했습니다. 해당 볼륨을 첫 번째(손상된) 인스턴스에 dev/xvda로 마운트했습니다. 그리고 그것은 작동하지 않습니다. 1/2 시스템 검사가 통과되었으며(정말 오랜 시간이 흐른 후) 연결할 수 없습니다. 커널 로그를 살펴보았으나 이상한 점을 찾을 수 없었습니다. 탄력적 IP를 다시 연결해 보았습니다.
수리 후 직접 임시 인스턴스에 고정 볼륨을 루트로 마운트하려고 시도하기도 했습니다. 여전히 작동하지 않았습니다. 스냅샷에서 AMI를 생성하려고 시도했습니다. 도움을 주시면 진심으로 감사하겠습니다. 무엇을 해야할지 모르겠습니다.
답변1
호스트가 Amazon Linux 2 인스턴스(즉, 동일한 아키텍처)임에도 Amazon Linux 2 인스턴스로 루트를 변경하는 데 문제가 있는 경우 좋습니다. 누락된 라이브러리를 /mnt/lib64에 복사하세요. 복구를 위해 해당 디렉터리가 필요한 경우에는 탑재하지 않는 것이 중요합니다.
예:# cp -n /lib64/* /mountpoint/lib64/