Amazon EC2 インスタンスでの Torn Write Prevention のサポートを確認する - Amazon Elastic Compute Cloud

Amazon EC2 インスタンスでの Torn Write Prevention のサポートを確認する

インスタンスとボリュームが Torn Write Prevention をサポートしているかどうかを確認し、Torn Write Prevention に関する情報を含む NVMe 名前空間のベンダー固有のデータを表示するには、次のコマンドを使用します。

$ sudo nvme id-ns -v device_name
注記

このコマンドは、ベンダー固有の情報を ASCII 解釈の 16 進数で返します。出力の読み取りと解析ができる ebsnvme-id と似たツールをアプリケーションに組み込む必要がある場合があります。

例えば、次のコマンドは、/dev/nvme1n1 の Torn Write Prevention に関する情報を含む NVMe 名前空間のベンダー固有のデータを返します。

$ sudo nvme id-ns -v /dev/nvme1n1

インスタンスとボリュームが Torn Write Prevention をサポートしている場合、NVMe 名前空間のベンダー固有データに次の AWS Torn Write Prevention 情報が返されます。

注記

次の表のバイトは、NVMe 名前空間のベンダー固有データの先頭からのオフセットをバイト単位で表しています。

バイト 説明
0:31 例えば /dev/xvda、デバイス接続マウントポイントの名前。ボリュームアタッチメントリクエスト時にこれを指定すると、Amazon EC2 インスタンスが NVMe ブロックデバイス (nvmeXn1) へのシンボリックリンクを作成するために使用できます。
32:63 ボリューム ID。例えば、vol01234567890abcdef と指定します。このフィールドを使用して、NVMe デバイスを接続されたボリュームにマッピングできます。
64:255 将来の利用のために予約されています。
256:257 Torn Write Prevention 名前空間ユニットサイズ (NTWPU)。このフィールドは、停電またはエラー状態時に NVM にアトミックに書き込まれることが保証されている書き込み操作の名前空間固有のサイズを示します。このフィールドは、0 ベース値で表される論理ブロックで指定されます。
258:259 Torn Write Prevention 名前空間粒度サイズ (NTWPG)。このフィールドは、停電またはエラー状態時に NVM にアトミックに書き込まれることが保証されている書き込み操作の NTWPU 以下の名前空間固有のサイズ増分を示します。つまり、サイズは NTWPG * n <= NTWPU で、n は正の整数でなければなりません。書き込み操作の LBA オフセットもこのフィールドに合わせる必要があります。このフィールドは、0 ベース値で表される論理ブロックで指定されます。
260:263 Torn Write Prevention 名前空間境界サイズ (NTWPB)。このフィールドは、この名前空間の NTWPU 値のアトミック境界サイズを示します。この名前空間への書き込みがアトミック境界を越える場合、停電やエラー時に NVM への書き込みがアトミックに行われることは保証されません。0h の値が、停電やエラー時にアトミックな境界がないことを示します。他のすべての値は、NTWPU フィールドと同じエンコーディングを使用して論理ブロック単位でサイズを指定します。