Linux インスタンスのタイプを Nitro ベースのインスタンスタイプに変更した後に Linux インスタンスが起動しないのはなぜですか?

所要時間2分
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 Automation ランブックを実行することもできます。このランブックでは、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 マシンイメージ (AMI) の作成を行います。

2.    インスタンスタイプを元のタイプに変更します。

3.    以下のように、GitHub からインスタンスにスクリプトをダウンロードし、実行可能にします。

# chmod +x nitro_check_script.sh

4.    ルートユーザーまたは sudo として以下のスクリプトを実行します。

# sudo ./nitro_check_script.sh

5.    プロンプトで y または n (または No) を入力します。 y を入力し、スクリプトで /etc/fstab ファイルを再生成して変更する場合は、各パーティションのデバイス名をその UUID で置き換えます。元の fstab ファイルは /etc/fstab.backup.$(date +%F-%H:%M:%S) として保存されます。例えば、/etc/fstab.backup.2019-09-01-22:06:05 です。n または No を入力すると、正しい /etc/fstab ファイルが出力されます。ただし、これは置き換えられません。

正常な出力は次のようになります。

------------------------------------------------
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公式更新しました 1年前
コメントはありません

関連するコンテンツ