12.6. CLI を使用した仮想ディスクイメージの管理
仮想ディスクイメージは、仮想ストレージボリューム の一種であり、ハードドライブが物理マシンにストレージを提供するのと同様に、仮想マシンにストレージを提供します。
新しい仮想マシンを作成する 場合、特に指定しない限り、libvirt
は新しいディスクイメージを自動的に作成します。ただし、ユースケースによっては、仮想マシンとは別にディスクイメージを作成して管理することが必要になる場合があります。
12.6.1. qemu-img を使用した仮想ディスクイメージの作成
新しい仮想マシンとは別に新しい仮想ディスクイメージを作成する必要があり、ストレージボリュームの作成 が実行できない場合は、qemu-img
コマンドラインユーティリティーを使用できます。
手順
qemu-img
ユーティリティーを使用して仮想ディスクイメージを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow qemu-img create -f <format> <image-name> <size>
# qemu-img create -f <format> <image-name> <size>
たとえば、次のコマンドは、test-image という名前の、30 ギガバイトの qcow2 ディスクイメージを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow qemu-img create -f qcow2 test-image 30G
# 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
検証
作成したイメージに関する情報を表示し、必要なサイズであること、および破損が報告されないことを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow qemu-img info <test-img>
# 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 ページ
12.6.2. 仮想ディスクイメージの整合性のチェック
ディスクイメージを仮想マシンにアタッチする前に、ディスクイメージに破損や著しい断片化などの問題がないことを確認します。確認には、qemu-img check
コマンドを使用します。
必要に応じて、このコマンドを使用してディスクイメージの修復を試みることもできます。
前提条件
- ディスクイメージを使用する仮想マシンがすべてシャットダウンしている。
手順
テストするイメージに対して
qemu-img check
コマンドを使用します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow qemu-img check <test-name.qcow2>
# 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
チェックでディスクイメージに問題が見つかった場合、コマンドの出力は次のようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
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
検出された問題の修復を試みるために、
-r all
オプションを指定したqemu-img check
コマンドを使用します。ただし、問題の一部しか解決されない可能性があることに注意してください。警告ディスクイメージを修復すると、データの破損やその他の問題が発生する可能性があります。修復を試みる前に、ディスクイメージをバックアップしてください。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow qemu-img check -r all <test-name.qcow2>
# 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
およびguestfish
man ページ
12.6.3. 仮想ディスクイメージのサイズ変更
既存のディスクイメージに追加の領域が必要な場合は、qemu-img resize
ユーティリティーを使用して、ユースケースに合わせてイメージのサイズを変更できます。
前提条件
- ディスクイメージのバックアップを作成済みである。
ディスクイメージを使用する仮想マシンがすべてシャットダウンしている。
警告実行中の仮想マシンのディスクイメージのサイズを変更すると、データの破損やその他の問題が発生する可能性があります。
- ホストのハードディスクに、意図したディスクイメージサイズに対して十分な空き領域がある。
- オプション: ディスクイメージにデータの破損や同様の問題がないことを確認済みである。手順は、仮想ディスクイメージの整合性のチェック を参照してください。
手順
サイズを変更する仮想マシンのディスクイメージファイルの場所を判別します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow virsh domblklist <vm-name>
# virsh domblklist <vm-name> Target Source ---------------------------------------------------------- vda /home/username/disk-images/example-image.qcow2
オプション: 現在のディスクイメージをバックアップします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cp <example-image.qcow2> <example-image-backup.qcow2>
# cp <example-image.qcow2> <example-image-backup.qcow2>
qemu-img resize
ユーティリティーを使用して、イメージのサイズを変更します。たとえば、<example-image.qcow2> のサイズを 10 GB 増やすには、次のようにします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow qemu-img resize <example-image.qcow2> +10G
# qemu-img resize <example-image.qcow2> +10G
- ディスクイメージ内のファイルシステム、パーティション、または物理ボリュームのサイズを変更して、使用する領域を追加します。RHEL ゲストオペレーティングシステムでこれを行うには、ストレージデバイスの管理 および ファイルシステムの管理 の手順を使用します。
検証
サイズを変更したイメージに関する情報を表示し、意図したサイズになっているかを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow qemu-img info <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 ページ - ストレージデバイスの管理
- ファイルシステムの管理
12.6.4. 仮想ディスクイメージの形式の変換
qemu-img convert
コマンドを使用して、仮想ディスクイメージを別の形式に変換できます。たとえば、別のハイパーバイザーで実行している仮想マシンにディスクイメージをアタッチする場合、仮想ディスクイメージの形式の変換が必要になることがあります。
前提条件
- ディスクイメージを使用する仮想マシンがすべてシャットダウンしている。
- QEMU による変換を行うには、ソースディスクイメージ形式がサポートされている必要があります。詳細なリストは、サポートされているディスクイメージ形式 を参照してください。
手順
qemu-img convert
コマンドを使用して、既存の仮想ディスクイメージを別の形式に変換します。たとえば、raw ディスクイメージを QCOW2 ディスクイメージに変換するには、次のようにします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow qemu-img convert -f raw <original-image.img> -O qcow2 <converted-image.qcow2>
# qemu-img convert -f raw <original-image.img> -O qcow2 <converted-image.qcow2>
検証
変換したイメージに関する情報を表示し、意図した形式とサイズであるかどうかを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow qemu-img info <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 ページ
12.6.5. サポートされているディスクイメージ形式
RHEL で仮想マシン (VM) を実行するには、サポートされている形式のディスクイメージを使用する必要があります。サポートされていない特定のディスクイメージをサポートされている形式に変換することもできます。
仮想マシンでサポートされているディスクイメージ形式
RHEL で仮想マシンを実行するには、次の形式のディスクイメージを使用できます。
- qcow2 - 圧縮などの追加機能を提供します。
- raw - より良いパフォーマンスが得られる可能性があります。
- luks - Linux Unified Key Setup (LUKS) 仕様を使用して暗号化されたディスクイメージ。
変換でサポートされているディスクイメージ形式
-
必要に応じて、
qemu-img convert
コマンドを使用して、ディスクイメージをraw
形式とqcow2
形式間で変換できます。 -
vmdk ディスクイメージを
raw
またはqcow2
形式に変換する必要がある場合は、virt-v2v
ユーティリティーを使用 して、ディスクを使用する仮想マシンを KVM に変換します。 他のディスクイメージ形式を
raw
またはqcow2
に変換するには、qemu-img convert
コマンド を使用できます。このコマンドで使用できる形式のリストは、QEMU のドキュメント を参照してください。ほとんどの場合、非 KVM 仮想マシンのディスクイメージ形式を
qcow2
またはraw
に変換するだけでは、仮想マシンを RHEL KVM 上で正しく実行するのに十分ではないことに注意してください。ディスクイメージを変換するだけでなく、対応するドライバーを仮想マシンのゲストオペレーティングシステムにインストールして設定する必要があります。サポートされているハイパーバイザー変換には、virt-v2v
ユーティリティーを使用します。