2017年5月19日金曜日

aquarius 上の仮想マシンを sagittarius へ

では、aquarius 上の仮想マシンを、 sagittarius 上へ移動させる。
そろそろ、 sagittarius の仮想マシン領域が枯渇し始めているのではないだろうか?
必要に応じて拡張しておいて欲しい。

さて、aquarius だが、こちらには aries / pisces という2つの仮想マシンの他に、急遽必要になった環境が2つ存在している。
(別件で必要になったもののため、一連の blog には一切記載していない。)

aries / pisces はともに停止状態のため、前回と同様に手作業で移動させる。

問題は、追加の2環境だ。
こちらは稼動状態。いつ使われるか分からないので、出来ればオンラインを維持したい。
幸いにして、こちらの2環境は、仮想ディスク20GBを2つずつ、合計80GB分なので、フルコピー状態でも何とかなるだろう。
そのため、前々回のオンラインマイグレーションを実施してみる。

まずは aries / pisces から。
こちらは uEFI 環境ではないので、*_VARS.fd ファイルは存在しない。


aries 開始(aries と pisces で差異があるところは下線を引いた)
(aquarius) $ virsh dumpxml aries > /tmp/aries.xml

ファイルのアーカイブ
(ディスクの使用量に注意しよう。)
(aquarius) $ cd /
(aquarius) $ sudo tar cSjf /tmp/aries.tbz \
tmp/aries.xml \
var/lib/libvirt/images/aries.qcow2
(aquarius) $ ls -l /tmp/aries.tbz
(aquarius) $ tar tvSjf /tmp/aries.tbz
(aquarius) $ rm /tmp/aries.xml
(aquarius) $ cd

ファイルを sagittarius で取得
(空き容量に注意)
(sagittarius) $ scp (ユーザ名)@(aquariusのIPアドレス):/tmp/aries.tbz \
/tmp/aries.tbz
(sagittarius) $ ls -l /tmp/aries.tbz
(aquarius) $ sudo rm /tmp/aries.tbz

sagittarius 上に展開
(sagittarius) $ ls -l /var/lib/libvirt/images/aries.qcow2
(sagittarius) $ cd /
(sagittarius) $ sudo tar xSjf /tmp/aries.tbz
(sagittarius) $ ls -l /var/lib/libvirt/images/aries.qcow2
(sagittarius) $ cd

仮想ディスクの再認識
(sagittarius) $ virsh vol-list default
(sagittarius) $ virsh pool-refresh default
(sagittarius) $ virsh vol-list default

sagittarius へ aries を登録
(sagittarius) $ ls -l /etc/libvirt/qemu
(sagittarius) $ virsh list --all
(sagittarius) $ virsh define /tmp/aries.xml
(sagittarius) $ virsh list --all
(sagittarius) $ ls -l /etc/libvirt/qemu

起動や動作確認を実施。

動作確認が出来たら余計なファイルを削除
(sagittarius) $ rm /tmp/aries.tbz
(sagittarius) $ rm /tmp/aries.xml

また、aquarius からも aries の定義を消す。
(aquarius) $ virsh list --all
(aquarius) $ virsh undefine aries --nvram
(aquarius) $ virsh list --all
(aquarius) $ ls /etc/libvirt/qemu

(aquarius) $ virsh vol-list default
(aquarius) $ virsh vol-delete aries.qcow2 default
(aquarius) $ virsh vol-list default

aries 終わり。(pisces も同様に実施する。)

ココからは、残りの2環境のオンラインマイグレーション
詳細は抜いて、簡単にオペレーションとコマンドだけ書いておくことにする。

virt-manager を使用して、対象のゲストOSが使用している仮想ディスクのパス、名前、サイズを確認。
sagittarius 上の同じ場所に、同じサイズ、同じ名前で仮想ディスクを作っておくこと。

移行コマンドはざっくりこんな感じ。
(sagittarius) $ virsh -c qemu+ssh://(aqauariusのIP)/system \
migrate --live \
--domain (対象の仮想マシン名) \
--persistent \
--undefinesource \
--compressed \
--copy-storage-all \
--change-protection \
--auto-converge \
--desturi qemu+ssh://(sagittariusのIP)/system \
--migrateuri tcp://(sagittariusのIP)/ \
--verbose

1環境あたり、20GBの仮想ディスクが2つ(40GB)、大体18分程度で移行が出来た模様。

aquarius 側、仮想ディスクが残ってしまっているので、不要なら削除しておこう。
(virt-manager から削除するのが簡単だ。)

あと、過去に弄った時のゴミファイルが、何故か /var/lib/libvirt/qemu/nvram に残っていたので、不要なら削除してこう。

これで、aquarius 上の仮想環境が空っぽになったぞ。
次は、aquarius に共有用のボリュームを作成するところだ。

0 件のコメント:

コメントを投稿