You can use the CLI installer to automatically migrate a vCenter Server or Platform Services Controller from Windows to an appliance.

The installer ISO file contains example templates of JSON files that contain the minimum configuration parameters required for migrating a vCenter Server or Platform Services Controller instance from Windows to an appliance. The example templates are located in the vcsa-cli-installer/templates/migrate directory.

Note: Before migrating a vCenter Server deployment with an external Platform Services Controller, you must first converge the external Platform Services Controller to an embedded Platform Services Controller and then perform the migration. See Knowledge Base article KB 68137.

CLI tasks for migrating your vCenter Server installation from Windows to an appliance:

  1. Download and Mount the vCenter Server Installer.
  2. Download and Run VMware Migration Assistant on the Source Windows Machine.
  3. Prepare JSON Configuration Files for CLI Migration.
  4. Run the precheck before performing the migration.
  5. Perform a CLI Migration of vCenter Server from Windows to an Appliance.

You can run the CLI installer multiple times with different JSON files to perform multiple CLI migrations, or you can run the CLI migrations concurrently in a batch mode.

Important: The user name that you use to log in to the machine from which you want to run the CLI installer, the path to the vCenter Server appliance installer, the path to your JSON configuration file, and the string values in your JSON configuration file, including the passwords, must contain only ASCII characters. Extended ASCII and non-ASCII characters are unsupported.

Prepare JSON Configuration Files for CLI Migration

When you use the CLI to migrate a source vCenter Server installation to a target vCenter Server Appliance, you must prepare a JSON template with the configuration values for the new appliance.

You can migrate vCenter Server or Platform Services Controller instances from Windows to a vCenter Server Appliance by setting values to the configuration parameters in the templates that are available in the installer ISO file. The configuration parameters that are not included in the templates are set to their default values. You can add configuration parameters in the templates to set their values for your migration specification.

The vcsa-cli-installer/templates/migrate directory contains example migration templates for CLI migration of vCenter Server 6.7 to an appliance.

For a complete list of the configuration parameters and their descriptions, navigate to the installer subdirectory for your operating system and run the vcsa-deploy migrate --template-help command.
Important: The user name that you use to log in to the machine from which you want to run the CLI installer, the path to the vCenter Server Appliance installer, the path to your JSON configuration file, and the string values in your JSON configuration file, including the passwords, must contain only ASCII characters. Extended ASCII and non-ASCII characters are unsupported.

To perform the batch migration, place the JSON templates defining your deployment in a single directory. When invoked, the CLI installer migrates your existing deployment to the new vCenter Server version using the topology defined in the JSON templates.

Prerequisites

Verify your environment meets the requirements for migration. See System Requirements for Migrating vCenter Server Deployments to vCenter Server Appliance Deployments,

Prepare your environment for migration. See Preparing for Migration.

Procedure

  1. Open the migrate subfolder in the vcsa-cli-installer/templates directory.
  2. Copy the migration template from the migrate subfolder to your workspace. For vCenter Server 6.7, use the migrate/winvc6.7/ folder.
  3. Open the template file for your use case in a text editor.
    To ensure the correct syntax of your JSON configuration file, use a JSON editor.
  4. Fill in values for the required configuration parameters and, optionally, enter additional parameters and their values.
    Important: To set a value that contains the backslash (\) or quotation mark (") character, you must precede the character with the backslash (\) character. For example, "password":"my\"password" sets the password my"password, "image":"C:\\vmware\\vcsa" sets the path C:\vmware\vcsa.

    The boolean values must contain only lowercase characters. Can be either true or false. For example, "ssh_enable":false

  5. Save in UTF-8 format and close the file.

Results

Your file is ready to use for migration.

What to do next

You can create and save as many templates as are needed for your specific environment. When your template is ready, run the pre-check before using it to run the migration. See Run a Pre-Check Before a CLI Migration to vCenter Server Appliance.

JSON Templates for CLI Migration of vCenter Server for Windows

The vCenter Server installer contains JSON templates that are located in the vcsa-cli-installer/templates directory. In the migrate subfolder, you can find the JSON templates with the minimum configuration parameters for all migration types.

Table 1. Migration JSON Templates Included in the vCenter Server Installer
Location Template Description
vcsa-cli-installer\templates\migrate\vcsa\winvc6.7 embedded_win_vc_to_embedded_vCSA_on_ESXi.json Contains the minimum configuration parameters required to migrate vCenter Server 6.7 on Windows with an embedded Platform Services Controller to vCenter Server appliance 8.0 on an ESXi host.
embedded_win_vc_to_embedded_vCSA_on_VC.json Contains the minimum configuration parameters required to migrate vCenter Server 6.7 on Windows with an embedded Platform Services Controller to vCenter Server Appliance8.0 on a vCenter Server instance.
win_vc_to_vCSA_on_ESXi.json Contains the minimum configuration parameters required to migrate vCenter Server 6.7 on Windows with an external Platform Services Controller to vCenter Server appliance 8.0 on an ESXi host.
win_vc_to_vCSA_on_VC.json.json Contains the minimum configuration parameters required to migrate vCenter Server 6.7 on Windows with an external Platform Services Controller to vCenter Server appliance 8.0 on a vCenter Server instance.

About Migrating a vCenter Server for Windows with an External Platform Services Controller Using the CLI

When migrating a vCenter Server for Windows that uses an external Platform Services Controller, it is converted to a vCenter Server instance with those services embedded in the appliance. For this reason, you must specify replication partner parameters in the JSON migration templates.

When migrating a vCenter Server for Windows that uses an external Platform Services Controller, you must specify replication partner parameters in the JSON migrate template. These parameters indicate if the migration is for one of the following vCenter Server and Platform Services Controller migration scenarios.
  • A single vCenter Server and a single Platform Services Controller instance within an SSO domain.
  • The first vCenter Server and Platform Services Controller instance within an SSO domain containing more than one vCenter Server.
  • Replicating vCenter Server and Platform Services Controller instances within an SSO domain, which you must point to an existing vCenter Server 7.0 instance as the replication partner.
Important: Before migrating a vCenter Server deployment using an external Platform Services Controller, you must first converge the external Platform Services Controller to an embedded Platform Services Controller and then perform the migration. For more information, see Removal of Platform Services Controller.

Deployments using an external Platform Services Controller are often called an MxNdeployment, where M represents the vCenter Server, and N represents the external Platform Services Controller. When representing multiple instances of vCenter Server and Platform Services Controller in a domain, this is expressed as MnxNn, where n is the number of instances. For example, M2xN2 indicates two vCenter Server instances and two Platform Services Controller instances within the same domain. When migrating such a deployment, you first migrate one instance to version 8.0, and then migrate the second instance to 8.0, specifying the first of the two instances as the replicating partner.

The replication parameters in the JSON migration template are located in the sso section of the template, and are first_instance and replication_partner_hostname.

Parameter Name Description
first_instance The first_instance parameter identifies the vCenter Server as either the first instance in your vCenter Server SSO domain, or as a replicating partner.

If it is the first vCenter Server instance, set first_instance to true For additional instances of vCenter Server in the same SSO domain, set first_instance to false.

replication_partner_hostname*

If you set first_instance to false, you must specify the FQDN or IP address of a vCenter Server that has already been migrated to version 8.0, and whose external PSC has been converged into the vCenter Server appliance.

When you perform the CLI migration of a single vCenter Server for Windows instance that uses an external Platform Services Controller, the process is as follows:
  1. Migrate the vCenter Server in your topology using the win_vc_to_vCSA_on_ESXi.json template when migrating on ESXi, or the win_vc_to_vCSA_on_VC.json template when migrating on a vCenter Server deployment.

  2. For a deployment topology consisting of a single vCenter Server and a Platform Services Controller (an M1xN1 deployment), edit the sso section of the template such that the first_instance parameter is set to true, and remove the replication_partner_hostname parameter.
    "sso": {
    "__comments": [ This is the first instance (M1) vCenter Server management node, with "first_instance" set to "true" and "replication_partner_hostname" removed.
    ],
    "first_instance": true
    }
  3. Specify the remaining configuration parameters in the JSON template, and migrate vCenter Server to version 8.0 using the CLI. See Perform a CLI Migration of vCenter Server from Windows to an Appliance.
  4. After successfully migrating vCenter Server, decommission the Platform Services Controller. See Decommission the Platform Services Controller.
    Important: Decommission the Platform Services Controller instances only after migrating and converging all vCenter Server instances in your topology.
For a deployment consisting of two or more vCenter Server and Platform Services Controller instances (an M2xN2 deployment), you first migrate the M1 vCenter Server instance to version 8.0, and then migrate the second, replicating vCenter Server instance.
  1. Migrate the vCenter Server in your topology using the win_vc_to_vCSA_on_ESXi.json template when migrating on ESXi, or the win_vc_to_vCSA_on_VC.json template when migrating on a vCenter Server deployment.

  2. For the first vCenter Server instance ( M1), edit the sso section of the template such that the first_instance parameter is set to true, and remove the replication_partner_hostname parameter.
    "sso": {
    "__comments": [ This is the first instance (M1) vCenter Server management node, with "first_instance" set to "true" and "replication_partner_hostname" removed.
    ],
    "first_instance": true
    }
  3. For the remaining vCenter Server instance ( M2), edit the sso section of the template such that the first_instance parameter is set to false, and provide the FQDN or IP address of the vCenter Server instance to which you want to replicate the second node. The replication partner is the first vCenter Server instance ( M1) you migrated to version 8.0, which has been converged with its Platform Services Controller instance.
    "sso": {
    "__comments": [ This is the second instance (M2) vCenter Server management node, with "first_instance" set to "false" and "replication_partner_hostname" set to the hostname of the replication partner.],
    "first_instance": false,
    "replication_partner_hostname": "FQDN_or_IP_address"
  4. Specify the remaining configuration parameters in the JSON templates, and migrate vCenter Server to version 8.0 using the CLI. See Perform a CLI Migration of vCenter Server from Windows to an Appliance.
  5. After successfully migrating all vCenter Server instances in the topology, decommission the Platform Services Controller instances. See Decommission the Platform Services Controller.
    Important: Decommission the Platform Services Controller instances only after migrating and converging all vCenter Server instances in your topology.

Migration Configuration Parameters

When using the CLI installer to migrate your vCenter Server installation to an appliance, you must provide the parameters with values for your migration specification.

The table lists the configuration parameters that you use to provide input data for the source vCenter Server.

Important: The path to the vCenter Server appliance installer, the path to your JSON configuration file, and the string values in your JSON configuration file, including passwords, must contain only ASCII characters. Extended ASCII and non-ASCII characters are not supported.

To set a value that contains the backslash (\) or quotation mark (") character, you must precede the character with the backslash (\) character. For example, "password":"my\"password" sets the password my"password, "image":"C:\\vmware\\vcsa" sets the path C:\vmware\vcsa.

The boolean values must contain only lowercase characters. Can be either true or false. For example, "ssh_enable":false.

Sections and Subsections of Configuration Parameters in the JSON Migration Templates

The configuration parameters in the JSON migration templates are organized in sections and subsections.

Table 2. Sections and Subsections of Configuration Parameters in the JSON Migration Templates
Section Subsection Description
new_vcsa - describes the target appliance that you want to migrate to esxi Use only if you want to deploy the appliance directly on an ESXi host.
Contains the configuration parameters that describe the target ESXi host.
Note: You must fill in either the esxi or the vc subsection.
vc Use only if you want to deploy the appliance on the inventory of a vCenter Server instance.

Contains the configuration parameters that describe the target ESXi host or DRS cluster from the vCenter Server inventory.

Note: You must fill in either the vc or the esxi subsection.
appliance Contains the configuration parameters that describe the appliance.
os Contains the configuration parameters that describe the operating system settings for the appliance.
ovftool_arguments Optional subsection for adding arbitrary arguments and their values to the OVF Tool command that the installer generates.
Important: The vCenter Server appliance installer does not validate the configuration parameters in the ovftool_arguments subsection. If you set arguments that the OVF Tool does not recognize, the deployment might fail.
temporary_network Contains the configuration parameters that describe the temporary network for migrating the data from the source to the new target appliance.
user-options Use only when the source is a vCenter Server instance. Contains the configuration parameters that let you control aspects of the migration process for particular components.
source_vc - describes the source vCenter Server, vCenter Single Sign-On, or Platform Services Controller vc_win Contains the configuration parameters that describe the source Windows installation of vCenter Server or Platform Services Controller
run_migration_assistant Use only if the source Windows installation is running as a virtual machine and you want to automate the invocation of Migration Assistant. For a source Windows installation running on a physical machine, or if you are running Migration Assistant manually on the source Windows machine, copy and paste the thumbprint value from the Migration Assistant console output on the source machine to the migration_ssl_thumbprint key in the vc_win subsection, and remove the run_migration_assistant section.
ceip - describes joining the VMware Customer Experience Improvement Program (CEIP) settings Contains only the ceip_enabled configuration parameter to join or not to join the VMware Customer Experience Improvement Program (CEIP).

Required only if you are deploying a vCenter Server appliance.

Note: If set to true, you must run the CLI deployment command with the --acknowledge-ceip argument.

For information about the CEIP, see the Configuring Customer Experience Improvement Program section in vCenter Server and Host Management.

Configuration Parameters in the new_vcsa Section

Table 3. Configuration Parameters in the new_vcsa Section, esxi Subsection
Name Type Description
hostname string The IP address or FQDN of the target ESXi host on which you want to deploy the appliance.
username string A user name with administrative privileges on the target ESXi host, for example, root.
password string The password of the user with administrative privileges on the target ESXi host.
deployment_network string The name of the network to which to connect the appliance.
Note: The network must be accessible from the target ESXi host.

Ignored if the target ESXi host has only one network.

datastore string The name of the datastore that you want to store all virtual machine configuration files and virtual disks of the appliance.
Note: The datastore must be accessible from the ESXi host.

The datastore must have enough free space.

port integer The port number of the ESXi host. The default port is 443.
ssl_certificate_verification string

The CLI verifies that a server's security certificate is signed by a Certificate Authority (CA), and establishes a secure connection. If the certificate is self-signed, the CLI stops the upgrade unless you specify one of the following SSL certificate configuration options.

Specify the Secure Hash Algorithm 1 (SHA-1) certificate thumbprint. A certificate thumbprint is a hexadecimal string that uniquely identifies a certificate. The thumbprint is calculated from the content of the certificate using a thumbprint algorithm.

"thumbprint": "certificate SHA-1 thumbprint"

Set verification_mode to NONE.

"verification_mode": "NONE"

If you are connecting to a server with a self-signed certificate, and fail to either specify the SHA-1 certificate thumbprint, or set the verification mode to NONE, the CLI will display the server's self-signed certificate's thumbprint, and prompt you to accept or reject the certificate thumbprint.

You can also specify that the CLI ignore the self-signed using the vcsa-deploy upgrade command parameter --no-ssl-certificate-validation. See Syntax of the CLI Migrate Command .

Table 4. Configuration Parameters in the new_vcsa Section, vc Subsection
Name Type Description
hostname string The IP address or FQDN of the target vCenter Server instance on which you want to deploy the appliance.
username string vCenter Single Sign-On administrator user name on the target vCenter Server instance, for example, [email protected].
password string The password of the vCenter Single Sign-On administrator user on the target vCenter Server instance.
deployment_network string The name of the network to which to connect the appliance.
Note: The network must be accessible from the target ESXi host or DRS cluster on which you want to deploy the appliance.

Ignored if the target ESXi host or DRS cluster has only one network.

datacenter string or array The vCenter Server data center that contains the target ESXi host or DRS cluster on which you want to deploy the appliance.
If the datacenter is located in a folder or a structure of folders, the value must be either a comma-separated list of strings or a comma-separated list as a single string. For example,
["parent_folder", "child_folder", "datacenter_name"]
or
"parent_folder, child_folder, datacenter_name"

If there is no folder path on the data center, then use only the datacenter name. For example,

["datacenter_name"]
or
"datacenter_name"
Note: The value is case-sensitive.
datastore string The name of the datastore that you want to store all virtual machine configuration files and virtual disks of the appliance.
Note: The datastore must be accessible from the target ESXi host or DRS cluster.

The datastore must have at least 25 GB of free space.

port integer The port number of the vCenter Server. The default port is 443.
target string or array

The target cluster, ESXi host, or resource pool on which you want to deploy the new appliance. This is the target you specified with the datacenter parameter. This path must end with a cluster name, ESXi hostname, or resource pool name.

Important: You must provide the name that is displayed in the vCenter Server inventory. For example, if the name of the target ESXi host is an IP address in the vCenter Server inventory, you cannot provide an FQDN.
Note: All values are case-sensitive.

If you want the deployed appliance to be listed in a different location within the data center's hierarchy, use the vm_folder parameter described later in this section.

If the target cluster, ESXi host, or resource pool is located in a folder or a structure of folders, the value must be a comma-separated list of strings or a comma-separated list as a single string. For example,
["parent_folder", "child_folder", "esxi-host.domain.com"]
or
"parent_folder, child_folder, esxi-host.domain.com"
If the target ESXi host is part of a cluster, use a comma-separated list of strings or a comma-separated list as a single string to provide the path. For example,
["cluster_name", "esxi-host.domain.com"] 
				  
or
"cluster_name, esxi-host.domain.com"

If you are deploying to a resource pool, include the label Resources before the resource pool name. For example:

 ["cluster_name", "Resources", "resource_pool_name"] 
Note: Pre-checks verify only the memory of the resource pool.
vm_folder string Optional. The name of the virtual machine (VM) folder to which to add the appliance.
Table 5. Configuration Parameters in the new_vcsa Section, appliance Subsection
Name Type Description
thin_disk_mode Boolean Set to true to deploy the appliance with thin virtual disks.
deployment_option string The size of the appliance.
  • Set to tiny if you want to deploy a vCenter Server appliance for up to 10 hosts and 100 virtual machines with the default storage size.

    Deploys an appliance with 2 CPUs, 10 GB of memory, and 300 GB of storage.

  • Set to tiny-lstorage if you want to deploy a vCenter Server appliance for up to 10 hosts and 100 virtual machines with the large storage size.

    Deploys an appliance with 2 CPUs, 10 GB of memory, and 825 GB of storage.

  • Set to tiny-xlstorage if you want to deploy a vCenter Server appliance for up to 10 hosts and 100 virtual machines with the x-large storage size.

    Deploys an appliance with 2 CPUs, 10 GB of memory, and 1700 GB of storage.

  • Set to small if you want to deploy a vCenter Server appliance for up to 100 hosts and 1,000 virtual machines with the default storage size.

    Deploys an appliance with 4 CPUs, 16 GB of memory, and 340 GB of storage.

  • Set to small-lstorage if you want to deploy a vCenter Server appliance for up to 100 hosts and 1,000 virtual machines with the large storage size.

    Deploys an appliance with 4 CPUs, 16 GB of memory, and 870 GB of storage.

  • Set to small-xlstorage if you want to deploy a vCenter Server appliance for up to 100 hosts and 1,000 virtual machines with the x-large storage size.

    Deploys an appliance with 4 CPUs, 16 GB of memory, and 1750 GB of storage.

  • Set to medium if you want to deploy a vCenter Server appliance for up to 400 hosts and 4,000 virtual machines with the default storage size.

    Deploys an appliance with 8 CPUs, 24 GB of memory, and 525 GB of storage.

  • Set to medium-lstorage if you want to deploy a vCenter Server appliance for up to 400 hosts and 4,000 virtual machines with the large storage size.

    Deploys an appliance with 8 CPUs, 24 GB of memory, and 1025 GB of storage.

  • Set to medium-xlstorage if you want to deploy a vCenter Server appliance for up to 400 hosts and 4,000 virtual machines with the x-large storage size.

    Deploys an appliance with 8 CPUs, 24 GB of memory, and 1905 GB of storage.

  • Set to large if you want to deploy a vCenter Server appliance for up to 1,000 hosts and 10,000 virtual machines with the default storage size.

    Deploys an appliance with 16 CPUs, 32 GB of memory, and 740 GB of storage.

  • Set to large-lstorage if you want to deploy avCenter Server appliance for up to 1,000 hosts and 10,000 virtual machines with the large storage size.

    Deploys an appliance with 16 CPUs, 32 GB of memory, and 1090 GB of storage.

  • Set to large-xlstorage if you want to deploy a vCenter Server appliance for up to 1,000 hosts and 10,000 virtual machines with the x-large storage size.

    Deploys an appliance with 16 CPUs, 32 GB of memory, and 1970 GB of storage.

  • Set to xlarge if you want to deploy a vCenter Server appliance for up to 2,000 hosts and 35,000 virtual machines with the default storage size.

    Deploys an appliance with 24 CPUs, 48 GB of memory, and 1180 GB of storage.

  • Set to xlarge-lstorage if you want to deploy a vCenter Server appliance for up to 2,000 hosts and 35,000 virtual machines with the large storage size.

    Deploys an appliance with 24 CPUs, 48 GB of memory, and 1230 GB of storage.

  • Set to xlarge-xlstorage if you want to deploy a vCenter Server appliance for up to 2,000 hosts and 35,000 virtual machines with the x-large storage size.

    Deploys an appliance with 24 CPUs, 48 GB of memory, and 2110 GB of storage.

image string Optional. A local file path or URL to the vCenter Server appliance installation package.

By default the installer uses the installation package that is included in the ISO file, in the vcsa folder.

name string The VM name for the appliance.

Must contain only ASCII characters except a percent sign (%), backslash (\), or forward slash (/) and must be no more than 80 characters in length.

ovftool_path string Optional. A local file path to the OVF Tool executable file.

By default the installer uses the OVF Tool instance that is included in the ISO file, in the vcsa/ovftool folder.

Table 6. Configuration Parameters in the new_vcsa Section, os Subsection
Name Type Description
password string The password for the root user of the appliance operating system.

The password must contain between 8 and 20 characters, at least one uppercase letter, at least one lowercase letter, at least one number, and at least one special character, for example, a dollar sign ($), hash key (#), at sign (@), period (.), or exclamation mark (!). All characters must be lower ASCII characters without spaces.

ssh_enable Boolean Set to true to enable the SSH administrator login to the appliance.
Table 7. Configuration Parameters in the new_vcsa Section, temporary_network Subsection
Name Type Description
ip_family string IP version for the network of the appliance.

Set to ipv4 or ipv6.

mode string IP assignment for the network of the appliance.

Set to static or dhcp.

ip string IP address for the appliance.

Required only if you use a static assignment, that is, if you set the mode parameter to static.

You must set an IPv4 or IPv6 address that corresponds to the network IP version, that is, to the value of the ip_family parameter.

An IPv4 address must comply with the RFC 790 guidelines.

An IPv6 address must comply with the RFC 2373 guidelines.

dns_servers string or array IP addresses of one or more DNS servers.
To set more than one DNS server, use a comma-separated list of strings or a comma-separated list as a single string to provide the path. For example,
["x.y.z.a", "x.y.z.b"]
or
"x.y.z.a, x.y.z.b"

Required only if you use a static assignment, that is, if you set the mode parameter to static.

prefix string Network prefix length.

Required only if you use assignment, that is, if you set the mode parameter to static.

For IPv4 version, the value must be between 0 and 32.

For IPv6 version, the value must be between 0 and 128.

gateway string IP address of the default gateway.

For IPv6 version, the value can be default.

Table 8. Configuration Parameters in the new_vcsa Section, user_options Subsection
Name Type Description
vcdb_migrateSet string

Select the types of data to migrate from the old appliance to the new appliance. Data is copied from the source vCenter Server to the target server. The original source of the data remains unchanged.

  • Set to core if you want to transfer only the configuration data. This provides the fastest data migration, keeping system downtime to a minimum.
  • Set to core_events_tasks if you want to transfer the configuration and historical data (events and tasks) immediately. vCenter Server will not start until all data has been migrated from the source vCenter Server for Windows.
  • Set to all if you want to transfer the configuration, historical, and performance metrics data immediately. vCenter Server will not start until all data has been migrated from the source vCenter Server for Windows. This option transfers the largest amount of data, and requires more downtime than other data migration options.
  • Set to transfer_events_tasks_after_upgrade if you want to transfer the historical data (events and tasks) in the background after the upgrade finishes. During this time, vCenter Server performance might not be optimal.
  • Set to transfer_stats_events_tasks_after_upgrade if you want to transfer historical data and performance metrics data in the background after the upgrade finishes. During this time, vCenter Server performance might not be optimal.
Note: To minimize the migration time and the amount of storage required for the new vCenter Server appliance, use the core value.

For more information on the types of data you can transfer from your existing vCenter Server to the new, upgraded vCenter Server, see Transferring Data from an Existing vCenter Server Appliance.

Table 9. Configuration Parameters in the new_vcsa Section, sso Subsection
Name Type Description
first_instance string

Set first_instance to true if this is the first converge migration operation in your vCenter Server SSO domain, or if you do not want to set the replication partner for this node.

If you want to set the replication partner for this node, set first_instance to false and provide the value of the replication_partner_hostname as the FQDN of a previously converged node which is currently in an embedded vCenter Server topology.

For more information on specifying the first_instance and replication_partner_hostname parameters, see About Migrating a vCenter Server for Windows with an External Platform Services Controller Using the CLI.

replication_partner_hostname string Host name of the replication partner. Remove if it is the first_instance

Requirements for the Automatic Invocation of Migration Assistant

You use the run_migration_assistant subsection to automate the invocation of Migration Assistant. Automatic invocation works only if the source Windows installation is running as a virtual machine.

The user account that you specify in the os_username or vum_os_username parameters needs a privilege elevation to Administrator. For example:
  • The built-in Windows Administrator account.
  • A user account with a user name other than Administrator that is a member of the local Windows Administrators group.
  • The Domain Administrator account with the user name Administrator that is a member of the local Windows Administrators group.
  • The user name ID must be in the format your_domain_name\\user_ID or user_ID@your_domain_name.
Restriction: Automatic invocation of Migration Assistant does not work with a Windows account that requires a privilege elevation to Administrator. Instead, run Migration Assistant manually on the source Windows machine. Copy and paste the thumbprint value from the Migration Assistant console output on the source machine to the migration_ssl_thumbprint key in the vc_win subsection, and remove the run_migration_assistant section.

Configuration Parameters in the source_vc Section

Table 10. Configuration Parameters in the source_vc Section, vc_win Subsection
Name Type Description
hostname string The host name or IP address of the source Windows installation of vCenter Server or Platform Services Controller that you want to migrate.
username string A vCenter Single Sign-On user name with administrative privileges for the vCenter Server, vCenter Single Sign-On, or Platform Services Controller instance that you want to migrate.
password string The password of the vCenter Server or Platform Services Controller instance that you want to migrate.
migration_port string Migration Assistant port number shown in the Migration Assistant console. The default port is 9123.
active_directory_domain string The name of the Active Directory domain to which the source vCenter Server instance is joined.
active_directory_username string Administrator user name of the Active Directory domain to which the source vCenter Server instance is joined.
active_directory_password string Administrator password of the Active Directory domain to which the source vCenter Server instance is joined.
Note: The installer verifies the entered credentials, but does not check the required privileges to add the target machine to the Active Directory domain. Verify that the user credentials have all the required permissions to add a machine to the Active Directory domain.
migration_ssl_thumbprint string The SSL thumbprint of Migration Assistant.
Table 11. Configuration Parameters in the source_vc Section, run_migration_assistant Subsection
Name Type Description
esxi_hostname string FQDN or IP address of ESXi on which the source vCenter Server, vCenter Single Sign-On, or Platform Services Controller instance resides.
esxi_username string User name of a user with administrative privileges on the ESXi host.
esxi_password string The password of the ESXi host user. If omitted, you are prompted to enter the password at the command console during the template verification.
esxi_port string The port number of the ESXi host. The default port is 443.
os_username string Administrator user name for the source Windows machine.
os_password string Administrator user password for the source Windows machine. If omitted, you are prompted to enter it at the command console during the template verification.
migration_ip string The IP address of the network adapter to be migrated.
migration_port string Migration Assistant port number shown in the Migration Assistant console. The default port is 9123.
export_dir string Directory to export source configuration and data.
sa_password string The IP address of the network vCenter Server service account user password. This option is only required if the vCenter Server service is running under a non-LocalSystem account. If omitted, you are prompted to enter it at the command console during the template verification.
Table 12. Configuration Parameters in the source_vum Section, run_migration_assistant Subsection
Name Type Description
esxi_hostname string FQDN or IP address of ESXi on which the source vCenter Server, vCenter Single Sign-On, or Platform Services Controller instance resides.
esxi_username string User name of a user with administrative privileges on the ESXi host.
esxi_password string The password of the ESXi host user. If omitted, you are prompted to enter the password at the command console during the template verification.
esxi_port string The port number of the ESXi host. The default port is 443.
vum_hostname string FQDN or IP address of ESXi on which the source Update Manager instance resides.
vum_os_username string Administrator user name for the source Windows machine.
vum_os_password string Administrator user password for the source Update Manager Windows machine. If omitted, you are prompted to enter it at the command console during the template verification.
migration_port string Migration Assistant port number shown in the Migration Assistant console. The default port is 9123.
export_dir string Directory to export source configuration and data.

Configuration Parameters in the ceip Section

Table 13. Configuration Parameters in the ceip Section, settings Subsection
Name Type Description
ceip_enabled Boolean Set to true to join the CEIP for this appliance.

Run a Pre-Check Before a CLI Migration to vCenter Server Appliance

You can run a pre-check to verify that the migration requirements are met and resolve any problems before migration of your vCenter Server deployment.

Before migrating your vCenter Server deployment to an appliance, you can run a pre-check to find out the disk space requirement, the estimated upgrade time, and the extensions registered with the vCenter Server appliance. Running pre-upgrade is an optional but highly recommended step when planning your upgrade.

Prerequisites

Prepare JSON Configuration Files for CLI Migration using the example templates and configuration parameters.

Procedure

  1. Verify your template without deploying the appliance by entering the command: vcsa-deploy migrate --verify-template-only path_to_json_file.
  2. Run CLI Migrate using the --precheck-only option.
    You can adjust your migration plans using the disk space requirements and estimated migration time. If you receive an error, you can troubleshoot and resolve the problem before the actual migration.
  3. After resolving any errors, run the CLI Migrate command using the --verify-template-only option again until all errors are resolved.

Results

You are now prepared for an error-free CLI migration process.

What to do next

Perform a CLI Migration of vCenter Server from Windows to an Appliance.

Perform a CLI Migration of vCenter Server from Windows to an Appliance

You can migrate vCenter Server to an appliance from a machine that is in your vSphere network.

Prerequisites

Procedure

  1. Navigate to the software CLI installer directory for your operating system.
    • If you are deploying the appliance from a machine with Windows OS, navigate to the vcsa-cli-installer\win32 directory.
    • If you are deploying the appliance from a machine with Linux OS, navigate to the vcsa-cli-installer/lin64 directory.
    • If you are deploying the appliance from a machine with Mac OS, navigate to the vcsa-cli-installer/mac directory.
  2. Select the CLI installer: vcsa-deploy.exe.
  3. Run the migration command.
    vcsa-deploy migrate --accept-eula optional_arguments path_to_the_json_file
    The optional_arguments variable is a space-separated list of optional arguments to set additional configurations.
    For example, you can set the location of the log and other output files that the installer generates.
    vcsa-deploy migrate --accept-eula --log-dir=path_to_the_location path_to_the_json_file

Results

The migration template is deployed. You can Verify Your vCenter Server Upgrade or Migration Is Successful.

Syntax of the CLI Migrate Command

You can use one or more command arguments to set the execution parameters of the migrate command.

You can add a space-separated list of arguments to the CLI upgrade command.
vcsa-deploy migrate list_of_arguments path_to_the_json_file

The required template argument provides the path of a JSON file that describes the vCenter Server appliance deployment procedure. You can place multiple JASON files in a directory, and the CLI will migrate all of the deployments in batch mode. For more information on performing concurrent migrations, see Prepare JSON Configuration Files for CLI Migration.

Important: The string values, including the passwords, must contain only ASCII characters. Extended ASCII and non-ASCII characters are unsupported.

To set a value that contains the backslash (\) or quotation mark (") character, you must precede the character with the backslash (\) character. For example, "password":"my\"password" sets the password my"password, "image":"C:\\vmware\\vcsa" sets the path C:\vmware\vcsa.

The boolean values must contain only lowercase characters. Can be either true or false. For example, "ssh.enable":false.

Optional Argument Description
--accept-eula Accepts the end-user license agreement.

Required for executing the deployment command.

-h, --help Displays the help message for the command.
--template-help Displays the help message for the configuration parameters in the JSON deployment file. You can use vcsa-deploy [subcommand] --help for a list of subcommand-specific arguments.
-v, --verbose Adds debug information to the console output.
-t, --terse Hides the console output. Displays only warning and error messages.
--log-dir, LOG_DIR Specifies the location of the log and other output files that the installer generates.
--skip-ovftool-verification

Performs basic verification of the configuration parameters and deploys the vCenter Server appliance, but does not validate the OVF Tool parameters in the ovftool_arguments subsection of the JSON template. If you set arguments that the OVF Tool does not recognize, the deployment might fail.

--no-ssl-certificate-verification

Prohibits SSL verification of ESXi connections.

The CLI verifies that a server's security certificate is signed by a Certificate Authority (CA), and establishes a secure connection. If the certificate is self-signed, the CLI will stop the upgrade unless you specify that the CLI ignore the self-signed certificate using the --no-ssl-certificate-validation command parameter.

If you are connecting to a server with a self-signed certificate, and fail to specify that the CLI accept it, the CLI displays the server's self-signed certificate thumbprint, and prompts you to accept or reject the it.

You can also specify that the CLI ignore self-signed certificates using the ssl_certificate_verification configuration parameter in the JSON template. See Upgrade Configuration Parameters for CLI Upgrade of vCenter Server Appliance.

Important: Avoid using this option as it may cause problems during or after upgrade due to an un-validated identity of the target host.
--operation-id Lets you provide an identifier to track the concurrent installation, migration, or upgrade of multiple vCenter Server instances. If do not provide an operation ID, the CLI generates a universally unique identifier (UUID) which you can use to identify the different instances of vCenter Server and their installation or upgrade status.
--verify-template-only Performs basic template verification without installing Upgrade Runner, running prechecks, and upgrading or migrating the vCenter Server appliance.
--precheck-only Installs Migration Assistant on the source vCenter Server virtual machine, and runs a complete set of prechecks without performing the migration.
--acknowledge-ceip Confirms acknowledgement of your VMware Customer Experience Improvement Program (CEIP) participation. This argument is required if ceip.enabled is set to true in the upgrade template.
Exit Code Description
0 Command ran successfully
1 Runtime error
2 Validation error
3 Template error