12.8. 他のホストとの仮想マシンディスクイメージの共有
仮想マシン (仮想マシン) をライブマイグレーションするには、実行中の仮想マシンのストレージも移行する必要があります。移行プロセス中に仮想マシンがストレージへの読み書きを行えるようにする必要があります。これを行う方法の 1 つに、共有仮想マシンストレージを使用する方法があります。
次の手順では、NFS プロトコルを使用して、ローカルに保存された仮想マシンイメージを移行元ホストおよび移行先ホストと共有する方法を説明します。
前提条件
- 移行予定の仮想マシンがシャットダウンされている。
- オプション: 移行元ホストまたは移行先ホストではないストレージをホストするためのホストシステムを使用でき、移行元ホストまたは移行先ホストの両方がネットワーク経由でそのホストにアクセスできる。これは共有ストレージに最適なソリューションです。
- NFS ファイルロックが使用されていないことを確認する。この機能は KVM ではサポートされていません。
- NFS プロトコルが、移行元ホストと移行先ホストにインストールされ、有効化されている。NFS サーバーのデプロイ を参照してください。
virt_use_nfsSELinux ブール値がonに設定されている。# setsebool virt_use_nfs 1
手順
共有ストレージを提供する準備ができているホストに接続してください。この例では、
example-shared-storageホストです。# ssh root@example-shared-storage root@example-shared-storage's password: Last login: Mon Sep 24 12:05:36 2019 root~#ディスクイメージを保存し、移行ホストと共有する予定のディレクトリーを
、example-shared-storageホスト上に作成します。# mkdir /var/lib/libvirt/shared-images移行元ホストから新規作成されたディレクトリーに仮想マシンのディスクイメージをコピーします。次の例では、仮想マシンのディスクイメージ
example-disk-1をexample-shared-storageホストの/var/lib/libvirt/shared-images/ディレクトリーにコピーします。# scp /var/lib/libvirt/images/example-disk-1.qcow2 root@example-shared-storage:/var/lib/libvirt/shared-images/example-disk-1.qcow2ストレージを共有するのに使用するホストで、
/etc/exportsファイルに共有ディレクトリーを追加します。次の例では、/var/lib/libvirt/shared-imagesディレクトリーをexample-source-machineホストおよびexample-destination-machineホストと共有します。# /var/lib/libvirt/shared-images example-source-machine(rw,no_root_squash) example-destination-machine(rw,no\_root_squash)/etc/exportsファイルの変更を有効にするには、exportfs -aコマンドを実行します。# exportfs -a移行元ホストと移行先ホストの両方で、共有ディレクトリーを
/var/lib/libvirt/imagesディレクトリーにマウントします。# mount example-shared-storage:/var/lib/libvirt/shared-images /var/lib/libvirt/images
検証
- 移行元ホストで仮想マシンを起動し、正常に起動するか確認します。