:::: MENU ::::
Posts tagged with: KVM

qemu-kvmアップデート後、ゲストOSが起動しなくなった

本日、sl6の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のKVM環境でネットワークが遅い原因

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


KVMでゲストOSのスナップショット作成

sl6上の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

VDIをシュリンクした後に起動しない

qemu-imgでrawからqcow2へ変換した後に、ゲストOSを起動すると、起動できないことがある。

Booting from Hard Disk…
Boot failed: not a bootable disk

No bootable device.

ゲストOSの設定で、一旦、ディスク情報を削除し、再設定すると無事、起動する。

こんなもんなのかい?


Spiceで戻って来られない

KVMとゲストOSの通信に使われるプロトコル「Spice」で接続できるまでは、良いのだが、ローカル側に戻って来られない症状が起きた。

と言うか、戻る方法を知らないだけです。(^_^;

どうすれば良いのか??

公式ページのドキュメントに記載されていた。(http://www.spice-space.org/docs/spice_user_manual.pdf)

Control hot keys

Shift + F11
Toggle full-screen / window mode

Shift + F12
Release the cursor if captured in window

On debug mode, these are available as well:

Shift + F5
Connect to the server

Shift + F6
Disconnect from the serve

ってなわけで、Shift+F12で無事、離脱する事が出来た。

あと、MacでSpiceクライアントってあるのかな??


qcow2の作成と差分

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上のqumeイメージファイルを、rawからqcow2形式に変換する方法。

KVM上の対象ゲストOSを停止し、

# qemu-img convert -O qcow2 <元イメージファイル> <変換イメージファイル>

この後、元イメージファイルと変換イメージファイルを入れ替えて、ゲストOS起動確認。

たまに、ブート出来なくなるようなので、ゲストOS詳細画面から、ディスク情報を削除し、再設定すると起動出来る場合がある。

イメージファイル自体を削除するのではないことに注意!!