本日、Scientific Linux 6のYUM更新で、kvm,qemu関連(qemu-kvm)をアップデートした後に、再起動したら、ゲストOSが起動しなくなってしまった。
ゲストOSを起動しようとすると、下記のエラー
ドメインの復元中にエラーが発生しました: cannot send monitor command ‘{“execute”:”qmp_capabilities”}’: Connection reset by peer
この対処法として、qemu内のsaveディレクトリに、ゲストOSのセーブデータが残っているのが原因なようなので、これを削除することで、解決出来るようです。
# cd /var/lib/libvirt/qemu/save server1.save server2.save
やはりセーブデータが残っていたので、これを削除。
rmで削除でなく、virshコマンドで削除なので、注意
# virsh managedsave-remove server1 Removed managedsave image for domain server1 # virsh managedsave-remove server2 Removed managedsave image for domain server2
セーブデータ削除後、「仮想マネージャー」のGUIにて、無事起動。
ちなみに、CUIだと、下記
# virsh start server1 ドメイン Server1 が起動されました
ゲストOS上で重要なサーバを起動しているので、ちょっぴり焦りました(^_^;
今回起こった症状の原因は、ゲストOSを停止させずに、ホストOSを再起動させた事が原因ではないかと推測しています。 ホストOSを再起動する際には、安全の為、ゲストOSを停止しておいた方が良いかもしれません。
尚、今回、http://d.hatena.ne.jp/think-t/20111220/p1の記事を参考にさせて頂いて、大変助かりました。(感謝)
Ubuntu 11.04上にKVM環境を構築し、ネットワークをブリッジ構成にしたところ、ネットワークが激遅くなった。
外部DNSは引け、LAN内では繋がるが、Googleとかにpingすると、かなり遅い。
原因は、sysctlの設定不足でした。
/etc/sysctl.confに下記が足りなかったので、追加
net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
追加、保存した後、下記で適用
/sbin/sysctl -p /etc/sysctl.conf
参考:http://wiki.libvirt.org/page/Networking
Scientific Linux 6上のKVMでゲストOSのスナップショットを作成し、復元してみる。
# virsh virsh # list -all Id 名前 状態 ---------------------------------- 1 Server 実行中 2 SL6 実行中 3 LDAP 実行中 virsh # snapshot-create SL6
ゲストOSの容量にもよるが、初めてのスナップショットは、結構時間がかかります。
virsh # snapshot-list SL6 名前 Creation Time 状態 --------------------------------------------------- 1314776508 2011-08-31 16:41:48 +0900 running
virsh # snapshot-revert SL6 1314776508
qemu-imgでrawからqcow2へ変換した後に、ゲストOSを起動すると、起動できないことがある。
Booting from Hard Disk…
Boot failed: not a bootable diskNo bootable device.
ゲストOSの設定で、一旦、ディスク情報を削除し、再設定すると無事、起動する。
こんなもんなのかい?
KVMとゲストOSの通信に使われるプロトコル「Spice」で接続できるまでは、良いのだが、ローカル側に戻って来られない症状が起きた。
と言うか、戻る方法を知らないだけです。(^_^;
どうすれば良いのか??
公式ページのドキュメントに記載されていた。(http://www.spice-space.org/docs/spice_user_manual.pdf)
Control hot keys
Shift + F11
Toggle full-screen / window modeShift + F12
Release the cursor if captured in windowOn debug mode, these are available as well:
Shift + F5
Connect to the serverShift + F6
Disconnect from the serve
ってなわけで、Shift+F12で無事、離脱する事が出来た。
あと、MacでSpiceクライアントってあるのかな??
KVM上で新規作成する場合、デフォルトでハードディスクはraw形式となります。
raw形式の方がアクセスは早いのですが、差分ととったり、マイグレーションする場合には、少しでも容量を小さくしたい事もある。
なので、最初からqcow2を作成する。
# qemu-img create -f qcow2 <filename> 10G #<---10GBのディスク作成
さらに、qcow2ではイメージファイルを原本と差分に分けることが出来る。
差分イメージの作成: # qemu-img create -b <filename> -f qcow2 <diff-filename> 差分イメージとの合成: # qemu-img commit -f qcow2 <diff-filename>
KVM上のqumeイメージファイルを、rawからqcow2形式に変換する方法。
KVM上の対象ゲストOSを停止し、
# qemu-img convert -O qcow2 <元イメージファイル> <変換イメージファイル>
この後、元イメージファイルと変換イメージファイルを入れ替えて、ゲストOS起動確認。
たまに、ブート出来なくなるようなので、ゲストOS詳細画面から、ディスク情報を削除し、再設定すると起動出来る場合がある。
イメージファイル自体を削除するのではないことに注意!!