libguestfsを使って停止中のvm(kvm)のネットワーク設定を直接書き換えてみる

Re: 停止中のvm(kvm)のネットワーク設定を書き換える習作

id:lamanotramaこんなエントリを書いていたので、勉強がてらpythonで書きなおしてみました。

virt-cloneした後のネットワーク設定をスクリプト一発でなんとかするヤツ。
試した環境はCentOS5.6です。

libvirtとlibguestfs使ってるので入ってない時はインストール

sudo yum --enablerepo=epel install libvirt-python python-libguestfs

lxml使ってるので入ってない時はインストール

sudo yum install python-lxml

やってることは

  • domain(vm)が停止してるか確認 ((動いてるVMを直接libguestfsでいじると起動しなくなるみたいなので注意))
  • domainのxml定義からイメージファイルのパスとMACアドレスを抜き出す
  • libguestfsを使って停止中のvmの設定ファイルを直で上書く(指定したIPと先程のMACアドレス)

外部通信用のbr0と、内部通信用のvirbr0の二つネットワークある環境前提。
libguestfs便利。