Top / VMware / ESXi / VMware Infrastructure Remote CLIを利用する

VMware Infrastructure Remote CLIとは

VMware ESXiは VMware Infrastructure Clientというクライアントソフトからサーバに接続して色々オペレーションを行いますが、コマンドラインからのインタフェースもサポートされています。具体的には

# vmkfstools --createvirtualdisk 200m /vmfs/volumes/[datastore]/hogehoge.vmdk

などと入力して仮想ディスクを作成する、などですね。

コマンドラインからオペレーションするにはVMware Infrastructure Remote CLI(Command Line Interface)というライブラリをインストールする必要があります。中身はPerlでできているようで、Perlなどの実行環境(Active Perlとか)が一緒にインストールされるようです。

リモートCLIの実行環境は三種類

さて、リモートCLIの利用環境ですが、

  • Linux/WindowsなどのクライアントにこのCLIをインストールして直接利用する方法
  • CLIインストール済みのLinuxをESXi上で稼働させて利用する「Virtual appliance for the VMware Infrastructure Remote CLI」という方法

の二種類の方法があります。

ESXiが稼働しているサーバにsshログインを許可していれば、ESXiサーバにログインして同じコマンドを実行できるので、正確には三種類の方法があるといえますね。

ダウンロード

VMware Infrastructure 3 のダウンロードより、VMware Infrastructure Remote CLI をダウンロードします。

インストールもダウンロードしたアーカイブをLinuxやWindowsで普通にインストールするか、もしくはVMware Infrastructure ClientでESXiにイメージをImportするだけです。

簡単に利用するには、既存の環境をいじらないでよいVirtual appliance のESXi組み込みがよさそうです。あらかじめSSHが起動しているのでTeraTerm?などでログインすれば普通のLinuxと同様に使用可能です。うちは主にMacOSを利用しているので、Windows上の VMware Infrastructure ClientでESXiにVirtual applianceをimportし、あとはMacのTerminalから利用しています。

あ、ちなみに Virtual appliance はRootログインとパスワードログインが許可されていないので、許可するようにsshの設定変更が必要です。sshの設定についてはこちらをご参照ください。

使ってみる

色々コマンドを実行してみました。

Remote CLI でNFSマウントしているディレクトリの情報を表示する

vaos:~# vicfg-nas --username [acount] --password [password] --server 192.168.xx.xx --list

/vmfs/volumes/hogehoge <-マウントしているディレクトリ
macnfs is /Users/hogehoge/nfs from 192.168.xx.zz mounted <-macnfsって名前でマウント
nfs is /media/nfs from 192.168.xx.yy not mounted <-このディレクトリはマウントしてない
vaos:~# 

Remote CLI で、マウントしているファイルシステムの情報を表示する

vaos:~# vmkfstools [いつもの接続パラメタ(ID/PASS/ESXi ServerのIP)] 
           --queryfs /vmfs/volumes/hogehoge
VMFS-3.31 file system spanning 1 partitions.
Capacity : 119990648832, 97430536192 avail
File system label : hogehoge
UUID : 495b36ea-2c8f382e-191a-0022157cc754
path : /vmfs/volumes/495b36ea-2c8f382e-191a-0022157cc754
Partitions spanned:
        vmhba33:0:0:1
vaos:~#

10GBの仮想ディスクを作成する

vmkfstoolsを使用して、仮想ディスクを作成します。

vmkfstools [いつもの接続パラメタ(ID/PASS/ESXi ServerのIP)] 
  --createvirtualdisk 10G  /vmfs/volumes/[hogehoge]/test/test.vmdk

上記コマンドで、仮想ディスクのサイズが10GBのファイルが作成されました。ただこの指定だと仮想ディスクのサイズも10GB、実体のファイル自体も10GBになってしまいます。他のVMware 製品のように、使用するごとにファイルサイズが大きくなっていく、ファイル自体のサイズは可変な仮想ディスクを作成するには、次のように -d thin というオプションを付けてvmkfstoolsを実行します。

vmkfstools [いつもの接続パラメタ(ID/PASS/ESXi ServerのIP)] 
  --createvirtualdisk 10G -d thin /vmfs/volumes/[hogehoge]/test/test.vmdk

ファイルサイズ固定のディスクから、可変のディスクへ変換する。

createvirtualdiskオプションは新規で仮想ディスクを作成しますが、すでにある仮想ディスクのファイルフォーマットを固定から可変に変更することもできます。

vmkfstools [いつもの接続パラメタ(ID/PASS/ESXi ServerのIP)]
  -i test.vmdk -d thin /vmfs/volumes/hogehoge/test/test.vmdk

VMware Serverから移行した仮想ディスクが、どうしてもファイルサイズ固定になってしまうようで困っていたのですが、上記コマンドでファイルフォーマットを変更することができました。

VMのコマンド一覧を表示する

~ # vim-cmd
Commands available under /:
hostsvc/      proxysvc/     vimsvc/       help
internalsvc/  solo/         vmsvc/
~ #

さらに

~ # vim-cmd vmsvc

などでvmsvc下のコマンドを一覧できます。

vim-cmd  help   [コマンド]

で、ヘルプを見ることができます。たとえば

~ # vim-cmd  help  vmsvc/login
Usage: login [username] [password]

Logs in to host, creating a new session.  If no password is specified, will
use a local authentication mechanism.

こんな感じです。

VMの一覧を取得する

~ # vim-cmd vmsvc/getallvms
Vmid   Name                 File                   Guest OS          Version   Annotation
368    hoge        [hogehoge] hoge/hoge.vmx        rhel5Guest        vmx-04
384    fuga        [hogehoge] fuga/fuga.vmx        rhel5Guest        vmx-04
400    RCLI        [hogehoge] RCLI/RCLI.vmx        otherLinuxGuest   vmx-04
~ #

VMの状態を取得したり、VMを起動したり

~ # vim-cmd vmsvc/power.on `vim-cmd vmsvc/getallvms| awk '/vm名/ {print $1;}'`
~ # vim-cmd vmsvc/power.getstate `vim-cmd vmsvc/getallvms| awk '/vm名/ {print $1;}'`

vmsvc/power.on の引数はVMIDですが、vim-cmd vmsvc/getallvms などでIDを検索してます。

メンテナンスモードへの移行と復帰

~ # vim-cmd hostsvc/maintenance_mode_enter
~ # vim-cmd hostsvc/maintenance_mode_exit
2010/08/22追記
ESXi4.xからは、vSphere Management Assistant (vMA) [appliance for vSphere CLI, vSphere SDK for Perl, and SMI-S] | Virtual Appliance Marketplace になってるぽいですねー。

この記事は

選択肢 投票
おもしろかった 76  
そうでもない 5  
  • vmkfstools -- 2009-03-06 (金) 17:58:45
  • *.vmdk のファイルのリネームや移動も、Unixのコマンドでやっちゃっていいのかよく分かんないから、vmkfstools コマンドでexportしながら場所移動させてます。 -- きの? 2009-04-08 (水) 12:35:43
  • MacのFusionでディスクの拡張するときは 次のコマンドでできました。/Library/Application\ Support/VMware\ Fusion/vmware-vdiskmanager -x 200GB hogehoge.vmdk -- きの? 2009-08-31 (月) 00:32:08

Top / VMware / ESXi / VMware Infrastructure Remote CLIを利用する

現在のアクセス:72614


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-01-21 (水) 16:18:16 (859d)