跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Linux Enterprise Server 文档 / 储存管理指南 / 文件系统和挂载 / 使用 UUID 挂载设备
适用范围 SUSE Linux Enterprise Server 15 SP3

3 使用 UUID 挂载设备

本章介绍使用 UUIDs(全局唯一标识符)而不是设备名称(例如 /dev/sda1)来识别文件系统设备。从 SUSE Linux Enterprise Server 12 开始,默认在引导加载程序文件和 /etc/fstab 文件中使用 UUID。

3.1 udev 的永久设备名称

从 Linux 内核 2.6 开始,udev 使用永久性设备命名方式,为动态的 /dev 目录提供了一种用户空间解决方案。作为热插拔系统的一部分,在系统中添加或删除设备时会执行 udev

使用一个规则列表来针对特定设备属性进行匹配。udev 规则基础设施(在 /etc/udev/rules.d 目录中定义)为所有磁盘设备提供了稳定的名称,无论它们的识别顺序或该设备使用的连接如何。udev 工具检查内核创建的用来根据特定总线、驱动器类型或文件系统应用命名规则的每个相应块设备。有关如何为 udev 定义您自己的规则的信息,请参见 Writing udev Rules(编写 udev 规则)。

和动态的内核提供的设备节点名一起,udev 还在 /dev/disk 目录中维护有指向该设备的永久符号链接的类,该目录进一步按 by-idby-labelby-pathby-uuid 子目录分类。

注意
注意:UUID 生成器

除了 udev 之外的其他程序(如 LVM 或 md)也可生成 UUID,但它们不在 /dev/disk 中列出。

3.2 了解 UUID

UUID(全球唯一标识符)是表示文件系统的 128 位数字,在本地系统和其他系统中都是唯一的。它根据系统硬件信息和时戳(做为其种子的一部分)随机生成。UUID 通常用于唯一性标记设备。

使用非永久性的传统设备名称(例如 /dev/sda1)可能在添加储存时导致系统出现无法引导的情况。例如,如果将根 (/) 指派给 /dev/sda1,则在挂接 SAN 或将其他硬盘加入系统后,系统可能会将它重新指派给 /dev/sdg1。在此情况下,需要调整启动加载程序配置和 /etc/fstab 文件,否则系统将无法引导。

避免此问题的一个方法是在引导加载程序和引导设备的 /etc/fstab 文件中使用 UUID。这是自第 12 版以来 SUSE Linux Enterprise 中的默认设置。UUID 是文件系统的一个属性,如果重新格式化驱动器,UUID 会更改。如果不想使用设备名称的 UUID,另一种替代方法是使用 ID 或标签识别设备。

您还可以将 UUID 用做组装与激活软件 RAID 设备的准则。当创建 RAID 时,md 驱动程序会为该设备生成一个 UUID,并将该值储存在 md 超块中。

您可以在 /dev/disk/by-uuid 目录中找到任何块设备的 UUID。UUID 项目示例如下所示:

tux > ls -og /dev/disk/by-uuid/
lrwxrwxrwx 1 10 Dec  5 07:48 e014e482-1c2d-4d09-84ec-61b3aefde77a -> ../../sda1

3.3 更多信息

有关使用 udev 来管理设备的详细信息,请参见第 24 章 “ 使用 udev 进行动态内核设备管理

有关 udev 命令的详细信息,请参见 man 7 udev