磁盘的 UUID 是磁盘的良好标识符吗?

磁盘的 UUID 是磁盘的良好标识符吗?

我的工具在 100 个磁盘中工作,其中一些磁盘可能会在工具运行期间附加或从服务器断开。我想使用磁盘的 UUID 作为磁盘的 ID,我有一个问题:如果某个磁盘disk_1有一个 UUID,比如32c8da8b-e6d5-9a85-5cfc-1a8b59535263。当空间已满时,我分离了磁盘并对其进行了格式化(mkfs.ext3),然后重新连接到机器,它的 UUID 会改变吗?

答案1

文件系统的 UUID 由 mkfs 生成,因此重新格式化将改变 UUID。

一种选择是在创建文件系统时创建标签并查看,/dev/disk/by-label而不是/dev/disk/by-uuid。使用标签的优点是,如果需要,您可以在事后重新标记文件系统。缺点是您现在负责维护标签并防止冲突。

答案2

如果没有特别的理由专门使用 UUID,您可以考虑使用 等替代方案/dev/disk/by-partuuid。它依赖于存储在 GPT 中而不是分区本身中的信息,因此当您仅重新格式化分区时,标识符应该保持不变。

/dev/disk/by-id可能还有点意思,它使用硬件序列号。但是,控制器类型是 ID 字符串的一部分,因此如果您每次都以不同的方式连接磁盘,这可能会有问题。

来源: https://wiki.archlinux.org/index.php/persistent_block_device_naming

相关内容