检查 Amazon EC2 实例对防撕裂写入的支持 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

检查 Amazon EC2 实例对防撕裂写入的支持

要确认您的实例和卷是否支持撕裂写防护,并查看包含撕裂写防护信息的 NVMe 命名空间供应商的特定数据,请使用以下命令。

$ sudo nvme id-ns -v device_name
注意

该命令以带有 ASCII 解释的十六进制形式返回供应商特定信息。您可能需要在应用程序中构建类似 ebsnvme-id 的工具,以读取和解析输出。

例如,以下命令返回 NVMe 命名空间供应商特定数据,其中包含 /dev/nvme1n1 的撕裂写防护信息。

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

如果您的实例和卷支持撕裂写防护功能,其会在 NVMe 命名空间供应商特定数据中返回以下 Amazon 撕裂写防护信息。

注意

下表中的字节表示从 NVMe 命名空间供应商特定数据开头的偏移量(以字节为单位)。

字节 描述
0:31 设备附件挂载点的名称,例如 /dev/xvda。您在卷附件请求期间提供此信息,Amazon EC2 实例可用其来创建指向 NVMe 区块设备的符号链接(nvmeXn1)。
32:63 卷 ID。例如 vol01234567890abcdef。此字段可用于将 NVMe 设备映射到附加的卷。
64:255 留待将来使用。
256:257 命名空间撕裂写防护单元大小(NTWPU)。此字段表示在断电或发生错误时,保证以原子方式写入 NVM 的写入操作的命名空间特定大小。此字段在逻辑块中指定,从以零开始的值表示。
258:259 命名空间撕裂写防护粒度大小(NTWPG)。此字段表示在断电或发生错误时,保证以原子方式写入 NVM 的写入操作的 NTWPU 下的命名空间特定大小增量。也就是说,大小应为 NTWPG * n <= NTWPU,其中 n 为正整数。写入操作 LBA 偏移量也必须与该字段对齐。此字段在逻辑块中指定,从以零开始的值表示。
260:263 命名空间撕裂写防护边界大小(NTWPB)。此字段表示该 NTWPU 值的此命名空间的原子边界大小。在断电或发生错误时,无法将保证跨原子边界写入此命名空间的操作以原子方式写入 NVM。值为 0h 表示断电或发生错误时没有原子边界。所有其他值使用与 NTWPU 字段相同的编码以逻辑块形式指定大小。