[PSH] Renommez vos ESXi à chaud
Posted by NiTRo | Filed under HowTo, Tips & Tricks, VMware
MAJ 06/01/2012 : Mise à jour des scripts pour conserver la configuration DNS
MAJ 12/12/2011 : Mise à jour des scripts pour assurer la cohérence hostname/HA
MAJ 15/12/2011 : Sur un cluster en v4 il nous a fallu désinstaller les agents aam manuellement et redémarrer le service hostd
Si vous avez besoin de changer le nom d’un ESXi connecté à un vCenter, la méthode officielle consiste à détacher le server du vcenter, le renommer et le rattacher au vcenter. En plus d’être fastidieuse, cette action occasionnera la perte de certaines informations telles que les statistiques ou le Swapfile Location. Pas cool.
Heureusement pour nous, il existe une solution de contournement qui va encore nous faire tâter du PowerCLI : la méthode ReconnectHost à laquelle on peut passer un certain nombre d’arguments comme le hostname ou plutôt un FQDN valide car ce paramètre n’à pas à correspondre obligatoirement au hostname de l’ESXi.
vSphere/PowerCLI 4 :
Get-VMHost oldhostname.olddomain.com|Get-View|%{(Get-View $_.ConfigManager.NetworkSystem).UpdateDnsConfig((New-Object VMware.Vim.HostDnsConfig -property @{Hostname = "newhostname";domainName = "newdomain.com";dhcp = $_.Config.Network.DnsConfig.Dhcp;address = $_.Config.Network.DnsConfig.Address;searchDomain = $_.Config.Network.DnsConfig.SearchDomain}));$_.DisconnectHost();$_.ReconnectHost((New-Object VMware.Vim.HostConnectSpec -property @{HostName = "newhostname.newdomain.com"}))}
vSphere/PowerCLI 5 :
Get-VMHost oldhostname.olddomain.com|Get-View|%{(Get-View $_.ConfigManager.NetworkSystem).UpdateDnsConfig((New-Object VMware.Vim.HostDnsConfig -property @{Hostname = "newhostname";domainName = "newdomain.com";dhcp = $_.Config.Network.DnsConfig.Dhcp;address = $_.Config.Network.DnsConfig.Address;searchDomain = $_.Config.Network.DnsConfig.SearchDomain}));$_.DisconnectHost();$_.ReconnectHost((New-Object VMware.Vim.HostConnectSpec -property @{HostName = "newhostname.newdomain.com"}),$null)}
Le one-liner ci-dessus (attention à la version) effectue les actions suivantes :
- déconnexion de oldhostname.olddomain.com du vcenter (et dé-configuration d’HA le cas échéant)
- reconnexion de l’ESXi au vcenter avec le nouveau nom (si newhostname.newdomain.com est valide)
- change le hostname newhostname et newdomain.com de l’ESXi (ne nécessite pas de reboot depuis la v4)
/!\ Ce script ne met pas à jour les IQN et ne régénère pas les certificats des ESXi /!\
Tags: ESXi, PowerCLI, powershell, scripting, vCenter
March 6th, 2012 at 8:58
[...] à notre post détaillant le renommage à chaud de vos ESXi, vous vous êtes peut être retrouvé dans la situation où votre PXE Manager affichait encore [...]