Amazon EBS ボリュームを NVMe デバイス名にマッピングする - Amazon EBS

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon EBS ボリュームを NVMe デバイス名にマッピングする

EBS は、単一ルート I/O 仮想化 (SR-IOV) を使用して、NVMe 仕様を使用して Nitro ベースのインスタンスにボリュームアタッチメントを提供します。これらのデバイスは、オペレーティングシステムの標準 NVMe ドライバーに依存しています。これらのドライバーは、通常、インスタンスのブート時にアタッチ済みのデバイスを検出し、そのデバイスがブロックデバイスマッピングでどのように指定されているかではなく、デバイスが応答する順序に基づいてデバイスノードを作成します。

Linux では、NVMe デバイス名はパターン に従います。ここで/dev/nvme<x>n<y>、<x> は列挙順序で、EBS の場合、<y> は 1 です。場合によっては、デバイスは後続のインスタンスの開始時に異なる順序で検出に応答することがあり、デバイス名が変更されます。また、ブロックデバイスドライバーによって割り当てられるデバイス名は、ブロックデバイスマッピングで指定される名前と異なる場合があります。

インスタンス内の EBS ボリュームには、次のいずれかのように安定した識別子を使用することをお勧めします。

  • Nitro ベースのインスタンスの場合、EBS ボリュームをアタッチするとき、または AttachVolumeまたは API 呼び出し中に Amazon RunInstances EC2 コンソールで指定されたブロックデバイスマッピングは、NVMe コントローラー識別のベンダー固有のデータフィールドにキャプチャされます。バージョン 2017.09.01 以降の Amazon Linux AMIs では、このデータを読み取り、ブロックデバイスマッピングへのシンボリックリンクを作成するudevルールが用意されています。

  • EBS ボリューム ID とマウントポイントは、インスタンスの状態が変わるたびに安定しています。NVMe デバイス名は、インスタンスの起動中にデバイスが応答する順序に応じて変更される場合があります。一貫したデバイス識別のために、EBS ボリューム ID とマウントポイントを使用することをお勧めします。

  • NVMe EBSには、デバイス ID のシリアル番号として EBS ボリューム ID が設定されています。シリアル番号を一覧表示するには、lsblk -o +SERIAL コマンドを使用します。

  • NVMe デバイス名の形式は、EBS ボリュームがインスタンスの起動中または起動後にアタッチされたかどうかによって異なります。インスタンスの起動後にアタッチされたボリュームのNVMeデバイス名には /dev/ プレフィックスが含まれ、インスタンスの起動時にアタッチされたボリュームのNVMeデバイス名には /dev/ プレフィックスは含まれません。

    • Amazon Linux または FreeBSD AMI の場合は、一貫した NVMe デバイス名に sudo ebsnvme-id /dev/nvme0n1 -u コマンドを使用します。

    • 他のディストリビューションの場合は、 sudo nvme id-ctrl -v /dev/nvme0n1 コマンドを使用して NVMe デバイス名を決定します。--vendor-specific コマンドオプションを含める必要がある場合があります。

  • デバイスがフォーマットされると、ファイルシステムの存続期間中存続する UUID が生成されます。デバイスラベルは同時に指定することができます。詳細については、「Amazon EBS ボリュームを使用できるようにする および 間違ったボリュームからの起動」を参照してください。

Amazon Linux AMIs

Amazon Linux AMI 2017.09.01 以降 (Amazon Linux 2 を含む) では、次のように ebsnvme-id コマンドを実行して、NVMe デバイス名をボリューム ID とデバイス名にマッピングできます。

次の例は、インスタンスの起動時にアタッチされたボリュームのコマンドと出力を示しています。NVMe デバイス名には /dev/プレフィックスが含まれていないことに注意してください。

[ec2-user ~]$ sudo /sbin/ebsnvme-id /dev/nvme0n1 Volume ID: vol-01324f611e2463981 sda

次の例は、インスタンスの起動後にアタッチされたボリュームのコマンドと出力を示しています。NVMe デバイス名には /dev/プレフィックスが含まれていることに注意してください。

[ec2-user ~]$ sudo /sbin/ebsnvme-id /dev/nvme1n1 Volume ID: vol-064784f1011136656 /dev/sdf

Amazon Linux は、ブロックデバイスマッピングのデバイス名 ( など/dev/sdf) から NVMe デバイス名へのシンボリックリンクも作成します。

FreeBSD のAMIs

FreeBSD 12.2-RELEASE 以降では、上記のように ebsnvme-id コマンドを実行できます。NVMe デバイスの名前 (例: nvme0) またはディスクデバイス (例: nvd0または ) を渡しますnda0。FreeBSD はディスクデバイスへのシンボリックリンクも作成します (例: /dev/aws/disk/ebs/volume_id).

その他の Linux AMIs

カーネルバージョン 4.2 以降では、次のように nvme id-ctrl コマンドを実行して、NVMe デバイスをボリューム ID にマッピングできます。まず、Linux ディストリビューションのパッケージ管理ツールを使用してnvme-cli、NVMe コマンドラインパッケージ をインストールします。他のディストリビューションのダウンロードおよびインストール手順については、ディストリビューションに固有のドキュメントを参照してください。

次の例では、インスタンスの起動時にアタッチされたボリュームのボリューム ID と NVMe デバイス名を取得します。NVMe デバイス名には /dev/プレフィックスが含まれていないことに注意してください。デバイス名は、NVMe コントローラーのベンダー固有の拡張子 (コントローラー識別のバイト 384:4095) で使用できます。

[ec2-user ~]$ sudo nvme id-ctrl -v /dev/nvme0n1 NVME Identify Controller: vid : 0x1d0f ssvid : 0x1d0f sn : vol01234567890abcdef mn : Amazon Elastic Block Store ... 0000: 2f 64 65 76 2f 73 64 6a 20 20 20 20 20 20 20 20 "sda..."

次の例では、インスタンスの起動後にアタッチされたボリュームのボリューム ID と NVMe デバイス名を取得します。NVMe デバイス名には /dev/プレフィックスが含まれていることに注意してください。

[ec2-user ~]$ sudo nvme id-ctrl -v /dev/nvme1n1 NVME Identify Controller: vid : 0x1d0f ssvid : 0x1d0f sn : volabcdef01234567890 mn : Amazon Elastic Block Store ... 0000: 2f 64 65 76 2f 73 64 6a 20 20 20 20 20 20 20 20 "/dev/sdf..."

lsblk コマンドは、使用可能なデバイスとそのマウントポイント (該当する場合) をリストします。これは、使用する正しいデバイス名を決定するのに役立ちます。この例では、/dev/nvme0n1p1 がルートデバイスとしてマウントされ、/dev/nvme1n1 はアタッチされていますがマウントされていません。

[ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:3 0 100G 0 disk nvme0n1 259:0 0 8G 0 disk nvme0n1p1 259:1 0 8G 0 part / nvme0n1p128 259:2 0 1M 0 part

ebsnvme-id コマンドを実行して、NVMe デバイスディスク番号を EBS ボリューム ID とデバイス名にマッピングできます。デフォルトでは、すべての EBS NVMeデバイスが列挙されます。特定のデバイスの情報を列挙するには、ディスク番号を渡します。このebsnvme-idツールは、 にある最新の AWS Windows Server AMIs に含まれていますC:\PROGRAMDATA\AMAZON\Tools

AWS NVMe ドライバーパッケージから1.5.0,、最新バージョンのebsnvme-idツールがドライバーパッケージによってインストールされます。最新バージョンはドライバーパッケージでのみ入手可能です。ebsnvme-id ツールのスタンドアロンダウンロードリンクにはアップデートが送信されなくなります。スタンドアロンリンクで利用可能な最後のバージョンは です。このバージョンは1.1.0、リンク ebsnvme-id.zip を使用してダウンロードし、コンテンツを Amazon EC2 インスタンスに抽出して にアクセスできますebsnvme-id.exe

PS C:\Users\Administrator\Desktop> ebsnvme-id.exe Disk Number: 0 Volume ID: vol-0d6d7ee9f6e471a7f Device Name: sda1 Disk Number: 1 Volume ID: vol-03a26248ff39b57cf Device Name: xvdd Disk Number: 2 Volume ID: vol-038bd1c629aa125e6 Device Name: xvde Disk Number: 3 Volume ID: vol-034f9d29ec0b64c89 Device Name: xvdb Disk Number: 4 Volume ID: vol-03e2dbe464b66f0a1 Device Name: xvdc PS C:\Users\Administrator\Desktop> ebsnvme-id.exe 4 Disk Number: 4 Volume ID: vol-03e2dbe464b66f0a1 Device Name: xvdc