VMware ESXi vSphere CLIのインストール

スポンサーリンク

■VMware vSphere CLIのインストール


ESXiをリモートからCLIで操作するvSphere CLIをCentOS6.3にインストールします。下記のサイトからLinux版のインストーラファイルをダウンロードします。


https://my.vmware.com/jp/group/vmware/details?downloadGroup=VSP510-VCLI-510&productId=285
【 ファイル名 】 VMware-vSphere-CLI-5.1.0-780721.i386.gz


下記のようにインストール作業を行います。デフォルトの状態ですとhttp_proxyおよびftp_proxy変数が設定されてないとエラーがでて先に進めませんのでインストーラを編集してエラーがデないように編集します。

# tar xvzf VMware-vSphere-CLI-5.1.0-780721.i386.gz
# cd vmware-vsphere-cli-distrib
# vi vmware-install.pl
 [2488/2489行目をコメントアウトします]

      if ( !( $ftpproxy && $httpproxy)) {
           #uninstall_file($gInstallerMainDB);
           #exit 1;
         }

# ./vmware-install.pl


ライセンスが表示されてAcceptするか聞かれますのでyesと応えます。

Do you accept? (yes/no) yes

Thank you.

http_proxy not set. please set environment variable 'http_proxy' e.g. export
http_proxy=http://myproxy.mydomain.com:0000 .

ftp_proxy not set. please set environment variable 'ftp_proxy' e.g. export
ftp_proxy=http://myproxy.mydomain.com:0000 .

Please wait while configuring CPAN ...

Please wait while configuring perl modules using CPAN ...

CPAN is downloading and installing pre-requisite Perl module "Archive::Zip" .

CPAN is downloading and installing pre-requisite Perl module
"Class::MethodMaker" .

CPAN is downloading and installing pre-requisite Perl module "UUID" .

CPAN is downloading and installing pre-requisite Perl module "Data::Dump" .

CPAN is downloading and installing pre-requisite Perl module "SOAP::Lite" .

CPAN is downloading and installing pre-requisite Perl module "XML::SAX" .

CPAN is downloading and installing pre-requisite Perl module
"XML::NamespaceSupport" .

CPAN is downloading and installing pre-requisite Perl module
"XML::LibXML::Common" .

CPAN is downloading and installing pre-requisite Perl module "XML::LibXML" .

CPAN not able to install following Perl modules on the system. These must be
installed manually for use by vSphere CLI:

UUID 0.03 or newer
XML::LibXML::Common 0.13 or newer
XML::LibXML 1.63 or newer


上記3つのモジュールが自動でインストールできなかったので手動でインストールしてください、とでてきました。こ れは依存関係のためインストールにエラーが生じました。以下の2つをインストールすれば解消されました。

# yum install libuuid-devel
# yum install libxml2-devel
# ./vmware-install.pl
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
LWP::Protocol::https 5.805 or newer

Enjoy,

--the VMware team


インストール自体は成功したものの上記ライブラリが古いといわれたので手動インストールを実施します。

# cpan Compress::Zlib
# cpan Compress::Raw::Zlib
# cpan version
# cpan IO::Compress::Base
# cpan IO::Compress::Zlib::Constants
# cpan LWP::Protocol::https


これで試しにESXiののホスト情報を取得しようとしたところ以下のエラーが表示されました。

# vicfg-hostops --server 192.168.1.160 --username root --operation info
Enter password:
Server version unavailable at 'https://192.168.1.160:443/sdk/vimService.wsdl' \
at /usr/share/perl5/VMware/VICommon.pm line 545, <STDIN> line 1.


調べた所、以下のコマンドで回避されました。

# export PERL_LWP_SSL_VERIFY_HOSTNAME=0


また、デフォルトの状態だとユーザ名およびパスワードを対話形式で指定しないといけません。個人的にはこれが面倒くさいので以下の環境変数を指定することでこれらを省略することが可能です。

環境変数名 内容
VI_USERNAME –usernameで指定
VI_PASSWORD –passwordで指定


上記を設定しておけばコマンドで明示的にusernameや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.
認証情報を登録するファイルが作成されていないのでエラーが出力されます

# ./credstore_admin.pl add -s [ESXi IP] -u root -p xxxxxx
New entry added successfully
# ./credstore_admin.pl list
Server       User Name
192.168.1.160 root


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 が対象になります

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする