vCenter Server Appliance (vCSA) は、通常はGUIを使って対話式にインストールを行うが、あらかじめ設定を記載したファイルを読み込ませることによって自動的にインストールを行うCLIベースのインストーラ「vcsa-deploy
」が用意されている。
本記事では、実際にvCSAをvcsa-deploy
を使ってインストールしてみたので、その手順を記載する。なおvcsa-deploy
は、Windows版とLinuxの両方が用意されているが、今回はWindows版のvcsa-deploy.exe
を利用したインストール手順を説明する。
環境
今回の環境では、まず「組み込みPSCのvCSA」を1台構築する。その後、2台目のvCSAも「組み込みPSCのvCSA」で構築するが、拡張リンクモードによる構成とし、1台目のvCSA構築時に作成したvCenter Single Sign-Onドメインに所属させる構成とする。
ESXi及びvCSAのバージョンは以下となる。
- ESXi : 6.7 Update 3
- vCSA : 6.7 Update 3b
1台目のvCSAを構築する手順
1. vCSAのサイズを確認
vCSAは管理対象のESXiサーバや仮想マシンの台数に応じて、仮想マシンのサイズを変更することができる。選択可能なサイズは、--supported-deployment-sizes
オプションを付けてvcsa-deploy.exe
を実行することで確認することができる。
PS C:\> cd E:\vcsa-cli-installer\win32
PS E:\vcsa-cli-installer\win32> .\vcsa-deploy.exe --supported-deployment-sizes
Information about deployment sizes:
Options vCPUs Memory(GB) Storage(GB) Hosts(up to) VMs(up to)
--------------------------------------------------------------------------------
tiny 2 10 300 10 100
tiny-lstorage 2 10 825 10 100
tiny-xlstorage 2 10 1700 10 100
small 4 16 340 100 1000
small-lstorage 4 16 870 100 1000
small-xlstorage 4 16 1750 100 1000
medium 8 24 525 400 4000
medium-lstorage 8 24 1025 400 4000
medium-xlstorage 8 24 1905 400 4000
large 16 32 740 1000 10000
large-lstorage 16 32 1090 1000 10000
large-xlstorage 16 32 1970 1000 10000
xlarge 24 48 1180 2000 35000
xlarge-lstorage 24 48 1230 2000 35000
xlarge-xlstorage 24 48 2110 2000 35000
management-tiny 2 10 300 10 100
management-tiny-lstorage 2 10 825 10 100
management-tiny-xlstorage 2 10 1700 10 100
management-small 4 16 340 100 1000
management-small-lstorage 4 16 870 100 1000
management-small-xlstorage 4 16 1750 100 1000
management-medium 8 24 525 400 4000
management-medium-lstorage 8 24 1025 400 4000
management-medium-xlstorage 8 24 1905 400 4000
management-large 16 32 740 1000 10000
management-large-lstorage 16 32 1090 1000 10000
management-large-xlstorage 16 32 1970 1000 10000
management-xlarge 24 48 1180 2000 35000
management-xlarge-lstorage 24 48 1230 2000 35000
management-xlarge-xlstorage 24 48 2110 2000 35000
infrastructure 2 4 60 None None
今回は検証目的となるため、最小サイズとなるtiny
を選択する。
2. 設定情報を記述したjsonファイルを作成
vcsa-deploy.exe
に読み込ませるファイルは、json形式で記述する。一から作るとなると骨が折れるが、ありがたいことにテンプレートが用意されているので、これを利用するとそこまで苦労せずに作成をすることができる。
テンプレートはドライブ名:\vcsa-cli-installer\templates\install
に存在する。
テンプレートの種類は以下となる。
テンプレート名 |
デプロイ先 |
vCenter Single Sign-Onドメイン |
用途 |
embedded_vCSA_on_ESXi.json |
ESXi |
新規 |
組み込みPSCのvCneter Serverをインストール |
embedded_vCSA_on_VC.json |
ESXi(vCenter管理) |
新規 |
組み込みPSCのvCneter Serverをインストール |
embedded_vCSA_replication_on_ESXi.json |
ESXi |
既存のドメインに接続 |
組み込みPSCのvCneter Serverをインストール |
embedded_vCSA_replication_on_VC.json |
ESXi(vCenter管理) |
既存のドメインに接続 |
組み込みPSCのvCneter Serverをインストール |
PSC_first_instance_on_ESXi.json |
ESXi |
新規 |
PSCのみインストール |
PSC_first_instance_on_VC.json |
ESXi(vCenter管理) |
新規 |
PSCのみインストール |
PSC_replication_on_ESXi.json |
ESXi |
既存のドメインに接続 |
PSCのみインストール |
PSC_replication_on_VC.json |
ESXi(vCenter管理) |
既存のドメインに接続 |
PSCのみインストール |
vCSA_on_ESXi.json |
ESXi |
既存のドメインに接続 |
vCenter Serverのみインストール |
vCSA_on_VC.json |
ESXi(vCenter管理) |
既存のドメインに接続 |
vCenter Serverのみインストール |
新規の「組み込みPSCのvCSA」を構築する場合は、embedded_vCSA_on_ESXi.json
を利用する。主な設定内容は以下の通りとなる。
設定項目 |
設定内容 |
deployment_network |
vCSAが接続する標準仮想スイッチのポートグループ名を指定する。 |
datastore |
vCSAの仮想マシンを保存するデータストア名を指定する。 |
deployment_option |
vCSAのサイズを指定する。 |
ssh_enable |
vCSAのSSH接続可否を設定する。デフォルトfalse だが調査等で必要となることが多いのでtrue に変更する。 |
ceip_enabled |
CEIPを有効にする特別な必要がなければfalse に変更する。 |
実際の記載内容は以下の通り。
{
"__version": "2.13.0",
"__comments": "Sample template to deploy a vCenter Server Appliance with an embedded Platform Services Controller on an ESXi host.",
"new_vcsa": {
"esxi": {
"hostname": "<デプロイ先のESXiのIPアドレス>",
"username": "root",
"password": "<rootのパスワード>",
"deployment_network": "VM Network",
"datastore": "datastore1"
},
"appliance": {
"__comments": [
"You must provide the 'deployment_option' key with a value, which will affect the VCSA's configuration parameters, such as the VCSA's number of vCPUs, the memory size, the storage size, and the maximum numbers of ESXi hosts and VMs which can be managed. For a list of acceptable values, run the supported deployment sizes help, i.e. vcsa-deploy --supported-deployment-sizes"
],
"thin_disk_mode": true,
"deployment_option": "tiny",
"name": "t1160vcsa"
},
"network": {
"ip_family": "ipv4",
"mode": "static",
"ip": "<vCSAのIPアドレス>",
"dns_servers": [
"<DNS#1のIPアドレス>", "<DNS#2のIPアドレス>"
],
"prefix": "<vCSAのIPアドレスのプレフィックス長>",
"gateway": "<vCSAのデフォルトゲートウェイ>",
"system_name": "<vCSAのFQDN>"
},
"os": {
"password": "<vCSAのrootのパスワード>",
"ntp_servers": "<NTPサーバのIPアドレス>",
"ssh_enable": true
},
"sso": {
"password": "<Administrator@vsphere.localのパスワード>",
"domain_name": "vsphere.local"
}
},
"ceip": {
"description": {
"__comments": [
"++++VMware Customer Experience Improvement Program (CEIP)++++",
"VMware's Customer Experience Improvement Program (CEIP) ",
"provides VMware with information that enables VMware to ",
"improve its products and services, to fix problems, ",
"and to advise you on how best to deploy and use our ",
"products. As part of CEIP, VMware collects technical ",
"information about your organization's use of VMware ",
"products and services on a regular basis in association ",
"with your organization's VMware license key(s). This ",
"information does not personally identify any individual. ",
"",
"Additional information regarding the data collected ",
"through CEIP and the purposes for which it is used by ",
"VMware is set forth in the Trust & Assurance Center at ",
"http://www.vmware.com/trustvmware/ceip.html . If you ",
"prefer not to participate in VMware's CEIP for this ",
"product, you should disable CEIP by setting ",
"'ceip_enabled': false. You may join or leave VMware's ",
"CEIP for this product at any time. Please confirm your ",
"acknowledgement by passing in the parameter ",
"--acknowledge-ceip in the command line.",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
]
},
"settings": {
"ceip_enabled": false
}
}
}
3. jsonファイルの検証
jsonファイルを作成したら、いよいよvcsa-deploy.exe
を使ってデプロイを開始するのだが、事前にjsonファイルが問題なく使用できることの検証を行うため、--verify-template-only
オプションを付けて実行する。
以下は特に問題ないパターンとなり、この場合はエラーメッセージ等が表示されない。
PS E:\vcsa-cli-installer\win32> .\vcsa-deploy.exe install --verify-template-only C:\work\embedded_vCSA_on_ESXi.json
Run the installer with "-v" or "--verbose" to log detailed information
Updating log file location, copying 'C:\Users\admin\AppData\Local\Temp\2\vcsaCliInstaller-2021-04-17-06-42-9_zd5v3_\vcsa-cli-installer.log' to desired location as a backup: 'C:\Users\admin\AppData\Local\Temp\2\vcsaCliInstaller-2021-04-17-06-42-9_zd5v3_\workflow_1618641760183\vcsa-cli-installer.log.bak'
Workflow log-dir
C:\Users\admin\AppData\Local\Temp\2\vcsaCliInstaller-2021-04-17-06-42-9_zd5v3_\workflow_1618641760183
====== [START] Start executing Task: To validate CLI options at 06:42:40 ======
Command line arguments verfied.
~(中略)~
Template verification completed.
=================================== 06:42:41 ===================================
Result and Log File Information...
WorkFlow log directory:
C:\Users\admin\AppData\Local\Temp\2\vcsaCliInstaller-2021-04-17-06-42-9_zd5v3_\workflow_1618641760183
以下は問題があるパターンとなり、[FAILED]
というエラーメッセージが表示されることが確認できる。この場合は、メッセージを確認し、jsonファイルを修正する。
※今回の場合は、IPアドレス表記が192.168.11.170a
となっていることが問題となるので、正しいIPアドレス表記に修正すればよい。
PS E:\vcsa-cli-installer\win32> .\vcsa-deploy.exe install --verify-template-only C:\work\embedded_vCSA_replication_on_ESXi.json
Run the installer with "-v" or "--verbose" to log detailed information
~(中略)~
The value '192.168.11.170a' of the key 'ip' in section 'new_vcsa', subsection
'network' is invalid. Correct the value and rerun the script.
================ [FAILED] Task: StructureValidationTask: Executing Template
Structure Validation task execution failed at 01:43:52 ================
================================================================================
Error message: Template structure validation failed for template
C:\work\embedded_vCSA_replication_on_ESXi.json.
=================================== 01:43:52 ===================================
Result and Log File Information...
WorkFlow log directory:
C:\Users\admin\AppData\Local\Temp\2\vcsaCliInstaller-2021-04-18-01-43-p6b7cz36\workflow_1618710232162
4. vCSAの自動デプロイ
検証が終わったらvcsa-deploy.exe
を実行する。この際に、以下のようにライセンス規約への合意を行う--accept-eula
オプションと、ESXiなどのSSL証明書の検証をスキップする--no-ssl-certificate-verification
を付与する。
.\vcsa-deploy.exe install --accept-eula --no-ssl-certificate-verification [jsonファイルのフルパス]
以下が実際の実行結果となる。処理内容が分かりやすくなるよう、▼箇所でコメントを記載した。
PS E:\vcsa-cli-installer\win32> .\vcsa-deploy.exe install --accept-eula --no-ssl-certificate-verification C:\work\embedded_vCSA_on_ESXi.json
Run the installer with "-v" or "--verbose" to log detailed information
~(中略)~
▼jsonファイルの検証
====== [START] Start executing Task: To validate CLI options at 06:46:18 ======
Command line arguments verfied.
~(中略)~
▼デプロイ前のチェック (ESXiの確認やvCSAに割り当てるIPアドレス・FQDNのPingによる未使用確認等)
====== [START] Start executing Task: Perform precheck tasks. at 06:46:20 ======
▼OVF ToolにてvCSAのデプロイ
[START] Start executing Task: Invoke OVF Tool to deploy VCSA for installation,
upgrade, and migration at 06:46:36
OVF Tool: Opening OVA source:
E:\vcsa-cli-installer\win32\..\..\vcsa\VMware-vCenter-Server-Appliance-6.7.0.42000-15132721_OVF10.ova
OVF Tool: The manifest does not validate
OVF Tool: Opening VI target: vi://root@192.168.11.161:443/
OVF Tool: Deploying to VI: vi://root@192.168.11.161:443/
OVF Tool: Disk progress: 99%
OVF Tool: Transfer Completed
▼デプロイ後のvCSAのパワーオン
OVF Tool: Powering on VM: t1160vcsa
OVF Tool: Task progress: 0%
OVF Tool: Task Completed
OVF Tool: Waiting for IP address...
OVF Tool: Received IP address: 192.168.11.160
OVF Tool: Completed successfully
~(中略)~
▼vCSAデプロイ後のRPMインストール
==========VCSA Deployment Progress Report========== Task: Install
required RPMs for the appliance.(SUCCEEDED 100/100) - Task has completed
successfully. Task: Run firstboot scripts.(RUNNING 0/100) -
VCSA Deployment is still running
~(中略)~
▼デプロイ完了
Start Time:
2021-04-17T06:48:17.405Z VCSA Deployment End Time: 2021-04-17T06:55:56.287Z
[SUCCEEDED] Successfully executed Task 'MonitorDeploymentTask: Monitoring
Deployment' in TaskFlow 'embedded_vCSA_on_ESXi' at 06:56:07
Monitoring VCSA Deploy task completed
[START] Start executing Task: Provide the login information about new
appliance. at 06:56:08
Appliance Name: t1160vcsa
System Name: t1160vcsa.intrat.local
System IP: 192.168.11.160
Log in as: Administrator@vsphere.local
[SUCCEEDED] Successfully executed Task 'ApplianceLoginSummaryTask: Provide
appliance login information.' in TaskFlow 'embedded_vCSA_on_ESXi' at 06:56:08
=================================== 06:56:08 ===================================
Result and Log File Information...
WorkFlow log directory:
C:\Users\admin\AppData\Local\Temp\2\vcsaCliInstaller-2021-04-17-06-46-vypjg9ix\workflow_1618641978161
5. vCSAへのログイン確認
最後にデプロイ後のvCSAにログインできることを確認する。以下の通り問題なくログインすることが確認できた。
2台目のvCSAを拡張リンクモードで構築する手順
1. vCSAのサイズを確認
1台目と同様にvCSAのサイズを確認する。今回は検証用となるため、tiny
とする。
2. 設定情報を記述したjsonファイルを作成
「組み込みPSCのvCSA」を拡張リンクモードで構築する場合は、C:\work\embedded_vCSA_replication_on_ESXi.json
を利用する。主な設定内容は以下の通りとなる。★箇所だけがvCSA新規構築時との差異となる。
設定項目 |
設定内容 |
deployment_network |
vCSAが接続する標準仮想スイッチのポートグループ名を指定する。 |
datastore |
vCSAの仮想マシンを保存するデータストア名を指定する。 |
deployment_option |
vCSAのサイズを指定する。 |
ssh_enable |
vCSAのSSH接続可否を設定する。デフォルトfalse だが調査等で必要となることが多いのでtrue に変更する。 |
★first_instance |
拡張リンクモードとして既存ドメインに参加する場合は、false で設定する。 |
★replication_partner_hostname |
参加対象のドメインを持つPSC (1台目に構築したvCSA) のFQDNを指定する。 |
★sso_port |
通常は443を指定する。 |
ceip_enabled |
CEIPを有効にする特別な必要がなければfalse に変更する。 |
実際の記載内容は以下の通り。
{
"__version": "2.13.0",
"__comments": "Sample template to deploy a vCenter Server Appliance with an embedded Platform Services Controller on an ESXi host.",
"new_vcsa": {
"esxi": {
"hostname": "<デプロイ先のESXiのIPアドレス>",
"username": "root",
"password": "<rootのパスワード>",
"deployment_network": "VM Network",
"datastore": "datastore1"
},
"appliance": {
"__comments": [
"You must provide the 'deployment_option' key with a value, which will affect the VCSA's configuration parameters, such as the VCSA's number of vCPUs, the memory size, the storage size, and the maximum numbers of ESXi hosts and VMs which can be managed. For a list of acceptable values, run the supported deployment sizes help, i.e. vcsa-deploy --supported-deployment-sizes"
],
"thin_disk_mode": true,
"deployment_option": "tiny",
"name": "t1170vcsa"
},
"network": {
"ip_family": "ipv4",
"mode": "static",
"ip": "<vCSAのIPアドレス>",
"dns_servers": [
"<DNS#1のIPアドレス>", "<DNS#2のIPアドレス>"
],
"prefix": "<vCSAのIPアドレスのプレフィックス長>",
"gateway": "<vCSAのデフォルトゲートウェイ>",
"system_name": "<vCSAのFQDN>"
},
"os": {
"password": "<vCSAのrootのパスワード>",
"ntp_servers": "<NTPサーバのIPアドレス>",
"ssh_enable": true
},
"sso": {
"password": "<Administrator@vsphere.localのパスワード>",
"domain_name": "vsphere.local",
"first_instance": false,
"replication_partner_hostname": "t1170vcsa.intrat.local",
"sso_port": 443
}
},
"ceip": {
"description": {
"__comments": [
"++++VMware Customer Experience Improvement Program (CEIP)++++",
"VMware's Customer Experience Improvement Program (CEIP) ",
"provides VMware with information that enables VMware to ",
"improve its products and services, to fix problems, ",
"and to advise you on how best to deploy and use our ",
"products. As part of CEIP, VMware collects technical ",
"information about your organization's use of VMware ",
"products and services on a regular basis in association ",
"with your organization's VMware license key(s). This ",
"information does not personally identify any individual. ",
"",
"Additional information regarding the data collected ",
"through CEIP and the purposes for which it is used by ",
"VMware is set forth in the Trust & Assurance Center at ",
"http://www.vmware.com/trustvmware/ceip.html . If you ",
"prefer not to participate in VMware's CEIP for this ",
"product, you should disable CEIP by setting ",
"'ceip_enabled': false. You may join or leave VMware's ",
"CEIP for this product at any time. Please confirm your ",
"acknowledgement by passing in the parameter ",
"--acknowledge-ceip in the command line.",
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
]
},
"settings": {
"ceip_enabled": false
}
}
}
3. jsonファイルの検証
事前にjsonファイルが問題なく使用できることの検証を行うため、--verify-template-only
オプションを付けて実行する。
[FAILED]
といったエラーメッセージが表示されないことを確認すること。
PS C:\> cd E:\vcsa-cli-installer\win32
PS E:\vcsa-cli-installer\win32> .\vcsa-deploy.exe install --verify-template-only C:\work\embedded_vCSA_replication_on_ESXi.json
Run the installer with "-v" or "--verbose" to log detailed information
Updating log file location, copying 'C:\Users\admin\AppData\Local\Temp\2\vcsaCliInstaller-2021-04-17-21-37-gtde353a\vcsa-cli-installer.log' to desired location as a backup: 'C:\Users\admin\AppData\Local\Temp\2\vcsaCliInstaller-2021-04-17-21-37-gtde353a\workflow_1618695433862\vcsa-cli-installer.log.bak'
Workflow log-dir
C:\Users\admin\AppData\Local\Temp\2\vcsaCliInstaller-2021-04-17-21-37-gtde353a\workflow_1618695433862
====== [START] Start executing Task: To validate CLI options at 21:37:13 ======
Command line arguments verfied.
~(中略)~
Template verification completed.
=================================== 21:37:14 ===================================
Result and Log File Information...
WorkFlow log directory:
C:\Users\admin\AppData\Local\Temp\2\vcsaCliInstaller-2021-04-17-21-37-gtde353a\workflow_1618695433862
4. vCSAの自動デプロイ
検証が終わったらvcsa-deploy.exe
を実行する。この際に、以下のようにライセンス規約への合意を行う--accept-eula
オプションと、ESXiなどのSSL証明書の検証をスキップする--no-ssl-certificate-verification
を付与する。
.\vcsa-deploy.exe install --accept-eula --no-ssl-certificate-verification [jsonファイルのフルパス]
以下が実際の実行結果となる。処理内容が分かりやすくなるよう、▼箇所でコメントを記載した。
PS E:\vcsa-cli-installer\win32> .\vcsa-deploy.exe install --accept-eula --no-ssl-certificate-verification C:\work\embedded_vCSA_replication_on_ESXi.json
Run the installer with "-v" or "--verbose" to log detailed information
~(中略)~
▼jsonファイルの検証
====== [START] Start executing Task: To validate CLI options at 21:38:45 ======
~(中略)~
▼デプロイ前のチェック (ESXiの確認やvCSAに割り当てるIPアドレス・FQDNのPingによる未使用確認等)
====== [START] Start executing Task: Perform precheck tasks. at 21:38:47 ======
~(中略)~
▼OVF ToolにてvCSAのデプロイ
[START] Start executing Task: Invoke OVF Tool to deploy VCSA for installation,
upgrade, and migration at 21:39:03
OVF Tool: Opening OVA source:
E:\vcsa-cli-installer\win32\..\..\vcsa\VMware-vCenter-Server-Appliance-6.7.0.42000-15132721_OVF10.ova
OVF Tool: The manifest does not validate
OVF Tool: Opening VI target: vi://root@192.168.11.171:443/
OVF Tool: Deploying to VI: vi://root@192.168.11.171:443/
OVF Tool: Disk progress: 99%
OVF Tool: Transfer Completed
▼デプロイ後のvCSAのパワーオン
OVF Tool: Powering on VM: t1170vcsa
OVF Tool: Task progress: 0%
OVF Tool: Task Completed
OVF Tool: Waiting for IP address...
OVF Tool: Received IP address: 192.168.11.170
OVF Tool: Completed successfully
~(中略)~
▼vCSAデプロイ後のRPMインストール
==========VCSA Deployment Progress Report========== Task: Install
required RPMs for the appliance.(SUCCEEDED 100/100) - Task has completed
successfully. Task: Run firstboot scripts.(RUNNING 2/100) - Starting
VMware Authentication Framework...
VCSA Deployment is still running
~(中略)~
▼デプロイ完了
Start Time:
2021-04-17T21:41:09.182Z VCSA Deployment End Time: 2021-04-17T21:52:25.400Z
[SUCCEEDED] Successfully executed Task 'MonitorDeploymentTask: Monitoring
Deployment' in TaskFlow 'embedded_vCSA_replication_on_ESXi' at 21:52:29
Monitoring VCSA Deploy task completed
[START] Start executing Task: Provide the login information about new
appliance. at 21:52:29
Appliance Name: t1170vcsa
System Name: t1170vcsa.intrat.local
System IP: 192.168.11.170
Log in as: Administrator@vsphere.local
[SUCCEEDED] Successfully executed Task 'ApplianceLoginSummaryTask: Provide
appliance login information.' in TaskFlow 'embedded_vCSA_replication_on_ESXi' at
21:52:29
=================================== 21:52:30 ===================================
Result and Log File Information...
WorkFlow log directory:
C:\Users\admin\AppData\Local\Temp\2\vcsaCliInstaller-2021-04-17-21-38-1n2q7uh2\workflow_1618695525214
5. vCSAへのログイン確認
最後にデプロイ後のvCSAにログインできることを確認する。以下の通り問題なくログインすることが確認できた。
また、拡張リンクモードも問題なく構成されていることを確認することができた。
以上でCLIベースによるvCSAのインストールは完了となる。一度jsonファイルを作っておけば、次回vCSAを構築する際にもそのまま流用することができるため、検証目的などでvCSAを何度も構築する用途などにおいては非常に効率的で有用な手順となる。
参考