VMware ESXiは、仮想化に特化したOSだ。ホストマシンで起動するのは、ハイパーバイザのみの非常に小さいもので、制御は別のマシンから行う。
より具体的には、「ESXiって何だ?」を参照。
以下のURLからダウンロードする。登録したメールアドレスに、ライセンス情報をみるためのURLが送られてくるので、有効なアドレスを登録する必要がある。
http://www.vmware.com/go/getesxi
ゲストOSにopen-vm-toolsをインストールすることで、ホストOSからシャットダウンの要求を受けたりすることができるようになる。
以下のようにすればパッケージでインストールできるが、たいていは古いバージョンになるので、ソースからインストールした方が良い。
# apt-get install open-vm-tools
パッケージとして用意されているVMtool(open-vm-tools)は少し古い。
そこで、ESXiに用意されているクライアントプログラムをインストールする。
# mount /dev/cdrom /mnt/
# tar xzf /mnt/VMwareTools-*.tar.gz
# umount /mnt/
# apt-get install make gcc linux-headers-2.6-amd64
# cd ./vmware-tools-distrib # ./vmware-install.pl -prefix=/opt/vmware-tools
# apt-get purge make gcc linux-headers-2.6-amd64 # apt-get autoremove --purge
sshでVMホストにログインして、コマンドからいろいろな操作をする。
コマンド | 意味 |
---|---|
vim-cmd help | VMゲストに対して行うコマンドの説明を表示(5.0では表示できなかった) |
vim-cmd vmsvc/getallvms | VMゲスト一覧の表示 |
vim-cmd vmsvc/power.getstate <VMID> | VMゲストの電源の状態を表示 |
vim-cmd vmsvc/power.shutdown <VMID> | VMゲストにシャットダウン要求(vmware-toolsがインストールされていないとエラー) |
vim-cmd vmsvc/power.off <VMID> | VMゲストの電源を強制的に切る |
vim-cmd vmsvc/power.on <VMID> | VMゲストの電源を入れる |
管理ツール上から停止コマンドを受け付けなくなった(メニューが選択不可など)ときは、ゲストVM用プロセスを強制終了させる。
コンソールでログインした後、目的のゲスト名で検索し、対象プロセスのCID(左から二つ目の数値)を指定して終了させる。
# ps|grep guest01 11455521 vmm0:guest01 11453475 11449376 vmx-vthread-4:guest01 /bin/vmx 11455524 11449376 vmx-mks:guest01 /bin/vmx 11455525 11449376 vmx-vcpu-0:guest01 /bin/vmx # kill 11449376
※終了中に止まったままになっている場合は、これより少ないかもしれない。
# esxcli software sources profile list -d <アップロードしたパス>/xxxxxxxxx.zip
# esxcli software profile update -d <アップロードしたパス>/xxxxxxxxx.zip -p ESXi-x.x.x-00000000000-standardしばらく後、以下のようなメッセージが出るこをを確認する。
Installation Result Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective. :
ゲストOSのオプション設定で、ゲストOSとホストOSの時刻を同期させる設定がある。vmware-toolsが動作していれば、ソフトウェアクロックも同期してくれる。
Linuxの場合、ntpで同期させた方がよさそう。
http://kb.vmware.com/kb/1033498
iSCSIターゲットを再起動するときは、以下のようにするとよい。
iSCSIターゲットのサイズを拡大するときは、以下のようにするとよい。
何かの条件が重なると、ネットワークがとても遅くなるようだ。以下のコマンドでさくっと解消した。
# ethtool -K eth0 tso off
システム起動時に自動的に実行する場合、以下のようにすると良い。
post-up /sbin/ethtool -K eth0 tso off
リモートからプログラムでコマンドを実行するなど、公開鍵認証ができると便利。
以下のように設定をする。コマンドは、"client:"がログインするマシン、"esxi:"がログインされるマシン(ESXi)とする。
client: $ ssh-keygen -t dsa
client: $ ssh esxi -l root
esxi: # tar -C / -czf /bootbank/home.tgz /.ssh
modules=k.z --- s.z --- c.z --- oem.tgz --- license.tgz --- m.z --- home.tgz
ストレージが一時的に見えなくなった場合などの問題で、仮想マシンが見えなくなることがある。この場合は、以下のように再登録して修復する。
# vim-cmd vmsvc/getallvms|grep invalid
# vim-cmd vmsvc/unregister 207