LinuxでのQemu Guest Agentの設定

投稿者: | 2月 28, 2024

(夜中に書いているので後日清書する予定)

 

閑話休題

 

今度は、LinuxでのQEMU Guest Agentの振る舞い。これもなかなか世間でのドキュメントがない。実際に動かして調べてみた。

 

LinuxのQEMU Guest Agentは、fsfreezeでファイルシステムI/Oを止めている。その前後にFreeze / thaw スクリプトが実行できる。

Freeze/thawスクリプトは、以下のパスに置く。

/etc/qemu-ga/fsfreeze-hook.d/

スクリプトは、引数にfreeze と thawがつくことで挙動を変えることができる。

例えば、Freeze時は

sample.sh freeze

Thaw時は

sample.sh thaw

というコマンドラインで動く。それを踏まえたサンプルスクリプトは以下になる。

#!/bin/sh
case "$1" in
freeze)
date >> /tmp/freeze
echo "freeze" >> /tmp/freeze
 ;;

thaw)
date >> /tmp/thaw
echo "thaw" >> /tmp/thaw
 ;;

*)
exit 1
 ;;

esac

このスクリプトはそれぞれ、/tmpにfreezeとthawファイルを作ることができる。

実際に動作させてみたログは以下

/var/log/qga-fsfreeze-hook.log

Tue Feb 27 12:27:47 EST 2024: execute /etc/qemu-ga/fsfreeze-hook.d/sample.sh freeze
Tue Feb 27 12:27:47 EST 2024: /etc/qemu-ga/fsfreeze-hook.d/sample.sh finished with status=0
Tue Feb 27 12:27:51 EST 2024: execute /etc/qemu-ga/fsfreeze-hook.d/sample.sh thaw
Tue Feb 27 12:27:51 EST 2024: /etc/qemu-ga/fsfreeze-hook.d/sample.sh finished with status=0

ログでスクリプトでは、実際の引数がわかる。ちなみに、この環境は、負荷が0の環境なんだが、I/Oが3-4秒止まっている。つまりスナップショットが切られているとそこそこ止まっている。利用者がそこを意識していれば問題ないが。

 

この仕組みを使えば、QEMU Guest Agentが動作しているときにデータベースのバックアップとか可能かと。

 

しかし、今、何かとKVMのVMがもてはやされてきたけど、こういう情報もまだ少ない。大丈夫なのか?世間。。。

カテゴリー: kvm

コメントを残す