Nitro 기반 인스턴스 유형으로 유형을 변경한 후 Linux 인스턴스가 부팅되지 않는 이유는 무엇인가요?

3분 분량
0

Amazon Elastic Compute Cloud(Amazon EC2) Linux 인스턴스를 Nitro 기반 인스턴스 유형으로 변경했는데 이제 부팅되지 않습니다.

간략한 설명

Linux 인스턴스를 Nitro 기반 유형으로 변경한 후 부팅되지 않는 몇 가지 일반적인 이유는 다음과 같습니다.

  • 인스턴스에 대해 Elastic Network Adapter(ENA) enaSupport 속성이 비활성화되어 있습니다.
  • ENA 모듈이 인스턴스에 설치되어 있지 않습니다.
  • NVMe 모듈이 인스턴스에 설치되어 있지 않거나, 설치된 경우 NVMe 모듈이 인스턴스의 initramfs 이미지에 로드되지 않습니다.
  • 장치 이름을 사용하여 "/etc/fstab" 파일에서 부팅 시 파일 시스템을 탑재하려고 합니다. Amazon Elastic Block Store(Amazon EBS) 볼륨은 이러한 인스턴스 유형에 NVMe 디바이스로 노출되며, 디바이스 이름은 변경됩니다. 이를 방지하려면 UUID/Label을 사용하여 파일 시스템을 탑재합니다. 자세한 내용은 Linux 인스턴스의 Amazon EBS 및 NVMe를 참조하세요.

이러한 문제를 해결하려면 ENA가 켜져 있고 Linux 인스턴스가 Nitro 기반 인스턴스 모듈 및 파일 시스템 탑재 요구 사항을 충족하는지 확인합니다.

또는 AWSSupport-MigrateXenToNitroLinux Systems Manager 자동화 런북을 실행할 수도 있습니다. 이 런북은 수동 구성 없이 Amazon EC2 Linux Xen을 마이그레이션합니다. 자세한 내용은 AWSSupport-MigrateXenToNitroLinux를 참조하세요.

해결 방법

ENA가 켜져 있는지 확인

1.    ENA가 켜져 있는지 확인하려면 향상된 네트워킹이 켜져 있는지 테스트를 참조한 다음 인스턴스 속성(enaSupport) 아래의 지침을 따릅니다.

2.    ENA가 켜져 있지 않은 경우 modify-instance-attribute 작업을 실행합니다. 자세한 내용은 Amazon Linux AMI에서 향상된 네트워킹 켜기 를 참조하십시오.

NitroInstanceChecks 스크립트 실행

NitroInstanceChecks 스크립트는 인스턴스를 확인하고 다음 요구 사항의 통과/실패 상태를 제공합니다.

  • NVMe 모듈이 인스턴스에 설치되었는지 확인합니다. 설치된 경우 스크립트는 모듈이 initramfs 이미지에 로드되었는지 확인합니다.
  • 인스턴스에 ENA 모듈이 설치되었는지 확인합니다.
  • /etc/fstab을 분석하고 디바이스 이름을 사용하여 탑재되는 블록 디바이스를 찾습니다.

이 스크립트는 다음 OS 버전에서 지원됩니다.

  • Red Hat 파생 제품: Red Hat Linux, Red Hat Enterprise Linux, CentOS
  • Amazon Linux, Amazon Linux 2 및 Amazon Linux 2023
  • Debian 파생 제품: Debian, Ubuntu

참고: Red Hat의 ENA 드라이버에 대한 자세한 내용은 Red Hat 6/7을 실행하는 Amazon EC2 인스턴스에서 향상된 네트워크 지원을 위해 최신 ENA 드라이버를 설치하고 활성화하려면 어떻게 해야 하나요?를 참조하세요.

NitroInstanceChecks 스크립트를 실행하려면 다음과 같이 수행합니다.

1.    백업을 위해 변경하기 전에 볼륨의 스냅샷을 생성하거나 인스턴스의 Amazon Machine Image(AMI)를 생성합니다.

2.    인스턴스 유형을 원래 유형으로 변경합니다.

3.    GitHub에서 인스턴스로 스크립트를 다운로드하고 실행 가능하게 만듭니다.

# chmod +x nitro_check_script.sh

4.    루트 사용자 또는 sudo로 스크립트를 실행합니다.

# sudo ./nitro_check_script.sh

5.    프롬프트에서 y 또는 n(또는 No)을 입력합니다. /etc/fstab 파일을 재생성하고 수정하는 스크립트에 대해 y를 입력한 다음 각 파티션의 디바이스 이름을 해당 UUID로 바꿉니다. 원본 fstab 파일은 /etc/fstab.backup.$(date +%F-%H:%M:%S)로 저장됩니다. 예를 들어 /etc/fstab.backup.2019-09-01-22:06:05입니다. 출력에 올바른 /etc/fstab 파일을 인쇄하되 바꾸지 않으려면 n 또는 No를 입력합니다.

성공적인 출력은 다음과 같습니다.

------------------------------------------------
OK  NVMe Module is installed and available on your instance
OK  ENA Module is installed and available on your instance
OK  fstab file looks fine and does not contain any device names.
------------------------------------------------

6.    모든 요구 사항이 충족되면 인스턴스를 Nitro 기반 인스턴스 유형으로 변경합니다.

AWS 공식
AWS 공식업데이트됨 2년 전