Мне нужно иметь возможность определить, частью какого кластера или экземпляра vCenter являются некоторые серверы ESX, но мне нужно получать эту информацию непосредственно с самого сервера ESX. Доступна ли эта информация в vSphere API в хост-системе?
Задний план: Я хочу назначить уникальный идентификатор каждой виртуальной машине в большом объекте, управляемом несколькими vCenters, но VMware не понимает, что означает UU в UUID - их «универсально уникальный» идентификатор может быть продублирован при копировании виртуальной машины. Атрибут instanceUuid лучше, но он уникален только в рамках управляющего экземпляра vCenter. Для создания уникального идентификатора мне нужен идентификатор vCenter, а также идентификатор ESX или виртуальной машины.
Также кто-нибудь знает, что происходит с instanceUuid, если хост ESX не управляется vCenter - он все еще установлен? Что произойдет, если к vCenter будет добавлен автономный ESX - изменится ли instanceUuid хоста и всех гостей? Официальные документы по этому поводу умалчивают. Можно ли полагаться на instanceUuid как на стабильную личность?
Вы можете найти эту информацию непосредственно на хосте ESXi, изучив serverIp
параметр в /etc/vmware/vpxa/vpxa.cfg
.
grep serverIp /etc/vmware/vpxa/vpxa.cfg
Это также должно быть доступно через API.
На самом деле, если вы просто войдете на хост, он скажет вам - с клиентом .net вы получите всплывающее окно с предупреждением, с веб-клиентом хоста это говорит в верхней части экрана.