Red Hat Training

A Red Hat training course is available for RHEL 8

11.2.2. CLI で仮想マシンのストレージの作成および割り当て

以下は、仮想マシンにストレージを作成し、割り当てる高度な手順です。

  1. ストレージプールの作成

    利用可能なストレージメディアから、1 つ以上のストレージプールを作成します。対応しているストレージプールの種類の一覧は、「ストレージプールの種類」を参照してください。

    • 永続ストレージプールを作成する場合は、virsh pool-define コマンドおよび virsh pool-define コマンドを使用します。

      virsh pool-define-as コマンドは、コマンドラインにオプションを配置します。virsh pool-define コマンドは、プールオプションに XML ファイルを使用します。

    • 一時的なストレージプールを作成する場合は、virsh pool-create コマンドおよび virsh pool-create-as コマンドを使用します。

      virsh pool-create-as コマンドは、コマンドラインにオプションを配置します。virsh pool-create コマンドは、プールオプションに XML ファイルを使用します。

  1. ストレージボリュームの作成

    利用可能なストレージプールから、ストレージボリューム を 1 つ以上作成します。

  2. 仮想マシンへのストレージデバイスの割り当て

    ストレージボリュームから抽象化されたストレージデバイスを、仮想マシンに割り当てます。

以下のセクションでは、CLI を使用してストレージを作成し、割り当てる方法を説明します。

11.2.2.1. CLI で仮想マシン用のディレクトリーベースのストレージの作成および割り当て

以下は、ディレクトリーベースのストレージプールおよびストレージボリュームの作成と、仮想マシンへのボリュームの割り当てに関する情報を提供します。

11.2.2.1.1. CLI でディレクトリーベースのストレージプールの作成

ここでは、ディレクトリーベースのストレージプールを作成する手順を説明します。

前提条件

  • ハイパーバイザーがディレクトリーのストレージプールをサポートしていることを確認します。

    # virsh pool-capabilities | grep "'dir' supported='yes'"

    コマンドの出力が表示される場合には、ディレクトリープールはサポートの対象です。

手順

  1. ストレージプールを作成します。

    virsh pool-define-as コマンドを使用し、ディレクトリータイプのストレージプールを定義して作成します。たとえば、 /guest_images ディレクトリーを使用する guest_images_dir という名前のストレージプールを作成するには以下を実行します。

    # virsh pool-define-as guest_images_dir dir --target "/guest_images"
    Pool guest_images_dir defined

    作成するストレージプールの XML 構成がすでにある場合は、XML を基にプールを定義することもできます。詳細は、「ディレクトリーベースのストレージプールのパラメーター」 を参照してください。

  2. ストレージプールのターゲットパスの定義

    virsh pool-build コマンドを使用して、フォーマット済みファイルシステムのストレージプール用のストレージプールターゲットパスを作成し、ストレージソースデバイスを初期化し、データのフォーマットを定義します。

    # virsh pool-build guest_images_dir
      Pool guest_images_dir built
    
    # ls -la /guest_images
      total 8
      drwx------.  2 root root 4096 May 31 19:38 .
      dr-xr-xr-x. 25 root root 4096 May 31 19:38 ..
  3. プールが作成されたことを確認します。

    virsh pool-list コマンドを使用して、プールが作成されたことを確認します。

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

    virsh pool-start コマンドを使用して、ストレージプールをマウントします。

    # virsh pool-start guest_images_dir
      Pool guest_images_dir started
    注記

    virsh pool-start コマンドは、永続ストレージプールにのみ必要です。一時的なストレージプールは、作成時に自動的に起動します。

  5. (必要に応じて) 自動起動をオンにします。

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

    # virsh pool-autostart guest_images_dir
      Pool guest_images_dir marked as autostarted

検証

  1. virsh pool-list コマンドを使用して、自動起動 の状態を確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_dir     inactive   yes
  2. ストレージプールが正しく作成され、報告されたサイズが期待どおりで、状態が 実行中 と報告されたことを確認します。

    # virsh pool-info guest_images_dir
      Name:           guest_images_dir
      UUID:           c7466869-e82a-a66c-2187-dc9d6f0877d0
      State:          running
      Persistent:     yes
      Autostart:      yes
      Capacity:       458.39 GB
      Allocation:     197.91 MB
      Available:      458.20 GB
11.2.2.1.2. ディレクトリーベースのストレージプールのパラメーター

本セクションでは、ディレクトリーベースのストレージプールに必要なパラメーターに関する情報と例を紹介しています。

指定のファイルで XML 設定に基づいてストレージプールを定義できます。以下に例を示します。

# virsh pool-define ~/guest_images.xml
  Pool defined from guest_images_dir

パラメーター

以下の表は、ディレクトリーベースのストレージプールの XML ファイルに必要なパラメーターの一覧です。

表11.1 ディレクトリーベースのストレージプールのパラメーター

説明XML

ストレージプールの種類

<pool type='dir'>

ストレージプールの名前

<name>name</name>

ターゲットを指定するパス。ストレージプールに使用されるパスになります。

<target>
   <path>target_path</path>
</target>

以下は、/guest_images ディレクトリーに基づいたストレージプールの XML ファイルの例です。

<pool type='dir'>
  <name>dirpool</name>
  <target>
    <path>/guest_images</path>
  </target>
</pool>

関連情報

ディレクトリーベースのストレージプールの作成方法は、「CLI でディレクトリーベースのストレージプールの作成」 を参照してください。