2

我需要为监控目的注册在真实硬件以及虚拟机、AWS、Azure 上运行的 Linux 服务器,方法是发送它们的唯一 ID。我发现了由

sudo dmidecode | grep UUID

是最好的选择,因为即使您克隆了虚拟机而没有重新初始化 MAC 地址,它的结果也会有所不同。

但是dmidecode并不是到处都安装的。所以我想了解文件/sys/devices/virtual/dmi/id/product_uuid是否 总是包含与dmidecode相同的 UUID ?

4

1 回答 1

1

dmidecode | grep UUID并且/sys/devices/virtual/dmi/id/product_uuid应该相等,但根据您的系统,输出可能会有所不同。

从 dmidecode源代码

/*
 * As of version 2.6 of the SMBIOS specification, the first 3
 * fields of the UUID are supposed to be encoded on little-endian.
 * The specification says that this is the defacto standard,
 * however I've seen systems following RFC 4122 instead and use
 * network byte order, so I am reluctant to apply the byte-swapping
 * for older versions.
 */

另请参阅:[PATCH] dmi,对 sysfs 产品 UUID 使用 little-endian

我注意到Ansible也首先尝试 /sys 并回退到 dmidecode 可执行文件以收集与 dmi 相关的事实。

于 2016-06-15T12:07:59.470 回答