Xenでハマる〜備忘録〜
内容:過去に稼動していたXenゲストが、起動(xm create)しようとするとエラーが出る。
エラー:Xen Error: destroyDevice() takes exactly 3 arguments (2 given)
発生環境:CentOS(5.2)、xen-3.0.3
- 発生に至る経緯
- 過去にXenを使ったテスト環境を当時最新の安定バージョンであるCentOS5.0上に作成してあった。
- この環境はしばらく利用されていなかった。(ゲストOSは停止状態)
- ある日テスト用の仮想環境が欲しくなったので、このゲストOSを立ち上げてみた。(この時点では問題なく起動)
- CentOSはすでに安定版5.2が出ていたので、ホストOS、ゲストOSともに yum update を実施。(今にして思えば、テスト環境とはいえかなり無謀だった)
- この時点でCentOS5.2、xen-3.0.3にバージョンアップ。updateが終わった時点でマシンをシャットダウンして帰宅。
- 翌日、ホストマシンを立ち上げ、ゲストOSを立ち上げ(xm create)ようとしたら、上記のエラーが出て起動不能。途方に暮れかける。
- 解決に向けてのアプローチ
http://www.grandarbre.net/2007/11/xen-2.html
Xenが使用するNICを変更する - Lism.in * blog - nekoya (id:studio-m)
-
- ググる。エラーメッセージそのままで。あきらめて英語サイト。
- 山ほど出てくる。同じ悩みを持った方々が、世界中にいることにちょっと安心。やはり英語の壁をクリアすれば、情報爆発の恩恵(ちょっとおかしい)に与れる。
- よさそうな情報を発見。2パターン試してみる。
http://www.centos.org/modules/newbb/viewtopic.php?topic_id=10517
-
- パターン1:loop module の定義追加。(http://www.nabble.com/Can%27t-create-my-seventh-xen-vm-on-rhel5-to13723758.html)
- パターン2:Pythonスクリプトを強引に修正。ここの#2。(http://www.centos.org/modules/newbb/viewtopic.php?topic_id=10517)
- 結果
- パターン1:うまくいった!さくっと立ち上がりました。
- パターン2:これまたうまくいった!さくっと立ち上がりました。
- とりあえず、1のパターンで行こうかなっと。スクリプト書き換えるってのも強引過ぎるし。
- これから
長くなりましたが、こんなところ。
同じ障害で悩んでいる人の力になりますように。(あくまでも暫定的対処ではありますが・・・)