Red Hat Training
A Red Hat training course is available for RHEL 8
11.2.3. CLI でディスクベースのストレージプールの作成
ディスクベースのストレージプールでは、プールはディスクパーティションに基づいています。これは、たとえば、ディスクパーティション全体を仮想マシン (VM) ストレージ専用にする場合に便利です。virsh
ユーティリティーを使用して、ディスクベースのストレージプールを作成できます。
前提条件
ハイパーバイザーがディスクベースのストレージプールをサポートしていることを確認します。
# virsh pool-capabilities | grep "'disk' 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"
-
ストレージプールを作成する前に、選択したストレージデバイス上のデータをバックアップします。使用されている
libvirt
のバージョンに応じて、ディスクをストレージプール専用にすると、現在ディスクデバイスに格納されているすべてのデータが再フォーマットされて消去される可能性があります。
手順
ストレージプールを作成します。
virsh pool-define-as
コマンドを使用し、ディスクタイプのストレージプールを定義して作成します。次の例では、/dev/sdb デバイスを使用するguest_images_disk
という名前のストレージプールを作成します。# virsh pool-define-as guest_images_disk disk --source-format=gpt --source-dev=/dev/sdb --target /dev Pool guest_images_disk defined
作成するストレージプールの XML 設定がすでにある場合は、XML を基にプールを定義することもできます。詳細は、Disk-based storage pool parameters を参照してください。
ストレージプールのターゲットパスの作成
virsh pool-build
コマンドを使用して、フォーマット済みファイルシステムのストレージプール用のストレージプールターゲットパスを作成し、ストレージソースデバイスを初期化し、データのフォーマットを定義します。# virsh pool-build guest_images_disk Pool guest_images_disk built
注記ターゲットパスの構築は、ディスクベース、ファイルシステムベース、論理ストレージプールにのみ必要です。
libvirt
は、overwrite
オプションが指定されている場合を除き、ソースストレージデバイスのデータフォーマットが、選択したストレージプールタイプと異なることを検出すると、ビルドに失敗します。プールが作成されたことを確認します。
virsh pool-list
コマンドを使用して、プールが作成されたことを確認します。# virsh pool-list --all Name State Autostart ----------------------------------------- default active yes guest_images_disk inactive no
ストレージプールを起動します。
virsh pool-start
コマンドを使用して、ストレージプールをマウントします。# virsh pool-start guest_images_disk Pool guest_images_disk started
注記virsh pool-start
コマンドは、永続ストレージプールにのみ必要です。一時的なストレージプールは、作成時に自動的に起動します。(必要に応じて) 自動起動をオンにします。
デフォルトでは、
virsh
コマンドで定義されたストレージプールは、仮想化サービスが起動するたびに自動的に起動するようには設定されていません。virsh pool-autostart
コマンドを使用して、ストレージプールが自動的に起動するように設定します。# virsh pool-autostart guest_images_disk Pool guest_images_disk marked as autostarted
検証
virsh pool-info
コマンドを使用して、ストレージプールがrunning
状態であることを確認します。報告されるサイズが期待どおりであるか、また、自動開始が正しく設定されているかを確認してください。# virsh pool-info guest_images_disk Name: guest_images_disk UUID: c7466869-e82a-a66c-2187-dc9d6f0877d0 State: running Persistent: yes Autostart: yes Capacity: 458.39 GB Allocation: 197.91 MB Available: 458.20 GB