13.3. ディレクトリーベースのストレージプール

このセクションでは、ホスト物理マシンのディレクトリーにゲスト仮想マシンを格納する方法について説明します。
ディレクトリーベースのストレージプールは、virt-manager または virsh のコマンドラインツールで作成できます。

13.3.1. virt-manager を使用したディレクトリーベースのストレージプール作成

  1. ローカルのディレクトリーを作成します

    1. オプション: ストレージプール用に新規のディレクトリーを作成します

      ホスト物理マシン上にストレージプール用のディレクトリーを作成します。この例では、/guest virtual machine_images という名前のディレクトリーを作成しています。
      # mkdir /guest_images
    2. ディレクトリーの所有権を設定します

      ディレクトリーのユーザーとグループの所有権を変更します。ティレクトリーは root ユーザーが所有する必要があります。
      # chown root:root /guest_images
    3. ディレクトリーのアクセス権を設定します

      ディレクトリーのファイルアクセス権を変更します。
      # chmod 700 /guest_images
    4. 変更を確認します

      アクセス権が修正されていることを確認します。出力は正しく設定された空のディレクトリーを表示しています。
      # ls -la /guest_images
      total 8
      drwx------.  2 root root 4096 May 28 13:57 .
      dr-xr-xr-x. 26 root root 4096 May 28 13:57 ..
  2. SELinux のファイルコンテキストを設定します。

    SELinux の適切なコンテキストを新しいディレクトリーに設定します。プール名とディレクトリー名を一致させる必要はありませんが、ゲスト仮想マシンをシャットダウンする際に libvirt ではコンテキストをデフォルト値に戻さなければなりません。このデフォルト値はディレクトリーのコンテキストによって決定されます。したがって、ディレクトリーに「virt_image_t」のラベルを明示的に付けておくと、ゲスト仮想マシンがシャットダウンした際、そのイメージに「virt_image_t」のラベルが付けられるため、ホスト物理マシンで実行されている他のプロセスと区別できるようになります。
    # semanage fcontext -a -t virt_image_t '/guest_images(/.*)?'
    # restorecon -R /guest_images
  3. ストレージプール設定を開きます

    1. virt-manager グラフィカルインターフェースで、メインウィンドウからホスト物理マシンを選択します。
      編集 メニューを開き、接続の詳細 を選択します。
      接続の詳細ウィンドウ

      図13.7 接続の詳細ウィンドウ

    2. 接続の詳細 ウィンドウの ストレージ タブをクリックします。
      ストレージタブ

      図13.8 ストレージタブ

  4. 新しいストレージプールを作成します

    1. 新規のプールを追加します (パート1)。

      + ボタンを押します (プールの追加ボタン)。新規ストレージプールを追加 のウィザードが表示されます。
      ストレージプールの 名前 を選択します。この例では guest_images という名前を使用しています。種類dir: ファイルシステムディレクトリー にします。
      ストレージプールに名前を付ける

      図13.9 ストレージプールに名前を付ける

      進む ボタンを押して先に進みます。
    2. 新規のプールを追加します (パート2)。

      ターゲットパス フィールドを /guest_images などに変更します。
      詳細を確認して、完了 ボタンを押すと、ストレージプールが作成されます。
  5. 新しいストレージプールを確認します

    数秒後に、左側のストレージ一覧に新しいストレージプールが表示されます。予想通りのサイズが表示されていることを確認します。この例では、36.41 GB Free と表示されています。状態 フィールドに新しいストレージが Active と表示されていることを確認します。
    ストレージプールを選択します。自動起動 のフィールドで 起動時 のチェックボックスにチェックマークが付いていることを確認します。チェックマークが付いていると、libvirtd サービスの起動時は常にストレージプールも起動されます。
    ストレージプールの詳細を確認

    図13.10 ストレージプールの詳細を確認

    これでストレージプールが作成されました。接続の詳細 ウィンドウを閉じます。