OVF Tool とは
OVF のエクスポートやデプロイを CLI から行うツールで、
Windows / Mac / Linux 版が配布されており、 My VMware より無償で入手できる。
https://www.vmware.com/support/developer/ovf/
Linux(CLI) 環境での作業が多い自分としては欠かせないツールの一つ。
これの使い方アレコレで色々書けるが、その前に実行バイナリの配備についてのネタ。
Installation...
OVF Tool ですが、配布が上記の公式サイトのみでインストーラ形式での配布となっている。
※ Linux の .bundle は 500 行程度のシェルスクリプトヘッダ + アーカイブ?のバイナリ。
offset 計算とかして切り出して実行とかやっているっぽい。
で、このインストールが root 権限を求めてきたり…
% ./VMware-ovftool-4.3.0-7948156-lin.x86_64.bundle --console Extracting VMware Installer...done. root access is required for the operations you have chosen.
/usr/bin
や/usr/lib
下にインストールを行ったり…
% sudo ./VMware-ovftool-4.3.0-7948156-lin.x86_64.bundle --console --eulas-agreed Extracting VMware Installer...done. The product is ready to be installed. Press Enter to begin installation or Ctrl-C to cancel. Installing VMware OVF Tool component for Linux 4.3.0 Configuring... [######################################################################] 100% Installation was successful. % sudo find /* -name "*ovftool*" /etc/vmware-installer/components/vmware-ovftool /etc/vmware-installer/components/vmware-ovftool/4.3.0/vmware-ovftool.pyc /etc/vmware-installer/components/vmware-ovftool/4.3.0/vmware-ovftool.py /usr/lib/vmware-ovftool /usr/lib/vmware-ovftool/ovftool /usr/lib/vmware-ovftool/ovftool.bin /usr/lib/vmware-ovftool/env/ovftool-hw14-config-option.xml /usr/lib/vmware-ovftool/env/ovftool-hw11-config-option.xml /usr/lib/vmware-ovftool/env/ovftool-hw8-config-option.xml /usr/lib/vmware-ovftool/env/ovftool-hw12-config-option.xml /usr/lib/vmware-ovftool/env/ovftool-hw4-config-option.xml /usr/lib/vmware-ovftool/env/ovftool-hw7-config-option.xml /usr/lib/vmware-ovftool/env/ovftool-hw3-config-option.xml /usr/lib/vmware-ovftool/env/ovftool-hw10-config-option.xml /usr/lib/vmware-ovftool/env/en/ovftool.vmsg /usr/lib/vmware-ovftool/env/en/ovftool-warning.vmsg /usr/lib/vmware-ovftool/env/ovftool-hw9-config-option.xml /usr/lib/vmware-ovftool/env/ovftool-hw13-config-option.xml /usr/bin/ovftool
rpm
やdeb
では無く、vmware-installer
という個別のパッケージ管理(?)だったり…
どうしても環境を汚してしまう一品。
一応インストール先は-p
オプションで指定できるが、
vmware-installer
の残骸周りを/etc
の下に残してしまう。
本当に必要なもの
インストーラでどうのこのと仰々しいが、実は本当に必要なものは
/usr/lib/vmware-ovftool
下一式のみ。
なので、実はそこだけ持っていけば動く。
試しにインストールしたホストとは違うホストへscp
する。
% scp -r user@InstalledHost:/usr/lib/vmware-ovftool ./
動作確認として Photon OS の OVA をデプロイしてみる。
% vmware-ovftool/ovftool -ds=datastore-hdd -dm=thin -nw="None=VM Network" -n="Photon01" --powerOn --noSSLVerify --acceptAllEulas photon-hw11-3.0-26156e2.ova vi://administrator@vsphere.local:hogehoge@192.168.0.50/home01/host/cls01/192.168.0.51 Opening OVA source: photon-hw11-3.0-26156e2.ova The manifest validates Source is signed and the certificate validates Opening VI target: vi://administrator%40vsphere.local@192.168.0.50:443/home01/host/cls01/192.168.0.51 Deploying to VI: vi://administrator%40vsphere.local@192.168.0.50:443/home01/host/cls01/192.168.0.51 Transfer Completed Powering on VM: Photon01 Task Completed Completed successfully
問題なくデプロイまで完了。
どこかのホストにインストールだけして、そこから抜き出せばいい感じ。
Windows 版は…
これもインストール自体は求められるが、同じ要領でいけそうか?
手元に Windows 環境複数は無いので、ひとまず違う場所にコピーしてみる。
C:\>XCOPY "C:\Program Files\VMware\VMware OVF Tool" "D:\VMware OVF Tool" /s D:\VMware OVF Tool は受け側のファイル名ですか、 またはディレクトリ名ですか (F= ファイル、D= ディレクトリ)? D VMware OVF Tool\expat.dll VMware OVF Tool\googleurl.dll VMware OVF Tool\icudt58.dll VMware OVF Tool\icuuc58.dll VMware OVF Tool\libcurl.dll VMware OVF Tool\libeay32.dll VMware OVF Tool\open_source_licenses.txt VMware OVF Tool\ovftool.exe VMware OVF Tool\README.txt VMware OVF Tool\ssleay32.dll VMware OVF Tool\ssoclient.dll VMware OVF Tool\vim-types.dll VMware OVF Tool\vmacore.dll VMware OVF Tool\vmomi.dll VMware OVF Tool\vmware-eula.rtf VMware OVF Tool\vmware.eula VMware OVF Tool\xerces-c_3_1.dll VMware OVF Tool\zlib1.dll VMware OVF Tool\env\defloc.vlcl VMware OVF Tool\env\iso2psx.vlcl VMware OVF Tool\env\iso2win.vlcl VMware OVF Tool\env\isodata.vlcl VMware OVF Tool\env\loc2iso.vlcl VMware OVF Tool\env\ovftool-hw10-config-option.xml VMware OVF Tool\env\ovftool-hw11-config-option.xml VMware OVF Tool\env\ovftool-hw12-config-option.xml VMware OVF Tool\env\ovftool-hw13-config-option.xml VMware OVF Tool\env\ovftool-hw14-config-option.xml VMware OVF Tool\env\ovftool-hw3-config-option.xml VMware OVF Tool\env\ovftool-hw4-config-option.xml VMware OVF Tool\env\ovftool-hw7-config-option.xml VMware OVF Tool\env\ovftool-hw8-config-option.xml VMware OVF Tool\env\ovftool-hw9-config-option.xml VMware OVF Tool\env\en\action.vmsg VMware OVF Tool\env\en\alarm.vmsg VMware OVF Tool\env\en\auth.vmsg VMware OVF Tool\env\en\cluster.vmsg VMware OVF Tool\env\en\default.vmsg VMware OVF Tool\env\en\enum.vmsg VMware OVF Tool\env\en\evc.vmsg VMware OVF Tool\env\en\event.vmsg VMware OVF Tool\env\en\eventaux.vmsg VMware OVF Tool\env\en\fault.vmsg VMware OVF Tool\env\en\gos.vmsg VMware OVF Tool\env\en\host.vmsg VMware OVF Tool\env\en\locmsg.vmsg VMware OVF Tool\env\en\option.vmsg VMware OVF Tool\env\en\ovftool-warning.vmsg VMware OVF Tool\env\en\ovftool.vmsg VMware OVF Tool\env\en\perf.vmsg VMware OVF Tool\env\en\question.vmsg VMware OVF Tool\env\en\stask.vmsg VMware OVF Tool\env\en\task.vmsg VMware OVF Tool\env\en\vm.vmsg VMware OVF Tool\schemas\DMTF\CIM_ResourceAllocationSettingData.xsd VMware OVF Tool\schemas\DMTF\CIM_VirtualSystemSettingData.xsd VMware OVF Tool\schemas\DMTF\common.xsd VMware OVF Tool\schemas\DMTF\dsp8023.xsd VMware OVF Tool\schemas\DMTF\dsp8027.xsd VMware OVF Tool\schemas\DMTF\xml.xsd VMware OVF Tool\schemas\vmware\ovf-vmware.xsd VMware OVF Tool\schemas\vmware\ovfenv-vmware.xsd 62 個のファイルをコピーしました
コピー終わったら元の本体はアンインスール。
再び OVA デプロイ実験。
D:\VMware OVF Tool>ovftool.exe -ds="datastore-hdd" -dm=Thin -nw="None=VM Network" -n="Photon02" --powerOn --noSSLVerify --acceptAllEulas D:\photon-hw11-3.0-26156e2.ova vi://administrator@vsphere.local:hogehoge@192.168.0.50/home01/host/cls01/192.168.0.51 Opening OVA source: D:\photon-hw11-3.0-26156e2.ova The manifest validates Source is signed and the certificate validates Opening VI target: vi://administrator%40vsphere.local@192.168.0.50:443/home01/host/cls01/192.168.0.51 Deploying to VI: vi://administrator%40vsphere.local@192.168.0.50:443/home01/host/cls01/192.168.0.51 Transfer Completed Powering on VM: Photon02 Task Completed Completed successfully
いける。
こちらもどこかの Windows を犠牲にインストール先ディレクトリだけ持っていけば良さげ。
Mac版
試せる環境ないので割愛。
Linux 版と同じ感じでいけそうな気はする。
邪道?な技
実はわざわざどこかにインストールとかしなくても入手する方法がある。
それは vCenter Server Appliance 6.0 の ISO イメージ。
% sudo mount -t iso9660 -o loop /tmp/VMware-VCSA-all-6.0.0-9451619.iso /mnt/cdrom mount: /mnt/cdrom: WARNING: device write-protected, mounted read-only. % find /mnt/cdrom/vcsa-cli-installer/ -name ovftool ./lin64/ovftool ./lin64/ovftool/ovftool ./mac/VMware OVF Tool/ovftool ./win32/ovftool
vCSA の VM が OVA デプロイ。
そのデプロイ用の OVF Tool がディレクトリで存在しているので、
これを抜き出してもそのまま使える。
残念ながら vCSA 6.5 以降はvcsa-deploy
のバイナリの中に統合された?らしく、
OVF Tool の一式は無くなっている。