Skip to content

ovftool の基本的な使い方

以前に Linux に ovftool をインストールする というメモを書きました。 今回、改めて ovftool のインストール方法や基本的な使い方をメモしておきます。 尚、今回は Rocky Linux8 上での利用を前提とし、サンプルとして vBond の OVA ファイルをデプロイするものとします。

ovftool のインストール

ovftool は libnsl に依存している為、事前に libnsl をインストールしておきます。 また、仮想環境でインストールする場合は open-vm-tools がインストールされていないとインストーラが起動しなかった為、open-vm-tools もインストールしておきます (もしかすると /etc/vmware が作成されていれば open-vm-tools が無くてもインストール可能かもしれませんが、試していません)。

1
dnf install -y libnsl open-vm-tools

ovftool のインストーラに実行権限を付与し、インストールします。 通常であればライセンス条項への同意を求められますが、--eulas-agreed オプションを付与するとライセンス条項には同意したものとみなされ、インストール中に確認を求められなくなります。

1
2
chmod +x VMware-ovftool-4.4.1-16812187-lin.x86_64.bundle
./VMware-ovftool-4.4.1-16812187-lin.x86_64.bundle --eulas-agreed

OVA ファイルをデプロイする

OVA ファイルをデプロイする際、「ESXi 上に直接、デプロイするか」「vCenter 経由でデプロイするか」で指定方法がやや変わります。

ESXi 上にデプロイする場合

ESXi (10.0.0.101) 上に直接、OVA ファイルをデプロイする場合は以下のように実行します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
ovftool \
  --noSSLVerify \
  --name='vBond' \
  --datastore='datastore1' \
  --diskMode='thin' \
  --net:'VM Network'='VM Network' \
  --net:'VM Network 1'='VM Network' \
  --net:'VM Network 2'='VM Network' \
  --net:'VM Network 3'='VM Network' \
  ./viptela-edge-20.6.1-genericx86-64.ova \
  vi://USERNAME:PASSWORD@10.0.0.101/ 

vCenter 経由でデプロイする場合

vCenter (10.0.0.100) 経由で ESXi (10.0.0.101) 上に OVA ファイルをデプロイする場合は以下のように実行します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
ovftool \
  --noSSLVerify \
  --name='vBond' \
  --datastore='datastore1' \
  --diskMode='thin' \
  --net:'VM Network'='VM Network' \
  --net:'VM Network 1'='VM Network' \
  --net:'VM Network 2'='VM Network' \
  --net:'VM Network 3'='VM Network' \
  ./viptela-edge-20.6.1-genericx86-64.ova \
  vi://USERNAME:PASSWORD@10.0.0.100/?ip=10.0.0.101

パラメータを環境変数で指定する

連続して OVA ファイルをデプロイしたい場合などは「vCenter のアドレス」「ESXi のアドレス」「ユーザ名」「パスワード」などのパラメータを環境変数として定義しておくと便利です。 まず、以下のように各種パラメータを環境変数として定義します。

1
2
3
4
export VI_ADDR='10.0.0.100'
export VI_ESXI='10.0.0.101'
export VI_USER='administrator@vsphere.local'
export VI_PASS='password'

必要なパラメータを定義出来ましたので ovftool を実行します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
ovftool \
  --noSSLVerify \
  --name='vBond' \
  --datastore='datastore1' \
  --diskMode='thin' \
  --net:'VM Network'='VM Network' \
  --net:'VM Network 1'='VM Network' \
  --net:'VM Network 2'='VM Network' \
  --net:'VM Network 3'='VM Network' \
  ./viptela-edge-20.6.1-genericx86-64.ova \
  vi://"${VI_USER}":"${VI_PASS}"@${VI_ADDR}/?ip=${VI_ESXI}

デプロイ後に配置するフォルダを指定する

OVA ファイルのデプロイ後、仮想マシンを配置するフォルダを指定するには ovftool に `--vmFolder='FOLDER' オプションを指定します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
ovftool \
  --noSSLVerify \
  --name='vBond' \
  --datastore='datastore1' \
  --diskMode='thin' \
  --net:'VM Network'='VM Network' \
  --net:'VM Network 1'='VM Network' \
  --net:'VM Network 2'='VM Network' \
  --net:'VM Network 3'='VM Network' \
  --vmFolder='Folder1' \
  ./viptela-edge-20.6.1-genericx86-64.ova \
  vi://"${VI_USER}":"${VI_PASS}"@${VI_ADDR}/?ip=${VI_ESXI}

デプロイ後に仮想マシンをパワーオンする

OVA ファイルのデプロイ後、デフォルトで仮想マシンはパワーオフ状態です。 デプロイが完了したら自動的にパワーオンするには ovftool に --powerOn オプションを指定します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
ovftool \
  --noSSLVerify \
  --name='vBond' \
  --datastore='datastore1' \
  --diskMode='thin' \
  --net:'VM Network'='VM Network' \
  --net:'VM Network 1'='VM Network' \
  --net:'VM Network 2'='VM Network' \
  --net:'VM Network 3'='VM Network' \
  --powerOn \
  ./viptela-edge-20.6.1-genericx86-64.ova \
  vi://"${VI_USER}":"${VI_PASS}"@${VI_ADDR}/?ip=${VI_ESXI}