If all we have is remote access (ssh) to an ESXi host and we still need install vCenter Server to get vSphere up and running, we can do it with ovftool. The ovftool comes with VMware Workstation and can also be downloaded separately if needed.
The idea is simple: download the vCenter Server OVA appliance to the ESXi host datastore, copy the ovftool to the ESXi host datastore and use it to install the appliance.
This process assumes that the ESXi host has the ssh service enabled.
1. Download the vCenter Server OVA appliance. For example, from a Dropbox folder we share. ESXi comes with wget installed so we can do:
# cd /vmfs/volumes/datastore1 # wget https://dropbox-url/VMware-vCenter-Server-Appliance-220.127.116.1100-947940_OVF10.ova
2. Copy the ovftool (with its libraries) to the ESXi server. Just replace bash by sh as the interpreter and copy it from any Linux box with Workstation installed in it:
# vi /usr/lib/vmware-ovftool/ovftool
Copy its directory to the ESXi host:
# scp -r /usr/lib/vmware-ovftool/ root@esxi-ip:/vmfs/volumes/datastore1
3. Now, all it’s left is installing the vCenter Server appliance with it:
Find the actual path to the datastore where the appliance and the ovftool were copied:
# ls -l /vmfs/volumes/datastore1 lrwxr-xr-x 1 root root 35 Nov 26 03:29 /vmfs/volumes/datastore1 -> 52900c65-73c1bf38-6469-001f29e4ff20
Using the full path, run the ovftool to install the vCenter Server appliance:
# /vmfs/volumes/52900c65-73c1bf38-6469-001f29e4ff20/vmware-ovftool/ovftool -dm=thin /vmfs/vol umes/52900c65-73c1bf38-6469-001f29e4ff20/VMware-vCenter-Server-Appliance-18.104.22.16800-947940_OVF10.ova "vi://root:password@localhost"
The output should be similar to this:
Opening OVA source: /vmfs/volumes/52900c65-73c1bf38-6469-001f29e4ff20/VMware-vCenter-Server-Appliance-22.214.171.12400-947940_OVF10.ova The manifest validates Source is signed and the certificate validates Accept SSL fingerprint (B3:DC:DF:58:00:68:A3:92:A9:A4:65:41:B2:F6:FF:CF:99:2A:3E:71) for host localhost as target type. Fingerprint will be added to the known host file Write 'yes' or 'no' yes Opening VI target: vi://root@localhost:443/ Deploying to VI: vi://root@localhost:443/ Transfer Completed Completed successfully
When this is finished, the vCenter Server VM is created in the ESXi host.
4. Power on the vCenter Server VM.
First, find out its VM ID:
# vim-cmd vmsvc/getallvms
Assuming the VM ID is 1, power it on with:
# vim-cmd vmsvc/power.on 1
And once it’s up and running, find its IP running:
# vim-cmd vmsvc/get.summary 1|grep ipAddress
Point your browser to that IP on port 5480 to start configuring the the vCenter Server you just deployed.