تغییر دادن IP سرور vCenter 5.1
With the introduction of vCenter 5.1 VMware introduced a scalable setup in which all components can be divided over different servers. This is a logical step considering the always growing infrastructure, and thus the always growing resource need of vCenter. However, this also means increased administration and in case of changes some more steps to be performed. Due to an oversight of one of my collegues I had to change the IP address of the vCenter server and the vCenter database server to a different address (as in, not being a DHCP address). After changing the IP address I also had to reregister several components of vCenter. This is the full report.
Changing IP Adresses
This was the most easy part actually. To be safe I did this during a maintenance window so I could restart vCenter as much as I liked. First make sure you got all required information:
-
Old IP addresses
-
New IP addresses and subnet masks
-
Host the VMs are running on
-
Gateway
-
Primary and Secondary DNS addresses
Since I’m changing the IP address I decided to do the change on the VMware console. I pointed the vSphere client to the host the VMs were running on and opened the console. The I followed these steps:
-
Stopped the “VMware vCenter Inventory Service”, the “VMware VirtualCenter Server” service and the “VMware vSphere Update Manager Service” on the vCenter server, note that the “VMware VirtualCenter Management Webservices” is automatically being stopped.
-
Changed IP address of the database server and did a reboot. Before I went on I waited for the database service to finish the reboot and all services were running again.
-
Changed IP address of the vCenter server and did a reboot.
At this time I waited a long time. Reason for this is that if you change the vCenter IP address, initially you lose connection with all of your managed hosts. This can resolve itself if you have the time or you can follow the methods described in this kb article. I had the time so I did other stuff while waiting.
Note that I did not record the amount of time I waited but I guess it was at least an hour. After this all hosts were managed by vCenter again.
Now check the following items in your environment. All these things went automatically fine by me but checking them could prevent you from hours of troubleshooting:
-
DNS records! Make sure your forward (A) as well as your reverse (PTR) records are updated, and your old ones are removed.
-
Update Manager! And all other extensions and Snap-Ins you might have installed.
If your update manager seems to have lost it’s connection with vCenter you could take a look at this kb article as well as this one.
Reregistering vCenter Components
Now the true troubleshooting started. I checked the vCenter Service Status (Home → Administration → vCenter Service Status) and one of the services reported an alert: “VMware vSphere Profile-driven Storage Service” : According to this kb article I had to set the vCenter IP address and reregister the inventory service with vCenter.
Set vCenter IP Address
To set the vCenter IP address, in the vSphere Client click Administration → go to “vCenter Server Settings” → “vCenter Runtime Settings” → “Managed IP Address”. Enter the IP address and done.
Reregister the Inventory Service
Reregistering the Inventory Service with the Single Sign On service proved to be a challenge. The command used in the KB article does not exist anymore. Some searching led me to this kb article which gave me the correct commands.
Note that kb article 2033620 states that these steps are only supported when used with the guidance of VMware Technical Support.
First step is to remove the Inventory Service account:
-
In the vSphere Web Client (https://vcenter.shift.local:9443/vsphere-client/#), go to Administration.
-
In SSO Users and Groups, select Application Users.
-
Delete the Inventory Service account.
Then issue this command form a cmd you started as administrator:
c:\Program Files\VMware\Infrastructure\Inventory Service\scripts>is-change-sso.bat https://vcenter.shift.local:7444/lookupservice/sdk "admin@System-Domain" "SsoPW!*" Using C:\Program Files\VMware\Infrastructure\Inventory Service VMware vCenter Inventory Service Inventory Service already stopped. Intializing registration provider... Getting SSL certificates for https://vcenter.shift.local:7444/lookupservice/sdk Getting SSL certificates for https://vcenter.shift.local:7444/sso-adminserver/sdk Solution user with id: {Name: InventoryService_2012.10.17_104254, Domain: System-Domain} successfully registered Return code is: Success 0 Starting Inventory Service! The requested service has already been started. More help is available by typing NET HELPMSG 2182. Error starting Inventory Service. Inventory Service must be started before taking any further action. 0
Note, if you forgot to remove the Inventory Service accouunt you’ll receive errors like this:
The specified principal (InventoryService_2012.10.17_104254) is invalid. com.vmware.vim.sso.admin.exception.InvalidPrincipalException: The specified principal (InventoryService_2012.10.17_104254) is invalid. at com.vmware.vim.sso.admin.client.vmomi.impl.VmomiClientCommand.execute (VmomiClientCommand.java:88) at com.vmware.vim.sso.admin.client.vmomi.impl.VmomiClientCommand.execute EnsuringDomainErrorIs(VmomiClientCommand.java:167) at com.vmware.vim.sso.admin.client.vmomi.impl.VmomiClientCommand.execute EnsuringDomainErrorIs(VmomiClientCommand.java:159) at com.vmware.vim.sso.admin.client.vmomi.impl.PrincipalManagementImpl.cr eateLocalSolutionUser(PrincipalManagementImpl.java:188) at com.vmware.vim.install.cli.commands.RegisterSolutionCommand.execute(R egisterSolutionCommand.java:48) at com.vmware.vim.install.cli.RegTool.execute(RegTool.java:171) at com.vmware.vim.install.cli.RegTool.process(RegTool.java:102) at com.vmware.vim.install.cli.RegTool.main(RegTool.java:33) Return code is: AlreadyRegistered 7 Error 7 registering with https://vcenter.shift.local:7444/lookupservice/sdk. Cannot continue. 7
Note, if you try the command from a command line you did not start as an administartor you’ll get an error like this:
Unable to write to dataservice.properties file Error 100000 updating IS config with https://vcenter.shift.local:7444/lookupservice/sdk. 100000
After running the command verify that the Inventory Service application user is back in the list again.
Reregister vCenter with Inventory Service
From the same kb article, run the following command:
C:\Program Files\VMware\Infrastructure\VirtualCenter Server\isregtool\register-is.bat https://vcenter.shift.local:443/sdk https://vcenter.shift.local:10443 https://vcenter.shift.local:7444/lookupservice/sdk
Running this command gave a lot of output and it did not make it entirely clear if the operation was succesful.
Restarting the services gave me an odd problem. The “vCenter Service Status” was completely missing from the overview. Te make sure every change was committed correcly and considering I was working on a Windows system I decided to give a full reboot, which took a long time, but eventually, after starting all the services seemed to have fixed everything.