今回は、VMware Cloud Foundation(VCF)の初期構築で利用する Cloud Builder をリセットしてみます。
VCF の Cloud Builder の再利用について
VCF による SDDC デプロイ(Bringup)では、Cloud Builder という仮想アプライアンスを利用します。下記のような Web UI から、Management Domain にあたる vSphere / vSAN / NSX や、それらを管理する SDDC Manager の仮想アプライアンスをデプロイします。
この Cloud Builder の Web UI では、いちど VCF の SDDC をデプロイすると、そのままでは再利用できないようです。すでに SDDC をデプロイすると、再度「DEPLOY SDDC」ボタンをクリックしても下記のようにエラーになってしまいます。
しかし、Cloud Builder は 30GB 近い容量があるので、ラボ環境などで何度もデプロイするには不便です。KB でリセット手順が公開されているので、VCF 5.1 Cloud Builder で実行する方法を紹介します。
- How To Reset VMware Cloud Builder to Rerun Bringup for Cloud Foundation (75172)
https://kb.vmware.com/s/article/75172
Cloud Builder リセット
まず、Cloud Builder に SSH でログインします。
- ssh コマンド、もしくは Tera Term などを利用します。
- admin ユーザでログインできます。パスワードは、Cloud Builder の OVA ファイルをデプロイした際に指定したものです。
$ ssh admin@<Cloud Builder の IP アドレス>
sudo で直接 psql コマンドを実行できなそうだったので、su コマンドで root にスイッチします。
- root ユーザのパスワードは、Cloud Builder の OVA ファイルをデプロイした際に指定したものです。
$ su -
psql コマンドで bringup データベースに接続して、SQL でレコードを削除します。VCF 5.1 の場合は、競合する psql コマンドを実行しないようにフルパス(/usr/pgsql/13/bin/psql)で指定します。
Resource テーブルはあえて 大文字/小文字 が含まれるテーブル名になっているので、ダブル クォーテーションで囲む必要があります。
/usr/pgsql/13/bin/psql -U postgres -d bringup -h localhost
delete from execution;
delete from "Resource";
\q
この一連のコマンドを実際に実行すると、下記のように psql のプロンプト「bringup=#」で対話的に実行することになります。
root@cloud-builder-vm [ ~ ]# /usr/pgsql/13/bin/psql -U postgres -d bringup -h localhost psql (13.12) Type "help" for help. bringup=# bringup=# delete from execution; DELETE 2 bringup=# delete from "Resource"; DELETE 0 bringup=# bringup=# \q root@cloud-builder-vm [ ~ ]#
ちなみに SQL コマンドの都度入力が面倒であれば、psql の「-c」オプションにより、下記のようにワンライナーでも実行できます。
/usr/pgsql/13/bin/psql -U postgres -d bringup -h localhost -c 'delete from execution; delete from "Resource";'
これで、Cloud Builder の Web UI で「DEPLOY SDDC」ボタンの先に進めるようになります。
別案
この SQL 実行が面倒であれば、Cloud Builder の OVA ファイルをデプロイした時点で仮想マシン スナップショットを取得しておき、都度そのスナップショットに戻すというラボ運用でもよいかなと思います。
以上、VCF の Cloud Builder をリセットする話でした。