SSブログ

KVMでのマイグレーションの実施 [CentOS]

先日 CentOS 7.2 上に作成した KVM の仮想環境へ、マイグレーションの実行環境を追加した。
実施手順は、以下の通りである。

# 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 ホストを選択



nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。