Command-Line Deployment of VMware
vCenter Server Appliance 6.0
vCenter Server Appliance 6.0
This technical note describes the command-line deployment process of the
VMware vCenter Server™ Appliance™.
The vCenter Server Appliance is a preconfigured Linux-based virtual machine that is optimized for running
vCenter Server.
The command-line installer is intended for advanced users who are familiar with vSphere. The main purpose
of the command-line installer is to enable automation, and prevent user input errors.
Overview
The command-line deployment process includes downloading the ISO installer, setting the deployment
templates using the command parameters, and following the procedure described in this technical note.
Software Included in the vCenter Server Appliance Package
The vCenter Server Appliance package contains the following software:
SUSE Linux Enterprise Server 11 Update 3 for VMware, 64-bit edition
PostgreSQL
vCenter Server 6.0 and vCenter Server 6.0 components
vCenter Server Appliance Components
The vCenter Server Appliance consists of the following components.
VMware Platform Services Controller
A group of infrastructure services such as vCenter Single Sign-On, License service, and VMware
Certificate Authority
vCenter Server
A group of services such as vCenter Server, vSphere Web Client, Inventory Service, vSphere Auto Deploy,
vSphere ESXi Dump Collector, and vSphere Syslog Service for vCenter Server Appliance
vCenter Server Appliance Deployment Models
You can deploy the vCenter Server Appliance in one of the following two deployment models - a
vCenter Server Appliance with an embedded Platform Services Controller, or a vCenter Server Appliance
with an external Platform Services Controller.
VMware, Inc.1
Page 2
Command-Line Deployment of VMware vCenter Server Appliance 6.0
Tab le 1. summarizes the characteristics of the two deployment models.
Table 1. vCenter Server Appliance Deployment Models
vCenter Server Appliance Deployment ModelDescription
vCenter Server Appliance with an embedded Platform
Services Controller
All services bundled with the Platform Services Controller
are deployed together with vCenter Server in the same
appliance.
IMPORTANTvCenter Server with an embedded Platform
Services Controller is standalone. You cannot use it to
replicate vCenter Single Sign-On data. Setting up
replication partners between multiple vCenter Server
instances with embedded Platform Services Controllers is
not supported in this release.
vCenter Server Appliance with an external Platform
Services Controller
All services bundled with the Platform Services Controller
are deployed as one appliance and vCenter Server is
deployed as another appliance.
IMPORTANTYou must first deploy the Platform Services
Controller.
For more information about vCenter Server Appliance deployment models, see the vSphere Installation and Setup documentation at http://pubs.vmware.com.
Requirements
Supported Operating Systems for the Command-Line Installer
You can run the vCenter Server Appliance command-line installer from any virtual or physical server in the
vSphere network. The vCenter Server Appliance command-line deployment is supported on the following
operating systems:
Windows 7
Windows Server 2008/2012
Windows 8
SUSE Linux 11 SP3
Mac OS 10.9
Hardware Requirements
When you deploy the vCenter Server Appliance, select to deploy an appliance that is suitable for the size of
your vSphere environment.
The hardware requirements, such as the number of CPUs and memory, depend on the size of your vSphere
inventory.
Tabl e 2. Hardware Requirements
ResourcesNumber of CPUsMemory
Platform Services Controller22 GB RAM
Tiny environment
up to 10 hosts, 100 virtual machines
Small environment
up to 100 hosts, 1,000 virtual machines
Medium environment
up to 400 hosts, 4,000 virtual machines
Large environment
up to 1,000 hosts, 10,000 virtual machines
28 GB RAM
416 GB RAM
824 GB RAM
1632 GB RAM
VMware, Inc.2
Page 3
N
OTEFor instances of vCenter Server Appliance with an embedded Platform Services Controller, the
required memory size and number of CPUs are the sum of the values for the Platform Services Controller and
the values for the environment you want to deploy.
Storage Requirements
The host on which the vCenter Server Appliance is to be deployed must meet minimum storage requirements,
depending on the selected deployment model.
Tabl e 3. Storage Requirements
Tiny environment
up to 10 hosts, 100 virtual machines
Small environment
up to 100 hosts, 1,000 virtual
machines
Medium environment
up to 400 hosts, 4,000 virtual
machines
Large environment
up to 1,000 hosts, 10,000 virtual
machines
Command-Line Deployment of VMware vCenter Server Appliance 6.0
vCenter Server
Appliance with an
Embedded Platform
Services Controller
101 GB86 GB25.5 GB
146 GB108 GB25.5 GB
270 GB220 GB25.5 GB
445 GB280 GB25.5 GB
vCenter Server
Appliance with an
External Platform
Services Controller
External Platform
Services Controller
Appliance
Database Requirements
Each vCenter Server Appliance must have its own database to store and organize server data.
You can use the embedded PostgreSQL database that is included in the vCenter Server Appliance. The
PostgreSQL database supports up to 1,000 hosts and 10,000 virtual machines.
For external databases, the vCenter Server Appliance supports only Oracle database. The Oracle database is
of the same version shown in the VMware Product Interoperability Matrix for the version of the vCenter
Server 6.0. See the VMware Product Interoperability Matrix at
You can deploy vCenter Server Appliance on a host running ESXi 5.0 or later.
Command-Line Deployment Steps
You can run the command-line deployment of the vCenter Server Appliance from a virtual or physical
machine that is running Windows, Linux, or Mac operating systems that meets the operating system
requirements. See section “Supported Operating Systems for the Command-Line Installer” on page 2.
Command-Line Deployment of the vCenter Server Appliance from a Windows
Machine
You can deploy the vCenter Server Appliance from a machine that is running on Microsoft Windows.
Prerequisites:
Download the ISO installer file from the VMware Web site.
Prepare the deployment templates as described in section “Prepare the Templates” on page 6.
VMware, Inc.3
Page 4
Command-Line Deployment of VMware vCenter Server Appliance 6.0
To deploy the vCenter Server Appliance from a machine with a Windows OS:
1At the command prompt, navigate to the vcsa-cli-installer\win32 directory.
2Deploy the appliance.
Deploy the appliance from the template:
vcsa-deploy
Deploy the appliance from the template by using command-line options:
vcsa-deploy Optional_Argument
path-to-templates-directory\name-of-the-template
path-to-templates-directory\name-of-the-template
.json
.json
For example, the following command string deploys the appliance as specified in the JSON template.
If the vCenter Single Sign-On password that you enter in the command string is different from the
vCenter Single Sign-On password in the template, the command-line installer sets up vCenter Single
Sign-On with the password provided in the command string.
vcsa-deploy --sso-password
path-to-templates-directory\name-of-the-template
SSO-PASSWORD
.json
Command-Line Deployment of the vCenter Server Appliance from a Linux Machine
You can deploy the vCenter Server Appliance from a machine that is running on Linux.
Prerequisites:
Download the ISO installer file from the VMware Web site.
Prepare the deployment templates as described in section “Prepare the Templates” on page 6.
To deploy the vCenter Server Appliance from a machine with Linux OS:
1At the command prompt, navigate to the vcsa-cli-installer/lin64 directory.
2Deploy the appliance.
Deploy the appliance from the template:
./vcsa-deploy
Deploy the appliance from the template by using command-line options:
vcsa-deploy Optional_Argument
path-to-temlpates-directory/name-of-the-template
path-to-templates-directory/name-of-the-template
.json
.json
For example, the following command string deploys the appliance as specified in the JSON template.
If the vCenter Single Sign-On password that you enter in the command string is different from the
vCenter Single Sign-On password in the template, the command-line installer sets up vCenter Single
Sign-On with the password provided in the command string.
vcsa-deploy --sso-password
path-to-templates-directory/name-of-the-template
SSO-PASSWORD
.json
Command-Line Deployment of the vCenter Server Appliance from a Mac Machine
You can deploy the vCenter Server Appliance from a machine that is running on Mac.
Prerequisites:
Download the ISO installer file from the VMware Web site.
Prepare the deployment templates as described in section “Prepare the Templates” on page 6.
To deploy the vCenter Server Appliance from a machine with Mac OS:
1At the command prompt, navigate to the vcsa-cli-installer/mac directory.
2Deploy the appliance.
Deploy the appliance from the template:
VMware, Inc.4
Page 5
Command-Line Deployment of VMware vCenter Server Appliance 6.0
./vcsa-deploy
Deploy the appliance from the template by using command-line options:
vcsa-deploy Optional_Argument
path-to-templates-directory/name-of-the-template
path-to-templates-directory/name-of-the-template
.json
.json
For example, the following command string deploys the appliance as specified in the JSON template.
If the vCenter Single Sign-On password that you enter in the command string is different from the
vCenter Single Sign-On password in the template, the command-line installer sets up vCenter Single
Sign-On with the password provided in the command string.
Options and Arguments That the Command-Line Installer Supports
Tabl e 4. Optional Arguments Supported by the Command-Line Installer
Optional ArgumentDescription
-h, --helpDisplays the help message.
--template-helpDisplays the help for template settings.
-v, --verboseAdds debug information in the log file.
-l LOG, --log LOGShows the file path to the log file.
--esx-host-password
--sso-password
--db-password
--appliance-root-password
--no-esx-ssl-verifySkips the SSL verification for ESXi connections.
--verify-onlyPerforms parameter verification but does not deploy the template.
--skip-verificationDeploys the template without performing parameter verification.
your-esx-password
password
database-password
linux-os-password
Sets the ESXi password. After it is set, the esx.passsword setting in the
JSON template is ignored.
Sets the vCenter Single Sign-On password. Once set, the vCenter Single
Sign-On password setting in the JSON template is ignored.
The external database password, if applicable. After it is set, the database
password setting in the JSON template is ignored.
The root account password of the deployed appliance. After it is set, the
root.password setting in the JSON template is ignored.
Do not use this option because it might cause problems during
deployment or after deployment because of invalidated values passed to
the appliance.
Do not use this option because it might cause problems during
deployment or after deployment because of invalidated values passed to
the appliance.
.json
VMware, Inc.5
Page 6
Preparing the Deployment Templates
This section provides details about the vCenter Server Appliance deployment templates. You must prepare
the templates to deploy the vCenter Server Appliance.
The vCenter Server Appliance ISO installer file contains five JSON templates:
Tabl e 5. vCenter Server Appliance Template JSON Files
Template JSON FileDescription
full_conf.jsonThe full_conf.json file lists all deployment parameters that are used in the
templates.
embedded.example.jsonThe embedded.example.json is a sample template with the minimum
required configuration settings for deployment of the
vCenter Server Appliance with an embedded Platform Services Controller.
The template is displayed in Example 1.
VC.example.jsonThe VC.example.json is a sample template with the minimum required
configuration settings for deployment of vCenter Server.
The template is displayed in Example 2.
PSC.example.jsonThe PSC.example.json is a sample template with the minimum required
configuration settings for deployment of the Platform Services Controller.
The template is displayed in Example 3.
PSC_replication.example.jsonThe template is displayed in Example 4.
Command-Line Deployment of VMware vCenter Server Appliance 6.0
NOTE The deployment templates are located in the templates subfolder in the vcsa-cli-installer
directory.
You use the template JSON files to provide the parameters needed for the customization and deployment of
the vCenter Server Appliance.
Template Files for Common Setup
You can deploy the vCenter Server Appliance with minimum configuration settings by using the predefined
deployment templates included in the ISO installer file. The settings not included in the template files are set
to their default values.
NOTE Before you start the deployment procedure, you must enter the values of parameters in the
template files.
Template Files for Custom Setup
You can deploy the vCenter Server Appliance with custom configuration settings by adding command
parameters in the predefined deployment templates included in the ISO installer file. The settings not
included in the template files are set to their default values.
NOTE Before you start the deployment procedure, you must enter the additional parameters and the
parameter values in the template files.
Prepare the Templates
The process for editing and preparing deployment templates is the same for common and custom setups.
To prepare the deployment templates:
1Open the templates subfolder that is located in the vsca-cli-installer directory.
2Copy the template files to your workspace.
3Open a template file in a text editor.
4Fill in the required fields and, optionally, add new parameters to the template.
VMware, Inc.6
Page 7
Command-Line Deployment of VMware vCenter Server Appliance 6.0
5Save and close the file.
You can create and save an unlimited number of templates.
vCenter Server Appliance Sample Deployment Files
The following examples display the sample deployment JSON files included in the vCenter Server Appliance
ISO file.
Example 1. Content of embedded.example.json Template
{
"__comments":
[
"Sample template to deploy a vCenter Server with an embedded Platform Services
Controller. Please see full_conf.json for the complete list of vCSA deployment
],
"deployment":
{
"esx.hostname":"<esx host name or ip>",
"esx.datastore":"<esx datastore>",
"esx.username":"root",
"esx.password":"<esx password>",
"deployment.option":"tiny",
"deployment.network":"VM Network",
"appliance.name":"embedded-node",
"appliance.thin.disk.mode":true
},
Command-Line Deployment of VMware vCenter Server Appliance 6.0
Example 2. Content of VC.example.json Template
{
"__comments":
[
"Sample template to deploy a vCenter Server."
],
"deployment":
{
"esx.hostname":"<esx host name or ip>",
"esx.datastore":"<esx datastore>",
"esx.username":"root",
"esx.password":"<esx password>",
"deployment.network":"VM Network",
"deployment.option":"management-tiny",
"appliance.name":"management-node",
"appliance.thin.disk.mode":true
},
"vcsa":
{
"system":
{
"root.password":"<vCSA root password>",
"ssh.enable":true,
"platform.service.controller":"<system name of the platform.service.controller>"
},
Command-Line Deployment of VMware vCenter Server Appliance 6.0
vCenter Server Appliance Deployment Parameters
Tab le 6, Tab le 7, Tab le 8, Tab le 9, andTab le 10 list the parameters that you can use to set up the deployment
templates according to your needs. The information you provide depends on your specific deployment. For
example, you must provide database parameters if you want to deploy the appliance with an external
database.
Tabl e 6. Network Parameters
ParameterDefaultConditions
ip.familyNoneNetwork IP address family.
Value must be either ipv4 or ipv6.
modeNoneNetwork mode. Use this parameter to select how to allocate the IP
ipNoneNetwork IP address.
prefixNoneNetwork prefix length.
gatewayNoneIP address of the default gateway.
dns.serversNoneComma-separated list of IP addresses of DNS servers.
system.nameNonePrimary network identity.
address of the appliance.
The following options are available:
static
You are prompted to enter the static IP address and network
setting.
dhcp
A DHCP server is used to allocate the IP address. Select this
option only if the DHCP server is available in your environment.
autoconf
This option is available for IPv6 only.
Required only if the mode is static.
Can be IPv4 or IPv6 based on the specific address family.
An IPv4 address must comply with the RFC 790 guidelines.
An IPv6 address must comply with the RFC 2373 guidelines.
Required only if the mode is static.
0-32 for IPv4
0-128 for IPv6
Can be default when using IPv6.
Can be either an IP address or a fully qualified domain name (FQDN).
After you set it, you cannot change the system name.
The FQDN and dotted-decimal numbers must comply with the RFC
1123 guidelines.
Use an FQDN whenever possible.
VMware, Inc.11
Page 12
Command-Line Deployment of VMware vCenter Server Appliance 6.0
Tabl e 7. vCenter Single Sign-On Parameters
ParameterDefaultConditions
passwordNoneFor the first instance of the identity domain, this is the
domain-nameNoneDomain name, for example vsphere.local.
site-nameDefault-First-SiteName of the vCenter Single Sign-On site.
first-instanceNoneA Boolean value. Specifies if this is the first Platform
replication-partner-hostnameNoneThe host name, the IP address or the fully qualified
administrator account password.
For subsequent instances, this is the administrator
account password of the replication partner.
The password must adhere to the following
requirements:
At least 8 characters
No more than 20 characters
At least one uppercase character
At least one lowercase character
At least one number
At least one special character (for example, ’!’, ’(’, or
’@’)
Only visible lower-ASCII characters (spaces and
non-printing control characters such as BEL, Nul,
and so on are not allowed).
Must adhere to the RFC 1035 standards:
Each character in a label must be alphanumeric or a
dash (-).
The first character in each label must be a letter and
the last character must be alphanumeric.
Each label must not exceed 63 characters and the
entire name must not exceed 253 characters in
textual representation.
Must contain at least one dot (.).
The site name must adhere to the following
requirements:
Must include alphanumeric characters or the
hyphen (-)
Must not include high-ASCII or non-ASCII
characters
Must not exceed 63 characters.
Services Controller you are creating.
If you set the value to TRUE, the VMware directory
instance is the first instance in the domain.
If you set the value to FALSE, this instance is a replication
partner.
To join a vCenter Single Sign-On domain, you must enter
the system name of the Platform Services Controller
containing the vCenter Single Sign-On instance to join,
and the vCenter Single Sign-On administrator password.
You can join an existing vCenter Single Sign-On domain
for replication and high availability.
domain name, of the of the Platform Services Controller
partner.
Ignored, if this instance is the first instance in the
domain.
VMware, Inc.12
Page 13
Command-Line Deployment of VMware vCenter Server Appliance 6.0
Tabl e 8. System Parameters
ParameterDefaultConditions
root.passwordNonePassword of the root user of the Linux operating system of the
ssh.enableNoneA Boolean value.
time.tools-syncNoneA Boolean value.
ntp.serversNoneA comma-separated list of host names or IP addresses of Network
platform.service.controllerNoneWhen deploying a vCenter Server, you must specify the name of
appliance.
If set through the command-line installer, this parameter is
ignored.
If the value is set to TRUE, then SSH-based remote login is enabled.
You can change this setting after deployment.
If the value is set to TRUE, periodic time synchronization is
enabled, and VMware Tools sets the time of the guest operating
system to be the same as the time of the ESXi host.
This parameter is ignored if ntp.servers is set.
Time Protocol (NTP) servers for time synchronization.
the Platform Services Controller.
If the system name of the Platform Services Controller is an FQDN,
then you must provide the FQDN of the Platform Services
Controller.
Tabl e 9. Database Parameters
ParameterDefaultConditions
typeembeddedThe vCenter Server Appliance database type.
The following options are available:
embedded
Use this option if you want to use the embedded PostgreSQL
database.
external
Use this option if you want to use an external Oracle database.
For more information about the database types, see “Database
Requirements” on page 3.
userNoneThe external database user account name.
Ignored if the parameter type is embedded.
passwordNoneThe external database user password.
Ignored if the parameter type is embedded.
servernameNoneThe external database server host name.
Ignored if the parameter type is embedded.
serverportNoneThe port number on which the external database is running.
Ignored if the parameter type is embedded.
providerNoneThe external database provider.
The only available option is oracle.
Ignored if the parameter type is embedded.
instanceNoneThe external database instance name.
Ignored if the parameter type is embedded.
For information about or assistance with the external Oracle database configuration, see the Oracle
documentation.
VMware, Inc.13
Page 14
Command-Line Deployment of VMware vCenter Server Appliance 6.0
Table 10. Deployment Parameters
ParameterDefaultConditions
esx.hostNoneThe IP address or the FQDN of the ESXi host.
esx.datastoreNoneThe name of a datastore on which the deployed
vCenter Serve Appliance resides.
The datastore must be accessible from the specified host.
esx.usernameNoneThe user name of a user that has administrative, or root,
esx.passwordNoneThe ESXi host user password.
deployment.optiontinyThe deployment option.
deployment networkNoneThe network of the ESXi host on which the vCenter
privileges on the ESXi host.
The password must contain 8 to 20 characters, at least
one uppercase and one lowercase letter, one numerical
and one special character.
You can use the command-line installer to set the
password.
The deployment option depends on the deployment
architecture.
For vCenter Server Appliance with an embedded
Platform Services Controller, the following options
are available:
tiny
Suitable for environments consisting of up to
10 hosts and 100 virtual machines.
small
Suitable for environments consisting of up to
100 hosts and 1,000 virtual machines.
medium
Suitable for environments consisting of up to
400 hosts and 4,000 virtual machines.
large
Suitable for environments consisting of up to
1,000 hosts and 10,000 virtual machines.
For the vCenter Server Appliance, the following
options are available:
management-tiny
Suitable for environments consisting of up to
10 hosts and 100 virtual machines.
management-small
Suitable for environments consisting of up to
100 hosts and 1,000 virtual machines.
management-medium
Suitable for environments consisting of up to
400 hosts and 4,000 virtual machines.
management-large
Suitable for environments consisting of up to
1,000 hosts and 10,000 virtual machines.
For the Platform Services Controller appliance, the
value is infrastructure.
Server Appliance will be deployed.
When the ESXi host has only one network, the parameter
is optional, and can be ignored.
VMware, Inc.14
Page 15
Command-Line Deployment of VMware vCenter Server Appliance 6.0
Table 10. Deployment Parameters
ParameterDefaultConditions
appliance.nameNoneThe deployed virtual machine or inventory name.
The name that is displayed from the client when
connected to the vCenter or ESXi host that contains the
vCenter Server Appliance.
The appliance name must not contain the percent sign
(%), the backslash (\), or the forward slash (/).
appliance.thin.disk.modeNoneA Boolean value.
If the value is set to TRUE, the appliance is deployed with
thin mode virtual disks.
vCenter Server Appliance Deployment Example
Use the templates in the following example to deploy four virtual appliances on one ESXi host. The template
displayed in Example 5 deploys one Platform Services Controller and the template displayed in Example 6
deploys the replication Platform Services Controller partner. Example 7 and Example 8 deploy two
vCenter Server Appliance instances with an external Platform Services Controller. The first
vCenter Server Appliance is registered with the first Platform Services Controller, and the second
vCenter Server Appliance is registered with the second Platform Services Controller.
Having two or more Platform Services Controllers that replicate their vCenter Single Sign-On data, allows you
to ensure high availability of your system.
Tab le 11 summarizes the values of the common parameters used in the example templates.
Tabl e 11. Parameters Used in the Deployment Templates
ESXi host IP address
ESXi root password
Password of the root user of the
10.100.100.1
P@ss!w0rd
Admin?61
appliance Linux OS
vCenter Single Sign-On domain
vCenter Single Sign-On password
vsphere.local
Admin?61
VMware, Inc.15
Page 16
Command-Line Deployment of VMware vCenter Server Appliance 6.0
Example 5 displays the content of the first Platform Services Controller template.
Example 5. Template for Deployment of the First Platform Services Controller
{
"__comments":
[
"Example- First platform service controller"
],