Execute dmidecode e grep para o UUID.
# /usr/sbin/dmidecode | grep UUID
UUID: 56XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Este deve ser o mesmo UUID atribuído ao uuid.bios da VM.
Existe uma maneira de obter o nome ou o UUID de uma VM dentro da própria VM, para uma VM em execução em um servidor VMWare ESX? Se sim, qual é o caminho?
Meu caso de uso é: estou clonando várias VMs. Um programa rodando dentro dos clones se conecta a um servidor. Eu quero saber qual VM clonada esse programa está sendo executado. Qual seria a melhor maneira de fazer isso? Eu posso atribuir-lhe um número do servidor automaticamente, imprimi-lo a partir da VM e digitá-lo manualmente, mas isso parece manco.
Execute dmidecode e grep para o UUID.
# /usr/sbin/dmidecode | grep UUID
UUID: 56XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Este deve ser o mesmo UUID atribuído ao uuid.bios da VM.
Quando você clona as VMs, você não está se conectando a elas para alterar seus nomes de host e IPs de qualquer maneira? Nesse caso, basta desativar o nome do host. Se você não está mudando seus nomes de host e IPs, então você poderia apenas fazer um nslookup do endereço IP fornecido pelo DHCP e usá-lo? Você pode obter o nome da VM por meio da API s, mas nem sempre é a melhor maneira de conseguir o que você quer.