スキップしてメイン コンテンツに移動

投稿

2月, 2011の投稿を表示しています

DebianをSqueezeに上げたらKVMの仮想マシンが起動しなくなった

先日、無事にサーバのDebianをSqueezeにアップグレードした訳ですが、KVMの仮想マシンが起動しなくなっていたのをメモしとくの忘れていました。 実際のところ、KVMの仮想マシンが起動しなくなるという訳ではなくて、libvirtを使っていて、且つ、仮想HDDをrawフォーマット以外(qcow2とか)を使っている場合に Starting SeaBIOS (version 0.5.1-20101112_103537-polaris) Booting from Hard Disk... Boot failed: not a bootable disk No bootable device. なんて可愛らしメッセージが表示されちゃいます。 あまりの可愛らしさに胸がズキューンってなっちゃいますね。 これはlibvirtのバージョンが上がって、XMLのフォーマットに変更が入っているのが原因みたいです。新しいXMLのフォーマットではdiskにdriver要素が指定できるようになっているんですが、指定されていない場合はrawフォーマットとして扱われてるみたいです。 XMLフォーマットの詳細は こちら なのでdriver要素を指定して上げれば問題なく起動します。でもdriver要素チマチマ追加するの面倒だなぁと思っていたら、virshから編集すると、自動的にdriver要素追加してくれてました(rawになってるけど) $ sudo virsh edit ドメイン名 で、rawになっている部分を、実際に使用しているフォーマットに変更して上げればOK。 というかvirshのeditって今回初めて使ったんですが、defineしなくていいので楽チンですね。 今まではXMLファイルを編集して、その後 virsh defineやってました。

サーバのDebianをSqueezeに上げるのだ

2月6日にめでたくDebian 6.0、コードネームsqueezeがリリースされましたね。 特に大きな不具合の話も聞かないので、VPSじゃない方のサーバのアップグレードをしちゃいましょう。 VPSな方はdtiのserverman@vpsでDebianを運用しているんですが、dtiのvpsは完全仮想化じゃないから ちょっと気持ち悪いので、しばらくはlennyのまま放っておく事にします。 ということで、早速アップデートを始めますが、まずはリリースノートにしっかりと目を通しておきます。 http://www.debian.org/releases/squeeze/releasenotes 4章、5章あたりがアップグレードをするのにとても重要ですね。 このサーバでは新しめのKVMを使いたかったので、backportsからKVMをインストールしていました。 KVMとかvirt-managerに依存しているパッケージだけなので、ここが壊れてもインストールし直せばいいだけなので 安心ですね。 ということで4章を読みながらアップグレード! まずはソースリストを編集します。 # vi /etc/apt/sources.list コードネームで指定しているので、lennyな所をsqueezeに書き換えます。 あと、これまでnon-freeなパッケージは使っていないのでaptラインにも含めていなかったのですが、squeezeからは ファームウェアがnon-freeに入るようになるらしいので、aptラインにnon-freeも追加しておきます。 最終的な/etc/apt/sources.listはこんな感じになりました。 deb http://ftp.jp.debian.org/debian/ squeeze main contrib non-free deb-src http://ftp.jp.debian.org/debian/ squeeze main contrib non-free deb http://ftp.jp.debian.org/debian/ squeeze-updates main contrib non-free deb-src http://ftp.jp.debian.org/debian/ squeeze-