harry’s memorandum

おれおれメモ

VMware の自己満足TIPS

ちょっとだけ自分が自己満足になれた、小さいTIPSの備忘録です。

vSphere Clientで自動ログイン

vSphere Client の exe である VpxClient.exe を オプション付きで起動すればOK。もちろんショートカットに設定して自己満足に浸るもよし。

VpxClient.exe --server <server> --user <username> --password <password>

vSphere Client を 英語版で起動してみる。

英語(en)、フランス語(fr)、ドイツ語(de)、日本語(ja)、中国語(zh-CN) などで起動できます。VpxClient.exe 直下に リソースがあります。色々起動して楽しめるけど、私は英語もロクにできないので悲しい自己満足でしかない。本当に悲しい。

VpxClient.exe  --locale <{ en | fr | de | ja | zh-CN }>

またVpxClient.exe.configをいじるという方法もあります。
f:id:dharry:20110507091648j:image

esxi にログインして vim-cmd で CLI

VMwareの CLI は複数あって非常にわかりにくいです。(VMware 自動化ツールおよびSDK)

上記CLIはダウンロードしてインストールしないと使えませんが、esxiにログインして中のvim-cmd という CLI を直接実行するという方法があります。

ゲストOS一覧を表示
~ # vim-cmd vmsvc/getallvms
Vmid            Name                                         File                                     Guest OS          Version   Annotation
128    activedirectory           [datastore1] activedirectory/activedirectory.vmx               win2000ServGuest        vmx-07
160    freenas                   [datastore1] freenas/freenas.vmx                               freebsd64Guest          vmx-07
256    scientific6_x64           [datastore1] scientific6_x64/scientific6_x64.vmx               rhel6_64Guest           vmx-07
288    ubuntu11.04               [datastore1] ubuntu11.04/ubuntu11.04.vmx                       ubuntu64Guest           vmx-07
VMが起動しているか確認して、Power-Offしてみる
~ # vim-cmd vmsvc/power.getstate 288
Retrieved runtime info
Powered on
~ # vim-cmd vmsvc/power.off 288
Powering off VM:
リモートサーバのesxi上で稼働しているVMのスナップショットをとる
~ # vim-cmd vmsvc/snapshot.create
Insufficient arguments.
Usage: snapshot.create vmid [snapshotName] [snapshotDescription] [includeMemory] [quiesced]
~ #  vim-cmd -H <server> -U <username>-P <password> vmsvc/snapshot.create 288 `date +%Y%m%d`
Create Snapshot:
~ #  vim-cmd -H <server> -U <username>-P <password> vmsvc/snapshot.get 288
 Get Snapshot:
 |-ROOT
 --Snapshot Name        : 20110507
 --Snapshot Desciption  :
 --Snapshot Created On  : 5/7/2011 8:40:7
 --Snapshot State       : powered off

vSphere ClientのコンソールのかわりにVNCで接続する

重いコンソールはこりごり。VNCで接続したいよね、という時に便利です。esxi経由で接続するのでネットワークの切断もできたりします。


  1. 最初に対象のゲストVMをPower-Offしておきます。

  2. esxiにsshでログインして、対象のゲストの.vmxファイルにVNCで接続できるように修正します。*1
  3. RemoteDisplay.vnc.enabled = "True"
    RemoteDisplay.vnc.port = "5901" 
    RemoteDisplay.vnc.password = "password"

  4. .vmxをリロード (vim-cmd vmsvc/getallvmsしてVmidを調べてください)
  5. ~ #  vim-cmd vmsvc/reload <Vmid>

  6. TightVNCやUltraVNCなどで接続してください。

  7. f:id:dharry:20110507182329j:image

vSphere Client RDP Plug-in というものもある

Xtravirt という会社が RDPでVMに接続を簡単にしてくれる プラグインがあったります。

f:id:dharry:20110507184904j:image

パフォーマンスカウンタ

ときおり、シニアエンジニアの方でオーバーヘッドを考慮しない人がいるので、理解してくれると信じて「ここ!」と指をさしてみます。もちろんメモリバルーニングやメモリ圧縮は説明せず、メモリオーバーヘッドだけ説明するのが私の器の大きさです。
f:id:dharry:20110507091647p:image
VMwareパフォーマンスカウンタの日本語表記と英語表記を比較するときは、vSphere Client をインストールしたディレクトリを調べれば カタログファイルがあるので便利、かもしれない。

 %ProgramFiles%\VMware\Infrastructure\Virtual Infrastructure Client\4.1\Catalogs\Default\vim\ja\perf.vmsg (日本語のパフォーマンスカウンタ)
 %ProgramFiles%\VMware\Infrastructure\Virtual Infrastructure Client\4.1\Catalogs\Default\vim\en\perf.vmsg (英語のパフォーマンスカウンタ)

snmpの設定

取れる情報は少ないけど必要であれば設定しておくのがいいと思います。esxiにログインしてファイルを編集してください。

~ # cp -p /etc/vmware/snmp.xml /etc/vmware/snmp.xml.backup
~ # sed -i -e "s/false/true/g" -e 's/\<communities./\0public/' /etc/vmware/snmp.xml
~ # cat /etc/vmware/snmp.xml
 /<config><snmpSettings><enable>true</enable><communities>public</communities><targets></targets></snmpSettings></config>
~ # /sbin/services.sh restart

esxi の oem.tgzをいじったりするとき

oem.tgzだけじゃないけど、VMwareのCoolなバッドノウハウが転がっているので、お世話になっています。

*1:RemoteDisplay.vnc.port は VM毎にポート番号を変更してください