ZFSonRoot(3日目)
サーバーリプレイス作業3日目
本日は、旧環境で稼働させていたKVMの仮想マシンの再稼働になります。
新旧環境の差異は以下となります。
OS :CentOS8 > Ubuntu20TLS
CPU:Intel > AMD
とゆうことで全く違う環境という事です。
旧環境のKVMの設定ファイル(XML)は、全てバックアップしてありますが
結論から言えば9割9分変更しました。
ただバックアップしておいた設定ファイルの重要度は10割でした。
VMリストア作業
いつもKVMのリストア作業の場合は、設定ファイルを所定のディレクトリである /etc/libvirt/qemuにコピーして、コピーした設定ファイルをvirsh define /etc/libvirt/qemu/vm.xmlで読み込みエラーが出た箇所を適時修正して完了なのですが・・・
一応、今回も旧環境で検証用にしていたVMで試したのですが、上述通り全く別環境のためエラーがわんさか出てきてもう訳が分からなくってしまったので途方に暮れてしましました。
虎穴に入らずんば虎子を得ず
しかし、2時間ほど散歩なり3時のおやつなどを挟んで心身ともにクールダウンを挟む事で解決方法を思いつきました。
やったことは、実に単純!
新環境で復旧したいVMと同じOSのVMを作成して、その設定ファイルのコピーを元にしてVM名と使用するイメージファイルの設定たけ変えたものを作ってvirsh defineで読み込ませるという方法です。
ここで重要になってきたのが旧設定ファイルになります。
ここで重要になってくるのは、VM名やイメージファイルのパスではありませんでした。
イメージファイルのパスは、ファイルの実体が置いてある場所のフルパスを指定するので、旧設定がなくても問題ありません。
VM名に至っては、好きな名前をつか変えられるのでそもそも重要ではないです。
ユニークである事
旧設定ファイル値で重要になってくるのは、UUIDになります。
これは、同一のホスト環境で被ることはできない一意の値になるため、新環境で新規作成したVMの設定値をそのまま使えません(被ってしまうので)。
そこで旧環境の設定ファイルの出番になります。
旧環境の設定ファイルの復旧したいVMの設定ファイルからUUIDをコピーして貼り付けることで一意の値を設定する事が出来ます。
※ちなみにUUID自体は、コマンドで発行可能なのですが今回は、この方法を採用しました。
この方法は、実際にうまくいって全てのVMの復旧が完了し現在安定的に稼働しています。
今夜1日稼働させて問題なければ、明日はVPN設定を行いリプレイス作業は、終了となります。