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の利用環境ですが、
の二種類の方法があります。 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
この記事は
現在のアクセス:78816 |