15.6. CLI を使用した仮想ディスクイメージの管理
仮想ディスクイメージは、仮想ストレージボリューム の一種であり、ハードドライブが物理マシンにストレージを提供するのと同様に、仮想マシンにストレージを提供します。
新しい仮想マシンを作成する 場合、特に指定しない限り、libvirt
は新しいディスクイメージを自動的に作成します。ただし、ユースケースによっては、仮想マシンとは別にディスクイメージを作成して管理することが必要になる場合があります。
15.6.1. qemu-img を使用した仮想ディスクイメージの作成
新しい仮想マシンとは別に新しい仮想ディスクイメージを作成する必要があり、ストレージボリュームの作成 が実行できない場合は、qemu-img
コマンドラインユーティリティーを使用できます。
手順
qemu-img
ユーティリティーを使用して仮想ディスクイメージを作成します。# qemu-img create -f <format> <image-name> <size>
たとえば、次のコマンドは、test-image という名前の、30 GB の qcow2 ディスクイメージを作成します。
# qemu-img create -f qcow2 test-image 30G Formatting 'test-img', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=32212254720 lazy_refcounts=off refcount_bits=16
検証
作成したイメージに関する情報を表示して、必要なサイズであること、および破損していないことを確認します。
# qemu-img info <test-img> image: test-img file format: qcow2 virtual size: 30 GiB (32212254720 bytes) disk size: 196 KiB cluster_size: 65536 Format specific information: compat: 1.1 compression type: zlib lazy refcounts: false refcount bits: 16 corrupt: false extended l2: false
関連情報
- CLI を使用したストレージボリュームの作成と割り当て
- Web コンソールを使用した仮想マシンへの新しいディスクの追加
-
qemu-img
の man ページ
15.6.2. 仮想ディスクイメージの整合性のチェック
ディスクイメージを仮想マシンにアタッチする前に、ディスクイメージに破損や著しい断片化などの問題がないことを確認します。確認には、qemu-img check
コマンドを使用します。
必要に応じて、このコマンドを使用してディスクイメージの修復を試みることもできます。
前提条件
- ディスクイメージを使用する仮想マシンがすべてシャットダウンしている。
手順
テストするイメージに対して
qemu-img check
コマンドを使用します。以下に例を示します。# qemu-img check <test-name.qcow2> No errors were found on the image. 327434/327680 = 99.92% allocated, 0.00% fragmented, 0.00% compressed clusters Image end offset: 21478375424
チェックでディスクイメージに問題が見つかった場合、コマンドの出力は次のようになります。
167 errors were found on the image. Data may be corrupted, or further writes to the image may corrupt it. 453368 leaked clusters were found on the image. This means waste of disk space, but no harm to data. 259 internal errors have occurred during the check. Image end offset: 21478375424
qemu-img check
コマンドで-r all
オプションを指定して、問題を修復します。ただし、問題の一部しか解決されない可能性があることに注意してください。警告ディスクイメージを修復すると、データの破損やその他の問題が発生する可能性があります。修復を試みる前に、ディスクイメージをバックアップしてください。
# qemu-img check -r all <test-name.qcow2> [...] 122 errors were found on the image. Data may be corrupted, or further writes to the image may corrupt it. 250 internal errors have occurred during the check. Image end offset: 27071414272
この出力は、修復後にディスクイメージで見つかった問題の数を示しています。
-
さらにディスクイメージの修復が必要な場合は、
guestfish
シェル のさまざまなlibguestfs
ツールを使用できます。
関連情報
-
qemu-img
の man ページ -
guestfish
の man ページ
15.6.3. 仮想ディスクイメージのサイズ変更
既存のディスクイメージに追加の領域が必要な場合は、qemu-img resize
ユーティリティーを使用して、ユースケースに合わせてイメージのサイズを変更できます。
前提条件
- ディスクイメージのバックアップを作成している。
ディスクイメージを使用する仮想マシンがすべてシャットダウンしている。
警告実行中の仮想マシンのディスクイメージのサイズを変更すると、データの破損やその他の問題が発生する可能性があります。
- ホストのハードディスクに、意図したディスクイメージサイズに対して十分な空き領域がある。
- オプション: ディスクイメージにデータの破損や同様の問題がないことを確認済みである。手順については、仮想ディスクイメージの整合性のチェック を参照してください。
手順
サイズを変更する仮想マシンのディスクイメージファイルの場所を判別します。以下に例を示します。
# virsh domblklist <vm-name> Target Source ---------------------------------------------------------- vda /home/username/disk-images/example-image.qcow2
オプション: 現在のディスクイメージをバックアップします。
# cp <example-image.qcow2> <example-image-backup.qcow2>
qemu-img resize
ユーティリティーを使用して、イメージのサイズを変更します。たとえば、<example-image.qcow2> のサイズを 10 GB 増やすには、次のようにします。
# qemu-img resize <example-image.qcow2> +10G
- ディスクイメージ内のファイルシステム、パーティション、または物理ボリュームのサイズを変更して、使用する領域を追加します。RHEL ゲストオペレーティングシステムでこれを行うには、ストレージデバイスの管理 および ファイルシステムの管理 の手順を使用します。
検証
サイズを変更したイメージに関する情報を表示し、意図したサイズになっているかを確認します。
# qemu-img info <converted-image.qcow2> image: converted-image.qcow2 file format: qcow2 virtual size: 30 GiB (32212254720 bytes) disk size: 196 KiB cluster_size: 65536 Format specific information: compat: 1.1 compression type: zlib lazy refcounts: false refcount bits: 16 corrupt: false extended l2: false
- サイズを変更したディスクイメージに潜在的なエラーがないか確認します。手順については、仮想ディスクイメージの整合性のチェック を参照してください。
関連情報
-
qemu-img
の man ページ - ストレージデバイスの管理
- ファイルシステムの管理
15.6.4. 仮想ディスクイメージの形式の変換
qemu-img convert
コマンドを使用して、仮想ディスクイメージを別の形式に変換できます。たとえば、別のハイパーバイザーで実行している仮想マシンにディスクイメージをアタッチする場合、仮想ディスクイメージの形式の変換が必要になることがあります。
前提条件
- ディスクイメージを使用する仮想マシンがすべてシャットダウンしている。
手順
qemu-im convert
コマンドを使用して、既存の仮想ディスクイメージを別の形式に変換します。たとえば、raw ディスクイメージを QCOW2 ディスクイメージに変換するには、次のようにします。# qemu-img convert -f raw <original-image.img> -O qcow2 <converted-image.qcow2>
検証
変換したイメージに関する情報を表示し、意図した形式とサイズであるかどうかを確認します。
# qemu-img info <converted-image.qcow2> image: converted-image.qcow2 file format: qcow2 virtual size: 30 GiB (32212254720 bytes) disk size: 196 KiB cluster_size: 65536 Format specific information: compat: 1.1 compression type: zlib lazy refcounts: false refcount bits: 16 corrupt: false extended l2: false
- ディスクイメージに潜在的なエラーがないか確認します。手順については、仮想ディスクイメージの整合性のチェック を参照してください。
関連情報
- 仮想ディスクイメージの整合性のチェック
-
qemu-img
の man ページ