How To Deploy vCSA 6.0 with a Mac
March 22, 2015 1 Comment
The new vCenter Server Appliance has a new deployment model, both architectural wise and installation wise.
I wrote extensively about the architectural changes in this post, so I will focus on how to deploy it with a Mac using command line tools since if you want to use the graphical setup you need to be running Windows.
In order to do this you need the ISO file of the vCSA mounted in your Mac.
In “/Volumes/VMware VCSA/vcsa-cli-installer/mac” you will find a script called “vcsa-deploy” that requires a JSON file with all the parameters needed to deploy and configure the VCSA on your host.
You can find templates of JSON files in “/Volumes/VMware VCSA/vcsa-cli-installer/templates”, here is how I compiled mine in order to obtain a single VM with all vCenter and PSC services:
{ "__comments": [ "Sample template to deploy a vCenter Server with an embedded Platform Services Controller." ], "deployment": { "esx.hostname":"192.168.1.107", "esx.datastore":"vsanDatastore", "esx.username":"root", "esx.password":"12345678", "deployment.option":"tiny", "deployment.network":"LAN", "appliance.name":"vCenter", "appliance.thin.disk.mode":true }, "vcsa": { "system": { "root.password":"12345678", "ssh.enable":true }, "sso": { "password":"12345678", "domain-name":"vsphere.local", "site-name":"Default-First-Site" }, "networking": { "ip.family":"ipv4", "mode":"static", "ip":"192.168.110.2", "prefix":"24", "gateway":"192.168.110.254", "dns.servers":"8.8.8.8", "system.name":"192.168.110.2" } } }
You can see how I used the newly created “vsanDatastore” as my destination datastore.
Your SSO password will be checked against complexity compliance by the script before starting the deployment process.
Passwords are stored in clear text so make sure not to leave around this file and possibly destroy it after use or change all the passwords right after deployment.
You might have noticed that as the system name I used the IP address: I had to do this because I have no DNS (yet) and if you enter a FQDN as system name you need to make sure that it can be resolved both with forward and reverse DNS calls so I had no choice; this will actually be a limitation later on because I will not be able to add the vCSA to a Windows domain so if I want to use Windows credentials to log in my vCenter I will need to setup LDAP authentication.
You just fire this command to start the deployment:
/Volumes/VMware\ VCSA/vcsa-cli-installer/mac/vcsa-deploy vcenter60.json
During the deployment process you will see the following:
Start vCSA command line installer to deploy vCSA "vCenter60", an embedded node. Please see /var/folders/dp/xq_5cxlx2h71cgy2t83ghkd00000gn/T/vcsa-cli-installer-9wU8aB.log for logging information. Run installer with "-v" or "--verbose" to log detailed information. The SSO password meets the installation requirements. Opening vCSA image: /Volumes/VMware VCSA/vcsa/vmware-vcsa Opening VI target: vi://root@192.168.1.107:443/ Deploying to VI: vi://root@192.168.1.107:443/ Progress: 99% Transfer Completed Powering on VM: vCenter60 Progress: 18% Power On Completed Installing services... Progress: 5%. Setting up storage Progress: 50%. Installing RPMs Progress: 56%. Installed oracle-instantclient11.2-odbc-11.2.0.2.0.x86_64.rpm Progress: 62%. Installed vmware-identity-sts-6.0.0.5108-2499721.noarch.rpm Progress: 70%. Installed VMware-Postgres-9.3.5.2-2444648.x86_64.rpm Progress: 77%. Installed VMware-invsvc-6.0.0-2562558.x86_64.rpm Progress: 79%. Installed VMware-vpxd-6.0.0-2559267.x86_64.rpm Progress: 83%. Installed VMware-cloudvm-vimtop-6.0.0-2559267.x86_64.rpm Progress: 86%. Installed VMware-sps-6.0.0-2559267.x86_64.rpm Progress: 87%. Installed VMware-vdcs-6.0.0-2502245.x86_64.rpm Progress: 89%. Installed vmware-vsm-6.0.0-2559267.x86_64.rpm Progress: 95%. Configuring the machine Service installations succeeded. Configuring services for first time use... Progress: 3%. Starting VMware Authentication Framework... Progress: 11%. Starting VMware Identity Management Service... Progress: 14%. Starting VMware Single Sign-On User Creation... Progress: 18%. Starting VMware Component Manager... Progress: 22%. Starting VMware License Service... Progress: 25%. Starting VMware Service Control Agent... Progress: 33%. Starting VMware System and Hardware Health Manager... Progress: 44%. Starting VMware Common Logging Service... Progress: 55%. Starting VMware Inventory Service... Progress: 64%. Starting VMware vSphere Web Client... Progress: 66%. Starting VMware vSphere Web Client... Progress: 70%. Starting VMware ESX Agent Manager... Progress: 74%. Starting VMware vSphere Auto Deploy Waiter... Progress: 81%. Starting VMware Content Library Service... Progress: 85%. Starting VMware vCenter Workflow Manager... Progress: 88%. Starting VMware vService Manager... Progress: 92%. Starting VMware Performance Charts... Progress: 100%. Starting vsphere-client-postinstall... First time configuration succeeded. vCSA installer finished deploying "vCenter60", an embedded node: System Name: 192.168.110.20 Login as: Administrator@vsphere.local It's time to connecto the the new Web Client, just open your browser to "https://" and then select "Log In To the vSphere Web Client".
You should now log in but before starting the normal configuration process I suggest you take care of password expiration in which present in two separate areas in this version of vCSA: the SSO users and the root system user.
About the first one you can go to Administration -> Single Sign-On -> Configuration -> Password Policy and edit the Maximum Lifetime to “0” so effectively you are disabling expiration:
For the root user you will need to drop to the vCSA command line, enable and access the Shell the issue the following:
localhost:~ # chage -l root # show current password expiration settings localhost:~ # chage -M -1 root # set expiration to Never
Aging information changed. localhost:~ # chage -l root Minimum: 0 Maximum: -1 Warning: 7 Inactive: -1 Last Change: Mar 17, 2015 Password Expires: Never Password Inactive: Never Account Expires: Never
Now you could start deploying all your VMs but if you try that you will find that vSAN will complain about a policy violation!
Do you remember how we needed to change the default policy on the host before we could deploy vCSA?
We did that at the host level but when vCSA started managing the host the default policy has been overwritten to the original defaults so now we have to change it again to match our need but this time we can leverage the GUI for this task:
Now all is set and you should be good to go… not really!
We’ve never set a network for the vSAN traffic, even if I’m running on a single node configuration this will still trigger a warning:
All you have to do is create a new VMKernel portgroup and flag it for vSAN traffic and your will system be again a little happy vSphere host.
Pingback: vSphere 6.0 Link-O-Rama » Welcome to vSphere-land!