Red Hat Training

A Red Hat training course is available for RHEL 8

11.2.2.9. CLI でストレージボリュームの作成および割り当て

ディスクイメージを取得して、仮想ディスクとして仮想マシンに割り当てるには、ストレージボリュームを作成し、その XML 設定を仮想マシンに割り当てます。

前提条件

  • 空き領域が割り当てられていないストレージプールがホストに存在する。ホストのストレージプールを一覧表示して確認します。

    # virsh pool-list --details
    
    Name               State     Autostart   Persistent   Capacity     Allocation   Available
    --------------------------------------------------------------------------------------------
    default            running   yes         yes          48.97 GiB    36.34 GiB    12.63 GiB
    Downloads          running   yes         yes          175.92 GiB   121.20 GiB   54.72 GiB
    VM-disks           running   yes         yes          175.92 GiB   121.20 GiB   54.72 GiB

手順

  1. virsh vol-create-as コマンドを使用してストレージボリュームを作成します。たとえば、guest-images-fs ストレージプールをもとに 20 GB qcow2 ボリュームを作成するには以下を実行します。

    # virsh vol-create-as --pool guest-images-fs --name vm-disk1 --capacity 20 --format qcow2

    重要: ストレージプールタイプによっては、virsh vol-create-as コマンドがサポートされないため、代わりにストレージボリューム作成の特定のプロセスが必要になります。

    • GlusterFSベース - qemu-img コマンドを使用して、ストレージボリュームを作成します。
    • iSCSI ベース - iSCSI サーバーに事前に iSCSI LUN を準備します。
    • マルチパスベース - multipathd コマンドを使用して、マルチパスを準備または管理します。
    • vHBA ベース - ファイバーチャンネルカードを事前に準備します。
  2. XML ファイルを作成し、そのファイルに以下の行を追加します。このファイルは、ストレージボリュームをディスクとして仮想マシンに追加するために使用します。

    <disk type='volume' device='disk'>
        <driver name='qemu' type='qcow2'/>
        <source pool='guest-images-fs' volume='vm-disk1'/>
        <target dev='hdk' bus='ide'/>
    </disk>

    この例では、前の手順で作成した vm-disk1 ボリュームを使用する仮想ディスクを指定し、このボリュームを ide バスに hdk ディスクとして指定するように設定します。実際の環境に応じてそれぞれのパラメーターを変更します。

    重要: 特定のストレージプールタイプでは、別の XML 形式を使用してストレージボリュームディスクを記述する必要があります。

    • GlusterFS ベース のプールの場合:

        <disk type='network' device='disk'>
          <driver name='qemu' type='raw'/>
          <source protocol='gluster' name='Volume1/Image'>
            <host name='example.org' port='6000'/>
          </source>
          <target dev='vda' bus='virtio'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
        </disk>
    • マルチパスベース のプールの場合:

      <disk type='block' device='disk'>
      <driver name='qemu' type='raw'/>
      <source dev='/dev/mapper/mpatha' />
      <target dev='sda' bus='scsi'/>
      </disk>
    • RBD ベースのストレージ プールの場合:

        <disk type='network' device='disk'>
          <driver name='qemu' type='raw'/>
          <source protocol='rbd' name='pool/image'>
            <host name='mon1.example.org' port='6321'/>
          </source>
          <target dev='vdc' bus='virtio'/>
        </disk>
  3. XML ファイルを使用して、ストレージボリュームをディスクとして仮想マシンに割り当てます。たとえば、~/vm-disk1.xml で定義したディスクを testguest1 仮想マシンに割り当てるには、以下を実行します。

    # attach-device --config testguest1 ~/vm-disk1.xml

検証

  • 仮想マシンのゲストオペレーティングシステムで、ディスクイメージが未フォーマットかつ未割り当てのディスクとして利用できるようになっていることを確認します。