13.4.7. コマンドラインを使用して仮想マシンに NFS ベースのストレージを接続する


仮想マシン (VM) にネットワークストレージを提供するには、ネットワークファイルシステム (NFS) サーバーに基づくストレージボリュームを使用します。

コマンドラインを使用して NFS ベースのストレージを仮想マシンに接続するには、次のいずれかの方法を使用します。

  • 新しい仮想マシンを作成する場合は、Create virtual machine ダイアログの Storage オプションを使用して新しいディスクを作成し、接続します。詳細な手順は、Web コンソールを使用した仮想マシンの作成 を参照してください。
  • 既存の仮想マシンの場合は、NFS ベースのストレージボリュームを作成し、それを仮想マシンに接続します。次の手順を参照してください。

前提条件

  • ハイパーバイザーが NFS ベースのストレージプールに対応していることを確認します。

    # virsh pool-capabilities | grep "<value>nfs</value>"

    コマンドの出力が表示される場合には、NFS ベースのストレージプールはサポートの対象です。

  • 使用できる NFS が必要です。詳細は、NFS 共有のマウント を参照してください。

手順

  1. NFS ベースのストレージプールがまだない場合は、新しい NFS ベースのストレージプールを作成して設定します。

    1. NFS タイプのストレージプールを定義および作成します。たとえば、ターゲットディレクトリー /var/lib/libvirt/images/nfspool を使用してサーバーディレクトリー /home/net_mount にマウントされ、IP が 111.222.111.222 の NFS サーバーを使用するストレージプールを、guest_images_netfs という名前で作成するには、以下を実行します。

      # virsh pool-define-as --name guest_images_netfs \
         --type netfs --source-host='111.222.111.222' \
         --source-path='/home/net_mount' --source-format='nfs' \
         --target='/var/lib/libvirt/images/nfspool'
      
      Pool guest_images_netfs defined
    2. 以前に定義した設定に基づいてストレージプールを作成します。

      # virsh pool-build guest_images_netfs
        Pool guest_images_netfs built
    3. オプション: プールが作成されたことを確認します。

      # virsh pool-list --all
      
        Name                   State      Autostart
        -------------------------------------------
        default                active     yes
        guest_images_netfs     inactive   no
    4. ストレージプールを起動します。

      # virsh pool-start guest_images_netfs
        Pool guest_images_netfs started
    5. オプション: 自動起動をオンにします。

      デフォルトでは、virsh で定義したストレージプールは、仮想化サービスが起動するたびに自動的に起動するように設定されません。virsh pool-autostart コマンドを使用して、ストレージプールを自動的に起動するように設定します。

      # virsh pool-autostart guest_images_netfs
        Pool guest_images_netfs marked as autostarted
  2. NFS ベースのストレージボリュームを作成します。たとえば、次のコマンドは、guest_images_netfs ストレージプールに基づいて、vm-disk1 という名前の 20 GB の qcow2 ボリュームを作成します。

    # virsh vol-create-as --pool guest_images_netfs --name vm-disk1 --capacity 20GB --format qcow2
    
    Vol vm-disk1 created
  3. ストレージボリュームを仮想ディスクとして仮想マシンに接続します。

    1. 作成したストレージボリュームの場所を確認します。これを行うには、ボリュームが属するストレージプールを調べます。

      # virsh vol-list --pool guest_images_netfs --details
      
       Name        Path                                       Type   Capacity    Allocation
      -------------------------------------------------------------------------------------
       vm-disk1   /var/lib/libvirt/images/nfspool/vm-disk1    file  20.00 GiB   196.00 KiB
    2. ディスクを接続する仮想マシンですでに使用されているターゲットデバイスを確認します。

      # virsh domblklist --details <vm-name> Type Device Target Source ---------------------------------------------------------------- file disk *vda      /home/VirtualMachines/vm-name.qcow2
       file   cdrom    vdb      -
    3. オプション: データの破損やディスクの断片化の問題を回避するために、ディスクの整合性を確認します。手順は、仮想ディスクの整合性のチェック を参照してください。
    4. virsh attach-disk コマンドを使用してディスクを仮想マシンに接続します。仮想マシンで使用されていないターゲットデバイスを指定します。

      たとえば、次のコマンドは、以前に作成した vm-disk1vdc デバイスとして testguest1 仮想マシンに接続します。

      # virsh attach-disk testguest1 /var/lib/libvirt/images/nfspool/vm-disk1 vdc --persistent

検証

  1. ディスクを接続した仮想マシンの XML 設定を調べて、設定が正しいかどうかを確認します。

    # virsh dumpxml testguest1
    
    ...
        <disk type='file' device='disk'>
          <driver name='qemu' type='qcow2' discard='unmap'/>
          <source file='/var/lib/libvirt/images/nfspool/vm-disk1' index='1'/>
          <backingStore/>
          <target dev='vdc' bus='virtio'/>
          <alias name='virtio-disk2'/>
          <address type='drive' controller='0' bus='0' target='0' unit='0'/>
        </disk>
    ...
  2. 仮想マシンのゲストオペレーティングシステムで、ディスクイメージが未フォーマットかつ未割り当てのディスクとして利用できるようになっていることを確認します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る