libvirt QEMUフックで「virsh Managedsave-remove VMname」を実行する必要があります。https://www.libvirt.org/hooks.html「フックスクリプトでlibvirt関数を呼び出す - これをしないでください!:libvirtデーモンはすでにスクリプトが終了するのを待っているため、フックスクリプトはlibvirtを再度呼び出すべきではありません。」
virsh Managedsave - 仮想マシン名の削除
QEMUフック内でlibvirtデーモンを中断しているからです。
libvirt QEMUフックで同じ機能を実行する方法はありますか?
詳細:ネットワークドライブ上のファイルを開く仮想マシン(Win7)があります。この仮想マシンが何らかの方法でシャットダウンして再起動すると、ファイルがロックされているため、ファイルを開いたプログラムは仮想マシンに再接続できません。 VMはQEMU / KVM、マシンはQNAP NAS、問題のプログラムはhMailServer、対応するデータベースhMailServer.sdfはネットワークドライブにあります。
場合によっては、VMは管理保存として保存されます。これに対する制御権はありません。 VMがManagedsaveから再起動されると、virsh Managedsave-remove VMnameを使用してスクリプトから変更したばかりのファイルに接続できません。
仮想マシンが無効になっている場合は、仮想マシンを起動するスクリプトで2つの問題を解決しました。
次に、すべての可能な状況に修正が自動的に適用されるように、VMnameの起動プロセスをリンクして改善したいと思います。そしてそこに閉じ込められました。正しく機能するには、これらの両方の修正が必要です。