왜 부팅이 되지 않았을까요?
Nitro 인스턴스로 넘어가기 위해서는 OS가 아래 3가지 조건을 반드시 만족해야 합니다. 하나라도 빠지면 부팅이 안 되거나 네트워크 접속이 불가능해집니다.
NVMe 드라이버 부재: Nitro 인스턴스는 EBS 볼륨을 NVMe 방식으로 연결합니다. 이전 방식(Xen)의 드라이버만 있다면 OS가 부팅 디스크를 찾지 못합니다.
ENA 드라이버 및 속성 미설정: Nitro는 고성능 네트워크(ENA)를 사용합니다. 드라이버가 없거나 인스턴스 속성에
enaSupport가 활성화되지 않으면 네트워크가 끊깁니다./etc/fstab장치 이름 문제: fstab 파일에 디스크 경로가/dev/xvda1처럼 장치 이름으로 되어 있다면, Nitro 환경(예:/dev/nvme0n1p1)에서는 인식이 안 됩니다. 반드시 UUID나 Label 방식을 써야 합니다.
Nitro 타입으로 성공적으로 변경하는 3단계
이전 인스턴스 유형으로 부팅에 성공했다면, 아래 작업을 수행한 뒤 다시 인스턴스 유형을 변경하세요.
1단계: 드라이버 및 fstab 확인 (수동)
NVMe 확인:
lsmod | grep nvme명령어로 드라이버가 있는지 확인합니다.fstab 수정:
/etc/fstab을 열어 장치 경로를 모두 UUID로 바꿉니다. (blkid명령어로 UUID 확인 가능)수정 전:
/dev/xvda1 / ext4 defaults 1 1수정 후:
UUID=a1b2c3d4-e5f6... / ext4 defaults 1 1
2단계: ENA 속성 활성화 (CLI 필요)
인스턴스가 꺼진 상태에서 로컬 PC의 AWS CLI를 통해 이 속성을 켜줘야 합니다.
aws ec2 modify-instance-attribute --instance-id 인스턴스ID --ena-support
3단계: AWS 자동화 도구 사용
가장 확실한 방법은 AWS가 제공하는 자동 점검 스크립트를 쓰는 것입니다.
AWS SSM Runbook:
AWSSupport-MigrateXenToNitroLinux라는 런북을 실행하면 AWS가 알아서 드라이버를 깔고 설정을 잡아줍니다.
Tip
부팅 스크린샷을 꼭 확인하세요!
인스턴스 상태가 'Running'인데 접속이 안 된다면, EC2 콘솔의 [작업] -> [모니터링 및 문제 해결] -> [인스턴스 스크린샷 가져오기]를 눌러보세요. 만약 검은 화면에 "Kernel Panic"이나 "Waiting for root device"가 떠 있다면 100% 드라이버나 fstab 문제입니다. 이 스크린샷 한 장이 원인 파악 시간을 1시간 이상 줄여줍니다.
댓글
댓글 0개
이 문서에는 댓글을 달 수 없습니다.