2015年2月24日火曜日

VMware ESXi CU(CLI)I操作コマンド


【目的】
VMwareのハイパーバイザーとゲスト(仮想)OSを運用するために
最低限必要な操作を覚えておく.

ハイパーバイザー側で、SSHとESXi Shellを有効にし、
そこへSSHでログイン後、ESXi Shellを使う.
vSphere Clientはここでは扱わない.



【構成】
仮想マシンVMware ESXiのハイパーバイザー上に
ゲスト(仮想)OSを2台インストールしているものとする.

ハイパーバイザー   : server10
ゲスト1          : server11
ゲスト2          : server12

ハイパーバイザーserver10にSSHログインしシェルからコマンドを
発行できる状態にいることを前提として話を進める.
# ssh server10



【利用可能なコマンドの一覧の出力】
(ゲスト側)
# vim-cmd vmsvc

(ホスト側)
# vim-cmd hostsvc



【ゲストのID[Vmid]確認】
# vim-cmd vmsvc/getallvms
Vmid  Name      File          Guest OS               Version         Annotation
1     server11  [datastore1]  server11/server11.vmx  centos64Guest   vmx-08
2     server12  [datastore1]  server12/server12.vmx  centos64Guest   vmx-08

1カラム目がVmidである.
Annotationは仮想マシンのバージョンである.



【電源操作】
(ゲスト側)
電源の状態確認.
# vim-cmd vmsvc/power.getstate [Vmid]
Powered on

仮想マシンの電源オフ.
# vim-cmd vmsvc/power.off [Vmid]

仮想マシンの電源オン.
# vim-cmd vmsvc/power.on [Vmid] 


(ホスト側)
ホスト自体を停止する場合は、下の手順をとる必要がある.
①ゲストを全てシャットダウン
②ホストをメンテナンスモードに移行
③ホストの停止
起動はこの逆である.


①ゲストを全てシャットダウン
省略.

②ホストをメンテナンスモードに移行
メンテナンスモードの状態確認(Enabledがメンテナンスができる状態である).
# esxcli system maintenanceMode get
Disabled
 
メンテナンスモードへの移行.
# esxcli system maintenanceMode set --enable=true
解除時はtrueをfalseにする(ホストの起動後には戻すこと).
-e true と指示を出してもよい.

③ホストの停止
停止.
# esxcli system shutdown poweroff -r [コメント(必須)]

再起動
# esxcli system shutdown reboot -r [コメント(必須)]



【ハイパ―バイザーのディスク容量確認】
linuxで使うようなコマンドが利用できる.

# df -h
Filesystem   Size   Used Available Use% Mounted on
VMFS-5       1.1T 991.8G    118.2G  89% /vmfs/volumes/datastore1
vfat         4.0G  13.8M      4.0G   0% /vmfs/volumes/5458c23d-93756f1e-2fdc-40a8f02cbb04
vfat       249.7M 176.5M     73.2M  71% /vmfs/volumes/e5a15673-d8ec8065-884c-3744e3282dfe
vfat       249.7M   8.0K    249.7M   0% /vmfs/volumes/666a3e7d-311f17a5-6f72-d483246179ff
vfat       285.8M 192.6M     93.2M  67% /vmfs/volumes/5458c236-49d94e6c-955e-40a8f02cbb04


VMFSにゲスト、スナップショットなどが作成される.
/vmfs/volumes/datastore1/[該当仮想マシン名]/

各vfatの領域がそれぞれのゲストではない.
例えば、/var/tmp/の実ディレクトリはここである.
/vmfs/volumes/5458c23d-93756f1e-2fdc-40a8f02cbb04/var/tmp



【vmの統計情報】
linuxでいうところのtopコマンドのような出力を出すことができる.
各カラムの見方はマニュアルの通りである.
# esxtop -a

ファイルに出力する場合は以下のようにすればよい.
定期的にtopが出力する結果を10回分保存する.
# esxtop -n 10 -b > /var/tmp/output.txt

-b : Batch mode
-n : Number of iterations limit
※topと使い方も同じなので詳細はman topで確認すること.



【ゲストのスナップショット操作】
設定次第だが、ディフォルトでは以下に作成される.
/vmfs/volumes/datastore1/[該当仮想マシン名]/

スナップショットの作成.
# vim-cmd vmsvc/snapshot.create [Vmid] [スナップショット名]

スナップショット名、スナップショットIDの確認.
# vim-cmd vmsvc/snapshot.get [Vmid]

該当スナップショット状態への移動.
# vim-cmd vmsvc/snapshot.revert [Vmid] [スナップショットID]



【一般的な各種設定、また起動方法、設定確認】
(ntpd)
# vi /etc/ntp.conf
# /etc/init.d/ntpd restart

(sshd)
# vi /etc/ssh/sshd_config
# /etc/init.d/sshd restart

(snmp, snmptrap)
# vi /etc/vmware/snmp.xml
# /etc/init.d/snmpd restart
# esxcli system snmp get

(loglotate)
# vi /etc/vmsyslog.conf
# esxcli system syslog config get



【ハードウェアのステータス確認】
# vim-cmd hostsvc/hostsummary | grep -i key



【ハイパ―バイザーのログ確認】
この配下にsyslogなどが保存される.
# ls /scratch/log/syslog.log



【HW(ハードウェア)との連携】
HPサーバを利用している場合
ESXi用のいくつかコマンドが使用可能となる.
# /opt/hp/tools/hponcfg --help
(参考)
HP VMware Utilities User Guide


また、Gen8以降のサーバを使っていれば、 
Agentless Management Service(AMS)が利用可能となる.
ホストOSがないハイパーバイザーを使う状況でも
ハードウェアコアコンポーネントの監視やアラートを管理できるようになる.
(参考)
Agentless Management Service (AMS) のインストール方法
HP Agentless Management の概要



【VMware Toolsの導入】
本記事内では、VmWare vSphere Clientを使わないことを前提としていたが、
ハイパーバイザーのsshサーバが突然ダウンするという事態に見舞われた.
22/tcpが利用不可となっても、443/tcpポートが開いているため、
そこからVmWareを管理できるかと思ったがブラウザ経由で触ることはできなかった.
VmWare vSphere Clientからしか操作はできない.

こういった事態への備えとしてVmWare vSphere Clientも用意しておいたほうがいい.
ただ、そのクライアントがあっても、VMware Toolsがゲスト側になければ
電源の上げ下げすらできない.
VMWareを使うのだればゲストへ事前に導入しておくべきだろう.

# cd /usr/local/src/

# wget http://packages.vmware.com/tools/keys/VMWARE-PACKAGING-GPG-RSA-KEY.pub
※Red Hat系64bitを想定している

# rpm --import VMWARE-PACKAGING-GPG-RSA-KEY.pub

# vi /etc/yum.repos.d/vmware-tools.repo
[vmware-tools]
name=VMware Tools for CentOS (or OEL) $releasever - $basearch
baseurl=http://packages.vmware.com/tools/esx/5.0u2/rhel6/x86_64
enabled=1
gpgcheck=1
gpgkey=file:///srv/crypto/VMWARE-PACKAGING-GPG-RSA-KEY.pub

(ゲストOSがGUIを利用している場合)
# yum install vmware-tools-esx

(ゲストOSがGUIを利用していない場合)
# yum install vmware-tools-esx-nox

最後に起動する.
# /etc/init.d/vmware-tools-services start



(関連)
KVMの利用手順