Open5

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

Yusuke KawabataYusuke Kawabata

3年近く前に買ったミニPCサーバが、そろそろいい時期になってきたので買い替えることにしました。新旧のPCスペックは以下の通り

旧:

  • Ryzen 4700U PassMark 13000くらい
  • RAM 16GB
  • SSD 512GB
    新:
  • Ryzen 8845HS PassMark 28000くらい
  • RAM 32GB
  • SSD 1TB

過去のセットアップ記事はこちら
https://qiita.com/ku_suke/items/269dfecec398187aed77

Yusuke KawabataYusuke Kawabata

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

Yusuke KawabataYusuke Kawabata

新マシンにUbuntu 24 Serverをいれて、旧環境と同じようにセットアップします。設定はほとんど変わらず行うことができました。KVM関連のツールとCockpit、仮想マシンプラグインをいれてブリッジネットワークの設定を行います。

移行メニューからqemu+ssh://{移行先IP}/systemと入力し試しますがエラーです。
host key verification errorとでます。そうですね、まだ旧マシンから新マシンにSSHしていませんでした。

Yusuke KawabataYusuke Kawabata

気を取り直してSSHでknown_host登録し、秘密鍵の登録も済ませましたが同じエラー。あ、一般ユーザでやってたことに気が付きrootでやり直し。rootの鍵も登録して、sshdのPermitRootLoginの値を変更しました。

改めて一番小さなインスタンスを選択して移行開始。

無事疎通したものの、ストレージプールを先に作成せよということで同じ名前、同じパスで作成。つぎはホストが見当たらないと出るので、/etc/hostsに新マシンのホスト名とIPを記入すると、なんとあっという間にコピーされ仮想マシンが停止することなく移行が完了しました!

Yusuke KawabataYusuke Kawabata

次に、メインで利用している開発用の仮想マシンの移行を開始します。こいつはDockerのキャッシュなどが大量にたまっていてストレージを200GBも消費しています。そこで移行前にがっつり削除を行います。

こちらの記事を参考に、一気に不要なものを消します。うっかりmountしてないDBコンテナをクリアしてしまったので、テストデータは再投入しないといけなくなりましたが、コンテナなんてそんなもんですよね。

なお削除するのに20分くらいかかりました。フリーズしたのかと思った