// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents

**VMware Infrastructure Remote CLIとは [#k62fae16]
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の実行環境は三種類 [#o9996b84]
さて、リモートCLIの利用環境ですが、
-Linux/WindowsなどのクライアントにこのCLIをインストールして直接利用する方法
-CLIインストール済みのLinuxをESXi上で稼働させて利用する「Virtual appliance for the VMware Infrastructure Remote CLI」という方法

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

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


**ダウンロード [#xdea9a8a]
[[VMware Infrastructure 3 のダウンロード>http://www.vmware.com/jp/download/vi/drivers_tools.html]]より、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の設定については[[こちら>Network/ssh]]をご参照ください。




**使ってみる [#d41be413]
色々コマンドを実行してみました。


***Remote CLI でNFSマウントしているディレクトリの情報を表示する [#g4b4fd1f]
 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 で、マウントしているファイルシステムの情報を表示する [#b58594a0]
 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の仮想ディスクを作成する [#c80dc31d]
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

***ファイルサイズ固定のディスクから、可変のディスクへ変換する。 [#u45135fc]
createvirtualdiskオプションは新規で仮想ディスクを作成しますが、すでにある仮想ディスクのファイルフォーマットを固定から可変に変更することもできます。
 vmkfstools [いつもの接続パラメタ(ID/PASS/ESXi ServerのIP)]
   -i test.vmdk -d thin /vmfs/volumes/hogehoge/test/test.vmdk

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



***VMのコマンド一覧を表示する [#k38cbab4]
 ~ # 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の一覧を取得する [#zfcbe03c]
 ~ # 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を起動したり [#nd211fc3]
 ~ # 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を検索してます。

***メンテナンスモードへの移行と復帰 [#p28e7cad]
 ~ # vim-cmd hostsvc/maintenance_mode_enter
 ~ # vim-cmd hostsvc/maintenance_mode_exit


-[[ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き ->http://d.hatena.ne.jp/pyopyopyo/comment?date=20081011]]
vim-cmd

:2010/08/22追記|ESXi4.xからは、[[vSphere Management Assistant (vMA) [appliance for vSphere CLI, vSphere SDK for Perl, and SMI-S] | Virtual Appliance Marketplace>http://www.vmware.com/appliances/directory/va/178973/download]] になってるぽいですねー。
-[[VMware ESXi 4 設定覚え書き | SS-NET サポート>http://ssspt.net/node/67]]
-[[ESXi 用の VIMA ちょっといじってみました - Ab. の日記>http://slashdot.jp/~Ab./journal/477116]]




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

#comment
#topicpath


SIZE(10){現在のアクセス:&counter;}

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS