Amazon Elastic Compute Cloud
Linux 实例用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

Linux 实例上的设备命名

当您将卷附加到实例时,需要为卷提供设备名称。该设备名称由 Amazon EC2 使用。实例的块储存设备驱动程序会在装载卷时分配实际的卷名称,指定的名称可以与 Amazon EC2 使用的名称不同。

有关 Windows 实例上的设备名称的信息,请参阅 Amazon EC2 用户指南(适用于 Windows 实例) 中的 Windows 实例上的设备命名

可用设备名称

下表列出了 Linux 实例的可用设备名称。您可以附加到实例的卷的数量取决于操作系统。有关更多信息,请参阅 实例卷限制

虚拟化类型 可用 根预留 建议用于 EBS 卷 实例存储卷 NVMe 卷

半虚拟化

/dev/sd[a-z]

/dev/sd[a-z][1-15]

/dev/hd[a-z]

/dev/hd[a-z][1-15]

/dev/sda1

/dev/sd[f-p]

/dev/sd[f-p][1-6]

/dev/sd[b-e]

/dev/sd[b-y] (hs1.8xlarge)

不可用

全虚拟化

/dev/sd[a-z]

/dev/xvd[b-c][a-z]

不同的 AMI

/dev/sda1 或 /dev/xvda

/dev/sd[f-p]

/dev/sd[b-e]

/dev/sd[b-h] (h1.16xlarge)

/dev/sd[b-y] (d2.8xlarge)

/dev/sd[b-y] (hs1.8xlarge)

/dev/sd[b-i] (i2.8xlarge)

/dev/nvme[0-26]n1 *

* 将自动枚举 NVMe 实例存储卷并为其分配设备名称。无需在块储存设备映射中指定 NVMe 实例存储卷。

有关实例存储卷的更多信息,请参阅 Amazon EC2 实例存储

有关 NVMe EBS 卷的更多信息,请参阅 Amazon EBS 和 NVMe

设备名称注意事项

在选择设备名称时请记住以下原则:

  • 尽管您可以使用用于附加实例存储卷的设备名附加 EBS 卷,我们还是强烈建议您不要这样做,因为这种操作具有不可预测性。

  • 根据内核的块储存设备驱动程序,附加的设备所采用的名称可能与您指定的名称不同。例如,如果您指定 /dev/sdh 的设备名称,则设备可能命名为 /dev/xvdh/dev/hdh。在大多数情况下,尾部字母保持不变。在某些版本的 Red Hat Enterprise Linux (及其变体,例如,CentOS) 中,即使尾部字母可能发生变化 (/dev/sda 可能变为 /dev/xvde)。在这些情况下,每个设备名称的尾部字母都会递增相同次数。例如,如果 /dev/sdb 重命名为 /dev/xvdf,则 /dev/sdc 重命名为 /dev/xvdg。Amazon Linux AMI 会为您指定的名称创建一个指向重命名设备的符号链接。其他 AMI 的行为可能不同。

  • 实例的 NVMe 实例存储卷数取决于该实例的大小。设备名称为 /dev/nvme0n1/dev/nvme1n1,以此类推。

  • 对 Linux 实例提供两种类型的虚拟化:半虚拟化 (PV) 和硬件虚拟机 (HVM)。实例的虚拟化类型由用于启动实例的 AMI 确定。一些实例类型支持 PV 和 HVM,一些实例类型仅支持 HVM,其他一些仅支持 PV。请务必注意您的 AMI 的虚拟化类型,因为推荐的和您可以使用的可用设备名称取决于您的实例的虚拟化类型。有关更多信息,请参阅 Linux AMI 虚拟化类型

  • 您不能附加共享相同设备字母的卷,无论是否带有尾部数字都是如此。例如,如果您将一个卷附加为 /dev/sdc,另一个卷附加为 /dev/sdc1,则只有 /dev/sdc 将对实例可见。要在设备名称中使用尾部数字,您必须对所有基础字母相同的设备名称使用尾部数字 (例如 /dev/sdc1/dev/sdc2/dev/sdc3)。

  • 硬件虚拟机 (HVM) AMI 不支持在设备名称中使用尾部数字,除非设备名称是根设备的保留名称。

  • 一些自定义内核可能会包含限制,限制使用 /dev/sd[f-p]/dev/sd[f-p][1-6]。如果您在使用 /dev/sd[q-z]/dev/sd[q-z][1-6] 时遇到问题,请尝试切换为 /dev/sd[f-p]/dev/sd[f-p][1-6]