(text by kondo)
バーチャルマシンをコントロールする方法を探っています。libvirt を利用することを考えています。
libvirt : http://libvirt.org/
python から利用する記事を見て、python のIDLE で利用しようとしたら、いきなり import libvirt がエラーになりました。
まずは、どんなモジュールがあるか調べてみるコマンドです。
help(‘modules’)
パスを通してみました。たぶん此処だと思うのですが . . .
import sys
sys.path.append(‘/usr/share/pyshared’)
結局、よく分からなくて、IDLE (using Python-3.2) と表示されるものではなく、IDLEとだけ表示されるものをインストールして、libvirt が機能するようになりました。下の図のように何個か、IDLEがあります。
以下、調べたことを並べます。
(1) 定義されたドメインを調べる(python シェルの中で打つ)。
参照サイト(http://www.ibm.com/developerworks/jp/opensource/library/os-python-kvm-scripting1/)
Python 2.7.3 (default, Apr 20 2012, 22:39:59) [GCC 4.6.3] on linux2 Type "copyright", "credits" or "license()" for more information. ==== No Subprocess ==== >>> import libvirt >>> conn=libvirt.open("qemu:///system") >>> names = conn.listDefinedDomains() >>> print names ['sid2'] >>>
今のところ、sid2 という名前のドメインがひとつだけなので、上記のように表示されます。ドメインとはバーチャルマシンのことです。
関係ないけど、キャプチャー画面。
(2) バーチャルマシンの起動と停止(python シェルの中で打つ)
参考サイト(http://cloud.watch.impress.co.jp/docs/column/euca_iaas/20110819_466965.html)
>>> import libvirt
>>> conn=libvirt.open(“qemu:///system”)
>>> names = conn.listDefinedDomains()
>>> print names
[‘sid2’]
>>> vm = conn.lookupByName(‘sid2’)
>>> vm.create()
0
>>> vm.shutdown()
0
>>>