Как получить уникальный идентификатор виртуальной машины Citrix XenServer из гостевой ОС?

Допустим, у меня есть несколько виртуальных машин Citrix XenServer с одинаковым именем. Или имена мусор, не имеет значения.

Как я могу программно определить идентификатор виртуальной машины из гостевой ОС на одной из этих виртуальных машин? Я надеялся, что UUID виртуальной машины будет соответствовать серийному номеру BIOS гостевой ОС, но это не так. Искал везде, реестр, WMI, что угодно.

Теперь причина, по которой я не буду использовать просто имя хоста, заключается в том, что у меня может быть несколько машин с одинаковым именем хоста (например, полная лаборатория с копиями виртуальных машин).

Использование XenServer 5.x и 6.x.

Ваше здоровье.


person Chalky    schedule 04.04.2013    source источник


Ответы (1)


Ах, вы можете получить UUID от гостя таким образом (как я и надеялся) в Xen Server v6.x: Серийный номер BIOS. Для гостя Windows вы можете использовать WMI для локального или удаленного запроса. Я подозреваю, что этот ID-as-BIOS-serial был представлен только в Xen Server v5.6.

Для более ранних версий вы можете получить UUID от гостя, запустив старые клиентские инструменты. Для гостя Windows исполняемый файл — xenstore_client.exe, запустите его с параметром «read vm». Результатом этого является строка, а часть после косой черты — это UUID. Обратите внимание, что вы можете использовать PSEXEC для удаленного запуска xenstore_client.exe.

person Chalky    schedule 10.06.2014
comment
Я надеюсь, что это не плохой тон, чтобы принять мой собственный ответ. Я потратил много времени на изучение этого вопроса и понял его правильно, я нигде не видел другого ответа. - person Chalky; 10.06.2014
comment
Кажется, он работает также с VMware и VirtualBox. Для гостя Linux можно использовать: dmidecode -s system-uuid, если установлен dmidecode. Обратите внимание, что я использую системный UUID, а не серийный номер. В VMware оба возвращают сопоставимые значения, но в VirtualBox серийный номер не предоставляется, предоставляется только UUID. - person Huygens; 05.02.2015
comment
Однако этот метод не работает должным образом, когда виртуальная машина перемещается в другой экземпляр гипервизора. После перемещения UUID отличается. Поэтому я использую комбинацию UUID, MAC-адреса и имени хоста, чтобы определить, была ли клонирована или перемещена виртуальная машина. - person Huygens; 05.02.2015