KVMで稼働している仮想マシンをNutanix AHVへ移行する場合、qcow2をNutanixへ持っていくだけで必ず正常に起動できるとは限りません。
移行元と移行先では仮想ハードウェアが変わるため、BIOS/UEFI、VirtIO、ディスク、NIC、固定IPなどを事前に確認しておくことが重要です。
この記事では、KVMからNutanix AHVへVMを移行する前に確認しておきたい項目をチェックリスト形式でまとめます。

- KVMからNutanix AHVへ移行する前のチェックリスト
- 1.VMの構成を記録する
- 2.BIOS / UEFIを確認する
- 3.Secure Bootの有無も確認する
- 4.仮想ディスクを確認する
- qcow2だから必ずそのまま移行できるとは考えない
- 5.複数ディスクがないか確認する
- 6.スナップショットやbacking fileを確認する
- 7.VirtIOを確認する
- Windows VMはVirtIOドライバに特に注意する
- 8.ゲストOSの対応状況を確認する
- 9.IPアドレスを記録する
- 10.移行元と移行先を同時に接続しない
- 11.LinuxのNIC名を確認する
- 12./etc/fstabを確認する
- 13.自動起動サービスを確認する
- 14.cronなどの定期処理を確認する
- 15.移行前にqcow2をバックアップする
- 16.切り戻し手順を先に決める
- 17.停止時間を見積もる
- 18.移行後の確認項目を先に作っておく
- 実際のKVM→Nutanix AHV移行手順
- 移行後にVMが重い場合
- Nutanix側のHealthも確認する
- まとめ
- 参考情報
KVMからNutanix AHVへ移行する前のチェックリスト
最初に全体をまとめると、次の8項目を確認します。
- VMのCPU・メモリ・ディスク構成を記録する
- BIOS / UEFIなど起動方式を確認する
- 仮想ディスクの形式と構成を確認する
- VirtIOとゲストOSの対応状況を確認する
- IP・NIC・VLANなどネットワーク設定を記録する
- Linuxのfstab・UUID・NICなどを確認する
- バックアップと切り戻し方法を準備する
- 停止時間と移行後の確認項目を決める
1.VMの構成を記録する
移行作業を始める前に、現在のKVM VMの構成を記録します。
libvirt環境なら、まずVMを確認します。
virsh list --all
対象VMの基本情報を確認します。
virsh dominfo VM名
ディスクを確認します。
virsh domblklist VM名
NICを確認します。
virsh domiflist VM名
さらにVMのXMLを保存しておきます。
virsh dumpxml VM名 > VM名.xml
最低でも次の情報を記録しておきます。
- vCPU数
- メモリ容量
- 仮想ディスク数
- 各ディスクの容量
- ディスクバス
- NIC数
- MACアドレス
- ゲストOS
- BIOS / UEFI
移行後に「元のVMはどういう構成だったか」が分からなくなるのを防げます。
2.BIOS / UEFIを確認する
特に重要なのがVMの起動方式です。
移行元がBIOSなのかUEFIなのか確認します。
Linuxゲストから確認する場合は、例えば次の方法があります。
ls /sys/firmware/efi
このディレクトリが存在する場合は、一般にUEFIで起動していると判断できます。
パーティション形式も確認しておくとよいでしょう。
lsblk -f
fdisk -l
GPTなのかMBRなのかも記録しておきます。
UEFIで起動していたOSを、移行先で異なる起動方式に設定すると起動できない可能性があります。
Nutanix AHV側でVMを作成するときも、移行元の起動方式を意識して設定します。
3.Secure Bootの有無も確認する
UEFIを利用している場合はSecure Bootについても確認します。
Nutanix AHVでもUEFIおよびSecure Bootに関する設定があります。
Secure Bootを利用する構成では、利用できる仮想デバイスの組み合わせにも注意が必要です。
そのため、単に「UEFIだった」という情報だけでなく、Secure Bootを使用していたかも記録しておきます。
4.仮想ディスクを確認する
次に仮想ディスクを確認します。
virsh domblklist VM名
例えば、
/var/lib/libvirt/images/server01.qcow2
のようなファイルが使用されていることがあります。
qemu-imgで詳細を確認します。
qemu-img info /var/lib/libvirt/images/server01.qcow2
ここでは、
- file format
- virtual size
- disk size
- backing fileの有無
などを確認します。
qcow2だから必ずそのまま移行できるとは考えない
NutanixのImage Serviceではqcow2を含むディスクイメージを扱えます。
しかし、ディスクファイルを読み込めることと、そのディスクに入っているOSがAHV上で正常に起動できることは別の問題です。
起動方式やVirtIO、ゲストOSの対応状況なども確認する必要があります。
5.複数ディスクがないか確認する
OSディスクだけを移行して、データディスクを忘れないようにします。
virsh domblklist VM名
例えば、
vda server01.qcow2
vdb data01.qcow2
vdc data02.qcow2
となっている場合は3台のディスクがあります。
移行後も正しい順序・用途で接続できるよう、各ディスクの役割を記録します。
6.スナップショットやbacking fileを確認する
qcow2ではbacking fileを利用した構成になっている場合があります。
qemu-img info server01.qcow2
出力にbacking fileが表示される場合は、そのファイルだけをコピーしても完全なディスクにならない可能性があります。
移行前にディスクの依存関係を確認します。
7.VirtIOを確認する
AHVへの手動移行ではVirtIOが重要な確認項目です。
Nutanixの手動移行に関する技術情報でも、AHVで利用するネットワークやディスクなどのVirtIOドライバを事前に準備することが重要とされています。
LinuxではVirtIOドライバが標準で含まれているディストリビューションも多くありますが、OSやカーネルによって状況が異なるため確認します。
例えばLinuxでは、
lsmod | grep virtio
などでロードされているVirtIO関連モジュールを確認できます。
必要に応じて、
modinfo virtio
modinfo virtio_blk
modinfo virtio_scsi
modinfo virtio_net
なども確認します。
Windows VMはVirtIOドライバに特に注意する
Windowsでは、AHVで必要になるVirtIOドライバが移行元VMに存在しないと、ディスクやNICを認識できない場合があります。
Windows VMを移行する場合は、利用しているWindowsバージョンがAHVでサポートされているか確認したうえで、必要なNutanix VirtIOドライバを準備します。
8.ゲストOSの対応状況を確認する
「Linuxだから動くだろう」「KVMで動いていたからAHVでも動くだろう」と判断せず、移行対象OSが利用中のAHV/AOS環境でサポートされるか確認します。
特に古いOSを移行する場合は注意が必要です。
OSが起動できても、サポート対象外の構成では障害発生時の対応が難しくなる可能性があります。
9.IPアドレスを記録する
ネットワーク設定も移行前に記録します。
Linuxなら、
ip addr
ip route
などで確認します。
記録しておきたい項目は、
- IPアドレス
- サブネットマスク / プレフィックス
- デフォルトゲートウェイ
- DNSサーバー
- VLAN
- NIC名
- MACアドレス
などです。
10.移行元と移行先を同時に接続しない
AHV側でも同じIPアドレスを使用する場合、KVM側のVMとAHV側のVMを同時に本番ネットワークへ接続するとIPアドレスが重複します。
移行テストでは、隔離されたネットワークを利用するなどの方法も検討します。
本番切り替え時には、旧VMが確実に停止していることを確認してから新VMを本番ネットワークへ接続します。
11.LinuxのNIC名を確認する
仮想ハードウェアが変わることで、Linux側のNIC認識が変化する可能性があります。
移行前に、
ip link
でNIC名を記録します。
例えば、
ens160
ens192
eth0
などです。
移行後は同じ名前になるとは限らないため、ネットワークがつながらない場合の確認ポイントになります。
12./etc/fstabを確認する
Linux VMではfstabも確認します。
cat /etc/fstab
ディスクのUUIDを確認します。
blkid
lsblk -f
複数ディスクがある場合は、どのディスクがどこへマウントされているか記録しておきます。
移行後にOSは起動したものの、データ領域がマウントされていなかったという事態を防ぎやすくなります。
13.自動起動サービスを確認する
移行前に、重要なサービスも確認します。
systemctl --failed
systemctl list-unit-files --state=enabled
Webサーバー、DB、メール、監視など、VMの役割に応じて確認項目を決めます。
移行後に同じサービスを確認することで、移行前後を比較できます。
14.cronなどの定期処理を確認する
サーバー移行では、OSやアプリケーションが起動するだけでなく定期処理も重要です。
例えば、
crontab -l
ls -l /etc/cron.d/
ls -l /etc/cron.daily/
などを確認します。
バックアップ、監視、ログ転送、バッチ処理などが正常に動くか、移行後の確認項目に含めます。
15.移行前にqcow2をバックアップする
本番移行前には、元の仮想ディスクを戻せるようにしておきます。
VMを停止した状態でバックアップする場合は、例えば、
cp -a server01.qcow2 server01_before_ahv.qcow2
などの方法があります。
KVMのqcow2バックアップについてはこちらで解説しています。

16.切り戻し手順を先に決める
移行に失敗してから切り戻し方法を考えるのではなく、移行前に決めておきます。
例えば、
KVM VM停止
↓
最終バックアップ
↓
AHVへ移行
↓
AHV VM起動
↓
動作確認
↓
NGならAHV VM停止
↓
KVM VMを再起動
という流れです。
ただしデータベースなどでは、AHV側で本番データの更新が始まった後に単純に旧KVMへ戻すとデータ不整合が発生する可能性があります。
アプリケーションやDBを含めた切り戻し方法を事前に決めておきます。
17.停止時間を見積もる
手動移行ではVM停止後に大容量のディスクイメージを転送する場合があり、ディスク容量とネットワーク速度によって停止時間が大きく変わります。
事前にテスト用VMなどで、
- qcow2のコピー時間
- Nutanixへの転送時間
- Image Serviceへの登録時間
- VM作成時間
- 起動確認時間
を測定しておくと、本番のメンテナンス時間を見積もりやすくなります。
18.移行後の確認項目を先に作っておく
移行後に何を確認するのかも事前に決めます。
最低限、
- OSが正常起動する
- 全ディスクを認識する
- 全ファイルシステムがマウントされる
- NICを認識する
- IPアドレスが正しい
- デフォルトゲートウェイへ通信できる
- DNS名前解決ができる
- 重要サービスが起動する
- アプリケーションが利用できる
- バックアップが動作する
- 監視が正常になる
などを確認します。
実際のKVM→Nutanix AHV移行手順
チェックが完了したら、実際の移行を行います。
qcow2を使った手動移行についてはこちらの記事で解説しています。
▶ KVMからNutanix AHVへ仮想マシンを移行する方法|qcow2を使った手動移行
移行後にVMが重い場合
移行は成功したものの性能が悪い場合は、CPUだけでなくメモリやストレージI/Oも確認します。
▶ Nutanix AHVでVMが重い・遅いときの確認ポイント|CPU・メモリ・ストレージを切り分け
Nutanix側のHealthも確認する
VMだけでなく、Nutanixクラスタ側にアラートが発生していないかも確認します。
▶ Nutanix Prism Elementで確認したいアラートと健全性チェック|運用で最初に見るポイント
まとめ
KVMからNutanix AHVへの移行では、qcow2をコピーする作業だけに注目せず、移行前の確認が重要です。
特に、
VM構成
BIOS / UEFI
Secure Boot
ディスク形式
VirtIO
ゲストOS
IP / VLAN / NIC
fstab / UUID
バックアップ
切り戻し
停止時間
移行後テスト
を事前に確認しておくと、移行時のトラブルを減らしやすくなります。
「移行できるか」だけではなく「失敗したらどう戻すか」まで決めてから本番VMを移行することが重要です。


コメント