Red Hat Training

A Red Hat training course is available for Red Hat Linux

13.2.3. virsh を使用したパーティションベースのストレージプールの作成

このセクションでは、virsh コマンドを使用した、パーティションベースストレージプールの作成を説明しています。

警告

ディスク全体をストレージプールとして割り当てる場合は、 この手順を使用しないでください (例、/dev/sdb) 。 ブロックデバイスやディスク全体への書き込みアクセスはゲストに与えないようにしてください。 この手順はパーティション (例、 /dev/sdb1) をストレージプールに割り当てる場合にのみ使用してください。

手順13.2 virsh を使用して事前フォーマット済みのブロックデバイスのストレージプールを作成する

  1. ストレージプールの定義を作成します

    virsh pool-define-as コマンドを使用して、 新規のストレージプールの定義を作成します。 事前フォーマット済みディスクをストレージプールとして定義するには、 入力を必要とするオプションが 3 つあります。
    パーティション名
    name パラメーターでストレージプールの名前を指定します。 この例では、 guest_images_fs という名前を使用しています。
    デバイス
    device パラメーターに path 属性を持たせストレージデバイスのデバイスパスを指定します。 この例では、 /dev/sdc1 パーティションを使用しています。
    マウントポイント
    フォーマット済みのデバイスをマウントするローカルファイルシステム上の mountpoint です。 マウントポイントのディレクトリーが存在しない場合は、virsh コマンドによりそのディレクトリーが作成されます。
    この例では、 /guest_images ディレクトリーを使用しています。
    # virsh pool-define-as guest_images_fs fs - - /dev/sdc1 - "/guest_images"
    Pool guest_images_fs defined
    これで、新規のプールとマウントポイントが作成されました。
  2. 新規のプールを確認する

    現在のストレージプールを一覧表示させます
    # virsh pool-list --all
    Name                 State      Autostart
    -----------------------------------------
    default              active     yes
    guest_images_fs      inactive   no
  3. マウントポイントを作成する

    virsh pool-build コマンドを使用して、 事前フォーマット済みファイルシステムのストレージプール用のマウントポイントを作成します。
    # virsh pool-build guest_images_fs
    Pool guest_images_fs 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 ..
    # virsh pool-list --all
    Name                 State      Autostart
    -----------------------------------------
    default              active     yes
    guest_images_fs      inactive   no
  4. ストレージプールを起動する

    virsh pool-start コマンドを使用して、 ファイルシステムをマウントポイントにマウントし、 プールを使用可能にします。
    # virsh pool-start guest_images_fs
    Pool guest_images_fs started
    # virsh pool-list --all
    Name                 State      Autostart
    -----------------------------------------
    default              active     yes
    guest_images_fs      active     no
  5. autostart をオンにする

    デフォルトでは、virsh で定義されているストレージプールは、libvirtd が開始する度に自動的に開始するようには設定されていません。virsh pool-autostart コマンドを使用して自動開始をオンにします。そうすると、ストレージプールは libvirtd が開始する度に自動的に開始されます。
    # virsh pool-autostart guest_images_fs
    Pool guest_images_fs marked as autostarted
    
    # virsh pool-list --all
    Name                 State      Autostart
    -----------------------------------------
    default              active     yes
    guest_images_fs      active     yes
  6. ストレージプールを確認する

    ストレージプールが正しく作成されたこと、 期待通りのサイズが報告されていること、 状態が running として報告されていることを確認します。 ファイルシステム上のマウントポイントに "lost+found" ディレクトリーがあるか確認します。 このディレクトリーがあればデバイスはマウントされていることになります。
    # virsh pool-info guest_images_fs
    Name:           guest_images_fs
    UUID:           c7466869-e82a-a66c-2187-dc9d6f0877d0
    State:          running
    Persistent:     yes
    Autostart:      yes
    Capacity:       458.39 GB
    Allocation:     197.91 MB
    Available:      458.20 GB
    # mount | grep /guest_images
    /dev/sdc1 on /guest_images type ext4 (rw)
    # ls -la /guest_images
    total 24
    drwxr-xr-x.  3 root root  4096 May 31 19:47 .
    dr-xr-xr-x. 25 root root  4096 May 31 19:38 ..
    drwx------.  2 root root 16384 May 31 14:18 lost+found