Red Hat Training

A Red Hat training course is available for RHEL 8

9.5. 他のホストとの仮想マシンディスクイメージの共有

対応している KVM ホスト 間で仮想マシンのライブマイグレーションを実行するには、仮想マシンの共有ストレージが必要です。次の手順では、NFS プロトコルを使用して、ローカルに保存された VM イメージをソースホストおよび宛先ホストと共有する方法について説明します。

前提条件

  • 移行に使用する仮想マシンがシャットダウンしている。
  • (必要に応じて) 移行元ホストまたは移行先ホストではないストレージをホストするのにホストシステムを使用できるが、移行元ホストと移行先ホストの両方がネットワーク経由でアクセスできる。これは共有ストレージに最適なソリューションで、Red Hat が推奨しています。
  • KVM では対応していないため、NFS ファイルのロック機能を使用しない。
  • NFS が移行元および移行先ホストにインストールされ、有効になっている。有効でない場合は、以下を行います。

    1. NFS パッケージをインストールします。

      # yum install nfs-utils
    2. 2049 などの NFS のポートがファイアウォールで開いていることを確認します。

      # firewall-cmd --permanent --add-service=nfs
      # firewall-cmd --permanent --add-service=mountd
      # firewall-cmd --permanent --add-service=rpc-bind
      # firewall-cmd --permanent --add-port=2049/tcp
      # firewall-cmd --permanent --add-port=2049/udp
      # firewall-cmd --reload
    3. NFS サービスを起動します。

      # systemctl start nfs-server

手順

  1. 共有ストレージを提供するホストに接続します。以下の例では、cargo-bay ホストです。

    # ssh root@cargo-bay
    root@cargo-bay's password:
    Last login: Mon Sep 24 12:05:36 2019
    root~#
  2. ディスクイメージを保持するディレクトリーを作成し、移行ホストと共有します。

    # mkdir /var/lib/libvirt/shared-images
  3. 移行元ホストから新規作成されたディレクトリーに仮想マシンのディスクイメージをコピーします。たとえば、以下は、wanderer1 仮想マシンのディスクイメージを、`cargo-bay` ホストの /var/lib/libvirt/shared-images/ ディレクトリーのディスクイメージにコピーします。

    # scp /var/lib/libvirt/images/wanderer1.qcow2 root@cargo-bay:/var/lib/libvirt/shared-images/wanderer1.qcow2
  4. ストレージを共有するのに使用するホストで、/etc/exports ファイルに共有ディレクトリーを追加します。以下の例では、 /var/lib/libvirt/shared-images ディレクトリーを source-exampledest-example ホストと共有しています。

    /var/lib/libvirt/shared-images source-example(rw,no_root_squash) dest-example(rw,no_root_squash)
  5. 移行元ホストと移行先ホストの両方で、共有ディレクトリーを /var/lib/libvirt/images ディレクトリーにマウントします。

    # mount cargo-bay:/var/lib/libvirt/shared-images /var/lib/libvirt/images

検証

  • プロセスが成功したことを確認するには、ソースホストで仮想マシンを起動して、正しく起動したかどうかを確認します。