13.3. ディレクトリーベースのストレージプール
virt-manager または virsh のコマンドラインツールを使用して作成することができます。
13.3.1. virt-manager を使用したディレクトリーベースのストレージプールの作成
ローカルのディレクトリーを作成します。
オプション: ストレージプール用に新規ディレクトリーを作成します。
ホストマシン上にストレージプール用のディレクトリーを作成します。この例では /guest_images と言うディレクトリー名を使用しています。#
mkdir /guest_imagesディレクトリーの所有権を設定します。
ディレクトリーのユーザーとグループの所有権を変更します。ディレクトリーは root ユーザーによって所有される必要があります。#
chown root:root /guest_imagesディレクトリーの権限を設定します。
ディレクトリーのファイル権限を変更します。#
chmod 700 /guest_images変更を確認します。
権限が変更されていることを確認します。出力には、正しく設定された空のディレクトリーが表示されます。#
ls -la /guest_imagestotal 8 drwx------. 2 root root 4096 May 28 13:57 . dr-xr-xr-x. 26 root root 4096 May 28 13:57 ..
SELinux のファイルコンテキストを設定します。
新しいディレクトリーに適切な SELinux コンテキストを設定します。プール名とディレクトリー名を一致させる必要はありません。ただし、ゲスト仮想マシンをシャットダウンする際に libvirt はコンテキストをデフォルト値に戻さなければなりません。このデフォルト値はディレクトリーのコンテキストによって決定されます。したがって、ディレクトリーに「virt_image_t」のラベルを明示的に付けておくと、ゲスト仮想マシンがシャットダウンした際にそのイメージに「virt_image_t」のラベルが付けられるため、ホスト物理マシンで実行されている他のプロセスと区別できるようになります。#
semanage fcontext -a -t virt_image_t '/guest_images(/.*)?'#restorecon -R /guest_imagesストレージプールの設定を開きます。
virt-managerグラフィカルインターフェースで、メインウィンドウからホスト物理マシンを選択します。編集 メニューを開き 接続の詳細 を選択します。- 接続の詳細 ウィンドウで ストレージ タブをクリックします。

図13.5 「ストレージ」タブ
新しいストレージプールを作成します。
新規プールの追加 (パート1)
+ ボタンを押します (プールの追加ボタン)。新規ストレージプールを追加 ウィザードが表示されます。ストレージプールの を選択します。この例では guest_images という名前を使用しています。 をdir: ファイルシステムディレクトリーにします。
図13.6 ストレージプールに名前を付ける
ボタンを押して先に進みます。新規プールの追加 (パート2)
フィールドを /guest_images などに変更します。
図13.7 ストレージプールのパスの選択
詳細を確認したら、 ボタンを押してストレージプールを作成します。
新しいストレージプールを確認します。
数秒後、左側のストレージ一覧に新しいストレージプールが表示されます。サイズが予想通りの値で報告されていることを確認します (この例では、75.15 GiB 空き)。 フィールドに新しいストレージが 動作中 と表示されていることを確認します。ストレージプールを選択します。 フィールドで のチェックボックスにチェックが付いていることを確認します。チェックが付いていると、libvirtdサービスの起動時は常にストレージプールも起動します。
図13.8 ストレージプール情報の確認
これでストレージプールが作成されました。接続の詳細 ウィンドウを閉じます。
13.3.2. virt-manager を使用したストレージプールの削除
- 同じプールを使用する他のゲスト仮想マシンに関連した問題を避けるには、ストレージプールを停止し、そのストレージプールで使用中のリソースをすべて解放するのが最良の方法です。これを実行するには、停止するストレージプールを選択して、ストレージウィンドウの下部にある
をクリックします。
- ストレージプールを削除するには、
をクリックします。このアイコンが使用できるのは、ストレージプールが停止している場合のみです。
13.3.3. virsh を使用したディレクトリーベースのストレージプールの作成
ストレージプールの定義を作成します。
新規のストレージプールを定義するためにvirsh pool-define-asコマンドを使用します。ディレクトリーベースのストレージプールの作成には 2 つのオプションが必要になります。- ストレージプールの
名前。この例では guest_images という名前を使用しています。この例のvirshコマンドではすべてこの名前を使用しています。 - ゲストイメージファイル格納用のファイルシステムディレクトリーへの
パス(このディレクトリーが存在しない場合は、virshがディレクトリーを作成します)。この例では /guest_images ディレクトリーを使用しています。
#
virsh pool-define-as guest_images dir - - - - "/guest_images" Pool guest_images definedストレージプールが一覧表示されていることを確認します。
ストレージプールオブジェクトが正しく作成されていること、および状態がinactiveとして表示されていることを確認します。#
virsh pool-list --allName State Autostart ----------------------------------------- default active yes guest_images inactive noローカルのディレクトリーを作成します。
以下のようにvirsh pool-buildコマンドを使用し、guest_images (例) ディレクトリーにディレクトリーベースのストレージプールをビルドします。#
virsh pool-build guest_imagesPool guest_images built #ls -la /guest_imagestotal 8 drwx------. 2 root root 4096 May 30 02:44 . dr-xr-xr-x. 26 root root 4096 May 30 02:44 .. #virsh pool-list --allName State Autostart ----------------------------------------- default active yes guest_images inactive noストレージプールを起動します。
virsh コマンドのpool-startを使ってディレクトリーストレージプールを有効にします。これにより、プールのボリュームがゲストのディスクイメージとして使用されます。#
virsh pool-start guest_imagesPool guest_images started #virsh pool-list --allName State Autostart ----------------------------------------- default active yes guest_images active noautostart をオンにします。
ストレージプールのautostartをオンにします。Autostart は、libvirtdサービスの起動時にはストレージプールも起動されるように設定します。#
virsh pool-autostart guest_imagesPool guest_images marked as autostarted #virsh pool-list --allName State Autostart ----------------------------------------- default active yes guest_images active yesストレージプールの設定を確認します。
ストレージプールが正しく作成されたこと、およびサイズが正確に報告されていること、さらに状態がrunningとして報告されていることを確認します。ゲスト仮想マシンが実行されていない場合でもプールへのアクセスを可能にしておきたい場合には、Persistentにyesが表示されていることを確認します。サービスの起動時にプールを自動的に起動させる場合は、Autostartにyesが表示されていることを確認します。#
virsh pool-info guest_imagesName: guest_images UUID: 779081bf-7a82-107b-2874-a19a9c51d24c State: running Persistent: yes Autostart: yes Capacity: 49.22 GB Allocation: 12.80 GB Available: 36.41 GB #ls -la /guest_imagestotal 8 drwx------. 2 root root 4096 May 30 02:44 . dr-xr-xr-x. 26 root root 4096 May 30 02:44 .. #
13.3.4. virsh を使用したストレージプールの削除
- 同じプールを使用する他のゲスト仮想マシンに関連した問題を避けるには、ストレージプールを停止し、そのストレージプールで使用中のリソースすべてを解放するのが最良の方法です。
#
virsh pool-destroy guest_images_disk - また、ストレージプールがあるディレクトリーを削除したい場合は、次のコマンドを使用します。
#
virsh pool-delete guest_images_disk - ストレージプールの定義を削除します。
#
virsh pool-undefine guest_images_disk

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.