Cockpitを利用したQEMU KVM環境を新しいホストにお引越しする

3年近く前に買ったミニPCサーバが、そろそろいい時期になってきたので買い替えることにしました。新旧のPCスペックは以下の通り
旧:
- Ryzen 4700U PassMark 13000くらい
- RAM 16GB
- SSD 512GB
新: - Ryzen 8845HS PassMark 28000くらい
- RAM 32GB
- SSD 1TB
過去のセットアップ記事はこちら

さてどうやってお引越ししようかと思ってCockpitの画面を見ていたところ、「移行」というメニューがあるじゃないですか。どうも調べてみると、KVMというかlibvertのほうかもしれないけどライブマイグレーションの機能があるみたいです。しかもそれがGUIでできそうということやってみることにしました。
幸い、ADMのCPU同士の移行なのでそこまで互換性問題も起きにくそうですよね。

新マシンにUbuntu 24 Serverをいれて、旧環境と同じようにセットアップします。設定はほとんど変わらず行うことができました。KVM関連のツールとCockpit、仮想マシンプラグインをいれてブリッジネットワークの設定を行います。
移行メニューからqemu+ssh://{移行先IP}/systemと入力し試しますがエラーです。
host key verification errorとでます。そうですね、まだ旧マシンから新マシンにSSHしていませんでした。

気を取り直してSSHでknown_host登録し、秘密鍵の登録も済ませましたが同じエラー。あ、一般ユーザでやってたことに気が付きrootでやり直し。rootの鍵も登録して、sshdのPermitRootLoginの値を変更しました。
改めて一番小さなインスタンスを選択して移行開始。
無事疎通したものの、ストレージプールを先に作成せよということで同じ名前、同じパスで作成。つぎはホストが見当たらないと出るので、/etc/hostsに新マシンのホスト名とIPを記入すると、なんとあっという間にコピーされ仮想マシンが停止することなく移行が完了しました!

次に、メインで利用している開発用の仮想マシンの移行を開始します。こいつはDockerのキャッシュなどが大量にたまっていてストレージを200GBも消費しています。そこで移行前にがっつり削除を行います。
こちらの記事を参考に、一気に不要なものを消します。うっかりmountしてないDBコンテナをクリアしてしまったので、テストデータは再投入しないといけなくなりましたが、コンテナなんてそんなもんですよね。
なお削除するのに20分くらいかかりました。フリーズしたのかと思った