マイグレーションだと「移転・移動」してしまうので、「コピーして移動したい」
全体の流れ
という2段階でやろうと思う。
コピー/クローンの作成について
クローン作成コマンド
クローン作成には、virt-clone を使うと楽
virt-clone --original AdguardHome --name AdguardHome02 --auto-clone
virt-clone の準備
virt-clone
コマンドは、virsh とは別のパッケージなため未導入の場合がある。
sudo apt install virtinst
未停止の場合
clone
にはシャットダウンが要求されるためシャットダウンしておく
virsh shutdown xxx
シャットダウンしてないとエラーになる。
$ virt-clone --original AdguardHome --name AdguardHome02 --auto-clone ERROR Domain with devices to clone must be paused or shutoff.
clone 時の注意
クローンは、丸コピーとは違ってクローン作成です。同じものを「起動できる状態」にしてくれる
何を言ってるのかというと、MACアドレスは変わる。MACアドレスが変わるということは ubuntu など cloud-init でnetplanしているとMACが変わってIP割当が変わる。
コピーの確認
シャットダウン状態でコピーされるので、
virsh list --all
または、virt-managerから
必要な時間
qcow2 などボリュームをコピーするので、SSDの書き込み速度とqcow2 の容量に依存する。8GB で5分程度かかった
できないこと
clone 時に、SSH経由でCloneができればよかったんだけど
一気呵成にできない。
virt-clone \ --original qemu:///system/FromVM \ --name qemu+ssh://takuya@another/system/ToVM`
のようなURI+パスで仮想マシン指定でができれば強かったんだけど。できないですね。
マイグレーション
移転の方法は、2つある。
今回は、rsync 移転にする。
手作業転送とライブマイグレーション
ライブマイグレーション機能はストレージを共有しているホスト間で仮想マシンを移動することが前提だったと思う。
ライブマイグレーションは、「ストレージを共有しているホスト間でメモリや書き込みを転送しつつ」うまい感じに起動したままホストを移動する機能なので、オフラインで転送するようなコピーには全く向かない。
設定を取り出して転送
dumpxml で取り出して ssh 経由でサクッと転送。
virsh dumpxml DomA | ssh srv02 dd of=DomA.xml
設定をロード
virsh define DomA.xml
ストレージを転送
ストレージを転送
rsync -avz --progress --partial DomA-clone.qcow2 takuya@srv02:~
起動する
最後に起動しして終了
ssh srv02 virsh start DomA