Linux LVM 将UUID值分配给物理和逻辑卷,但它们不是有效的 RFC4122 UUID 字符串。下面是一个例子:
2185fe86-41d4-4311-9a47-8f0ebc7ecc5a
RFC4122AZdHpq-uENw-cRo2-t6jS-iQXu-nD2u-woW7RT
LVMLVM 格式更长,它的表示使用非十六进制字符,并以不同的方式连字符。
这种变化背后的基本原理是什么,为什么在严格来说不是规范的有效 UUID 时使用术语“UUID”?
也许 LVM 格式是另一种 UUID 标准格式,但我一直找不到任何暗示这一点的参考资料。
它们是完全随机的 192 位标识符(参见 RFC4122 UUID 的 128 位),LVM 使用它们来唯一标识其各个实体:卷组、物理卷、逻辑卷。
如此处所述,这是通过/dev/urandom
使用字符生成的[a-zA-Z0-9]
。请注意,这规定每个字符 5.808 位。根据LVM2源代码,由于LVM1 UUID不支持它们,因此在UUID生成过程中不会使用格式支持的两个额外字符(“!”和“#”)。
根据维基百科通用唯一标识符页面上的计算推断,重复的概率极低。