Red Hat Training
A Red Hat training course is available for RHEL 8
11.2.4. CLI でファイルシステムベースのストレージプールの作成
マウントされていないファイルシステムにストレージプールを作成する場合は、ファイルシステムベースのストレージプールを使用します。このストレージプールは、指定のファイルシステムのマウントポイントを基にしています。virsh
ユーティリティーを使用すると、ファイルシステムベースのストレージプールを作成できます。
前提条件
ハイパーバイザーがファイルシステムベースのストレージプールをサポートしていることを確認します。
# virsh pool-capabilities | grep "'fs' supported='yes'"
コマンドの出力が表示される場合には、ファイルベースのストレージプールはサポートの対象です。
ストレージプールのベースとなるデバイスを準備します。この目的のために、パーティション (
/dev/sdb1
など) または LVM ボリュームを優先します。ディスク全体またはブロックデバイス (/dev/sdb
など) への書き込みアクセスを仮想マシンに提供すると、その仮想マシンはそれをパーティション分割するか、その上に独自の LVM グループを作成する可能性があります。これにより、ホストでシステムエラーが発生する可能性があります。ただし、ストレージプールにブロックデバイス全体を使用する必要がある場合、Red Hat は、デバイス上の重要なパーティションを GRUB の
os-prober
機能から保護することをお勧めします。これを行うには、/etc/default/grub
ファイルを編集して、次のいずれかの設定を適用します。os-prober
を無効にします。GRUB_DISABLE_OS_PROBER=true
os-prober
が特定のパーティションを検出しないようにします。以下に例を示します。GRUB_OS_PROBER_SKIP_LIST="5ef6313a-257c-4d43@/dev/sdb1"
手順
ストレージプールを作成します。
virsh pool-define-as
コマンドを使用し、ファイルシステムタイプのストレージプールを定義して作成します。たとえば、/dev/sdc1 パーティションを使用し、/guest_images ディレクトリーにマウントされるストレージプールにguest_images_fs
という名前を指定して作成するには以下を実行します。# virsh pool-define-as guest_images_fs fs --source-dev /dev/sdc1 --target /guest_images Pool guest_images_fs defined
作成するストレージプールの XML 設定がすでにある場合は、XML を基にプールを定義することもできます。詳細は、Filesystem-based storage pool parameters を参照してください。
ストレージプールのターゲットパスの定義
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
コマンドを使用して、プールが作成されたことを確認します。# virsh pool-list --all Name State Autostart ----------------------------------------- default active yes guest_images_fs inactive no
ストレージプールを起動します。
virsh pool-start
コマンドを使用して、ストレージプールをマウントします。# virsh pool-start guest_images_fs Pool guest_images_fs started
注記virsh pool-start
コマンドは、永続ストレージプールにのみ必要です。一時的なストレージプールは、作成時に自動的に起動します。(必要に応じて) 自動起動をオンにします。
デフォルトでは、
virsh
コマンドで定義されたストレージプールは、仮想化サービスが起動するたびに自動的に起動するようには設定されていません。virsh pool-autostart
コマンドを使用して、ストレージプールが自動的に起動するように設定します。# virsh pool-autostart guest_images_fs Pool guest_images_fs marked as autostarted
検証
virsh pool-info
コマンドを使用して、ストレージプールがrunning
状態であることを確認します。報告されるサイズが期待どおりであるか、また、自動開始が正しく設定されているかを確認してください。# 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
ファイルシステムのターゲットパスに
lost+found
ディレクトリーがあることを確認します。これは、デバイスがマウントされていることを示しています。# 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