![磁盘的 UUID 是磁盘的良好标识符吗?](https://linux22.com/image/655188/%E7%A3%81%E7%9B%98%E7%9A%84%20UUID%20%E6%98%AF%E7%A3%81%E7%9B%98%E7%9A%84%E8%89%AF%E5%A5%BD%E6%A0%87%E8%AF%86%E7%AC%A6%E5%90%97%EF%BC%9F.png)
我的工具在 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