KVMでのマイグレーションの実施 [CentOS]
実施手順は、以下の通りである。
# IP アドレスに関する情報
・192.168.0.12 … 既存の KVM ホスト、NFS サーバー
・192.168.0.11 … 追加した KVM ホスト
1. パッケージの追加
(1) openssh-askpass (SSH でのパスワードの入力機能)
# yum install openssh-askpass.x86_64
2. マイグレーションの実行環境の構築
2-1. KVM ホストの追加
(1) KVM ホストの複製
(a) 既存の KVM ホストを複製し、2 個目の KVM ホストを作成する。
(b) ホスト名、IP アドレスを変更する。
編集するファイルは、下記の通りである。
・/etc/sysconfig/network-scripts/ifcfg-enp2s0
・/etc/hostname
・/etc/hosts
(2) /etc/hosts の編集
KVM ホスト間で名前解決ができるように、当該ホストの設定を追加する。
2-2. 共有ディスクの設定
2 ノードからアクセスできる外部ディスクがないため、NFS を使用する。
実施手順は、下記の通りである。
(1) NFS サーバーの設定
KVM ホストの一方を NFS サーバーにする。
(a) NFS サービスの自動起動の設定
# systemctl enable nfs
(b) ディスクイメージの保存領域の別パーティション化
・/var/lib/libvirt/images 用のパーティションを作成する。
・上記パーティションを /kvm_data にマウントする。
・/var/lib/libvirt/images を /kvm_data にコピーする。
(c) /etc/exports ファイルの編集 (設定例)
# cat /etc/exports /kvm_data 192.168.0.0/24(rw,no_root_squash,sync)
(d) /etc/fstab の編集 (設定例、各エントリは一行で設定)
# /kvm_data のマウント /dev/sdc11 /kvm_data ext3 defaults 0 2 # /var/lib/libvirt/images の NFS マウント(ローカルディスクの NFS マウント) 192.168.0.12:/kvm_data /var/lib/libvirt/images nfs \ defaults,noac,hard,intr 0 0
(e) KVM ホストの再起動
(2) NFS クライアントの設定
他方の KVM ホストで、NFS サーバーの /kvm_data を NFS マウントする。
(NFS サーバーの起動が完了した後に実施する。)
(a) /etc/fstab の編集 (設定例、各エントリは一行で設定)
192.168.0.12:/kvm_data /var/lib/libvirt/images nfs \ defaults,noac,hard,intr 0 0
(b) KVM ホストの再起動
(補足)
NFS マウントは、KVM の設定で対応することも可能である。
手順は、下記の通りである。
・KVM の Storage 設定で、netfs タイプの Storage Pool を作成
Name: NFS (任意の名前で可) Type: netfs Target Path: /var/lib/libvirt/images Host Name: NFS サーバーのホスト名 Source Path: /kvm_data (NFS サーバー上のパス)
・Storage Pool の AutoStart 設定の変更
default(Filesystem Directory) を false に変更
NFS(Network Exported Directory) を ture に変更
2-3. virt-manager の設定
マイグレーション先の KVM ホストを追加する。
(1) virt-manager の起動
% virt-manager
(2) 接続先の追加
[File] -> [Add Connection] を選択し、接続先を登録する。
(a) 接続先の指定
Hypervisor: QEMU/KVM Connection to remote host: 選択 Method: SSH Username: root Hostname: マイグレーション先のホスト名
(b) [Connect] を選択
接続先での root のパスワードの入力が求められる。
2-4. その他の設定
(1) KVM ホストの UUID の変更
2 ノードで UUID が同じ場合には、下記の手順を実施する。
未実施の場合、同一のホストと判断され、マイグレーションを実施できない。
(a) KVM ホストの UUID の確認
2 ノードで下記のコマンドを実行する。
# dmidecode -s system-uuid
(b) random UUID の取得
# cat /proc/sys/kernel/random/uuid
(c) /etc/libvirt/libvirtd.conf の編集
host_uuid に上記の random UUID の値を設定する。
(d) libvirtd の再起動
# systemctl restart libvirtd
(2) ディスク・キャッシュの設定設定
下記の手順を実施し、キャッシュを none にする。
未実施の場合、下記メッセージが表示され、マイグレーションを実施できない。
(マイグレーション時に、[Allow unsafe] を選択する場合を除く。)
(a) 表示されるメッセージ
Unable to migrate guest: 安全ではないマイグレーション: ディスクが cache != none を使用していると、マイグレーションにより データが破損するかもしれません。
(b) 対処方法
VM 毎に下記の手順を実施する。
・メニューのアイコンから [Show virrual hardware details] を実行
・左側の一覧から該当するディスクを選択
・[Performance options] を展開
・[Cache mode] で [none] を選択
・[Apply] を選択
・ゲスト OS を shutdown
・ゲスト OS を 起動
3. マイグレーションの実施
(1) KVM ホストへの接続
マイグレーション元/先となる KVM ホストに接続する。
(2) VM の開始
マイグレーションを行う VM を起動する。
(3) マイグレーションの開始
・VM を選択し、右クリックで [Migrate] を選択
・マイグレーション先の VM ホストを選択
コメント 0