■vSphere CLI 5.5のインストール
ESXiをリモートからCLIで操作するvSphere CLIをCentOS6.4 ( 64bit ) にインストールします。まず以下のサイトからLinux版のインストーラーをダウンロードします。
https://my.vmware.com/jp/group/vmware/details?downloadGroup=VCLI550&productId=352
【 ファイル名 】 VMware-vSphere-CLI-5.5.0-1384587.x86_64.gz
ダウンロードしたファイルを解凍し、下記のようにしてインストーラを起動します。
# tar xzvf VMware-vSphere-CLI-5.5.0-1384587.x86_64.gz # cd vmware-vsphere-cli-distrib/ # ./vmware-install.pl Creating a new vSphere CLI installer database using the tar4 format. Installing vSphere CLI 5.5.0 build-1384587 for Linux. You must read and accept the vSphere CLI End User License Agreement to continue. Press enter to display it. |
Enterを押すとライセンスが表示されて全てを見終えるとAcceptするか聞かれますのでyesと応えます。続いてPerl Modulesについてもデフォルトのまま進めます。
Do you accept? (yes/no) yes Thank you. This vSphere CLI installer includes precompiled Perl modules for RHEL. Answering yes will install the precompiled modules, and answering no will install from CPAN. Do you want to install precompiled Perl modules for RHEL? [yes] Enter Openssl-devel is not installed on the system. openssl-devel 0.9.7 is required for encrypted connections. Please install openssl-devel version 0.9.7 or greater. |
openssl-develが必要だけど入ってないといわれていますのでyumからインストールを行います。
# yum install openssl-devel # rpm -qa | grep openssl openssl-1.0.0-27.el6_4.2.x86_64 openssl-devel-1.0.0-27.el6_4.2.x86_64 |
再度インストーラを起動すると次は以下のパッケージがインストールされていない、または古いといわれます。
The following Perl modules were found on the system but may be too old to work with vSphere CLI: Compress::Zlib 2.037 or newer Compress::Raw::Zlib 2.037 or newer version 0.78 or newer IO::Compress::Base 2.037 or newer IO::Compress::Zlib::Constants 2.037 or newer |
上記パッケージをCPANからインストールするため、まずperl-CPANのインストールを行います。
# yum install perl-CPAN # rpm -qa | grep perl-CPAN perl-CPAN-1.9402-131.el6_4.x86_64 |
次にCPANコマンドを使って指摘されたパッケージをインストールします。
# cpan Compress::Zlib # cpan Compress::Raw::Zlib # cpan version # cpan IO::Compress::Base # cpan IO::Compress::Zlib::Constants |
これで再度インストーラを起動すると以下のようにようやくインストールが成功しました。
The installation of vSphere CLI 5.5.0 build-1384587 for Linux completed successfully. You can decide to remove this software from your system at any time by invoking the following command: "/usr/bin/vmware-uninstall-vSphere-CLI.pl". This installer has successfully installed both vSphere CLI and the vSphere SDK for Perl. Enjoy, --the VMware team |
これで試しにESXiのホスト ( 192.168.12.200 ) の情報を取得しようと以下のコマンドを実行してみました。
# vicfg-hostops --server 192.168.12.200 --username root --operation info Enter password:[パスワード入力] Host Name : esxi1.unix-power.local Manufacturer : FUJITSU-SV Model : PRIMERGY Processor Type : Intel(R) Xeon(R) CPU E5420 @ 2.50GHz CPU Cores : 4 CPUs x 2493 GHz Memory Capacity : 6142.85546875 MB VMotion Enabled : no In Maintenance Mode : no Last Boot Time : 2013-11-28T11:34:58.528119Z |
無事成功しました。デフォルトの状態だとユーザ名およびパスワードを対話形式で指定しないといけません。個人的にはこれが面倒くさいので以下の環境変数を指定することでこれらを省略することが可能です。
環境変数名 | 内容 |
VI_USERNAME | –usernameで指定 |
VI_PASSWORD | –passwordで指定 |
また、環境変数を指定せずにファイルに登録しておく方法もあります。認証情報はデフォルトで /root/.vmware/credstore/vicredentials.xmlに保存されます。デフォルトだと何も登録されておりませんのでファイル自体が存在しません。
# cd /usr/lib/vmware-vcli/apps/general/ # ./credstore_admin.pl list Server User Name ERROR: File not found: /root/.vmware/credstore/vicredentials.xml. |
これに手動でESXiホストとユーザ名、パスワードを登録しておきます。
# ./credstore_admin.pl add -s 192.168.12.200 -u root -p xxxxxx New entry added successfully # ./credstore_admin.pl list Server User Name 192.168.12.200 root |
上記のようにすることでサーバを指定するだけでよくなりユーザ名やパスワードの入力の必要はなくなります。
# vicfg-hostops --server 192.168.12.200 --operation info Host Name : esxi1.unix-power.local Manufacturer : FUJITSU-SV Model : PRIMERGY Processor Type : Intel(R) Xeon(R) CPU E5420 @ 2.50GHz CPU Cores : 4 CPUs x 2493 GHz Memory Capacity : 6142.85546875 MB VMotion Enabled : no In Maintenance Mode : no Last Boot Time : 2013-11-28T11:34:58.528119Z |
また、vCenter Server の管理者情報を登録することで ESX/ESXi を一元管理することも可能です。
# ./credstore_admin.pl add -s [vCenter IP] -u root -p xxxxxx New entry added successfully # vicfg-hostops.pl --server <vcenterserver> -h <server> -o enter Host <server> entered into maintenance mode successfully. |
<注意>
–server で vCenter Server を指定した場合は、操作したい ESX/ESXi を –vihost(-h) で指定します
–vihost(-h) で ESX/ESXi を指定する際は vCenter Server に登録している名前 (IP アドレスやホスト名) で指定します
–vihost(-h) を使用しない場合は、vCenter Server 管理下のすべての ESX/ESXi が対象になります