KVM仮想マシンディスクのサイズをどのように縮小または縮小しますか?
500 GBの仮想ディスク(/var/lib/libvirt/images/vm1.imgに保存)を割り当て、その過剰を見つけたので、他の仮想マシンで使用するためにそのスペースの一部を解放しますマシン。画像のストレージを増やす方法については多くの 回答 があるようですが、減らすことはできません。 virt-resize ツールを見つけましたが、ディスクイメージではなくrawディスクパーティションでのみ機能するようです。
編集:Ext4フォーマットのパーティションを持つLVMを使用しています。
編集:LVMパーティションのレイアウトを示すGPartedスクリーンショット。ファイルシステムのサイズを変更するだけでなく、さらに多くのことを行う必要があります。 LVMのサイズを変更する安全な方法は知りません。 pvresize
を使用するように言わないでください。その名前にもかかわらず、LVMのサイズ変更をサポートしていません。
Sudo pvresize /dev/vda5
、ただしphysical volume "/dev/vda5" changed
ですが、実際にはサイズを縮小しません。
parted
を開始して手動でパーティションサイズを設定しようとしましたが(非常に危険です)、print all
は、「/ dev/sr0 unrecognized disk label」というエラーを表示します。
編集: これらの手順 を実行することで、論理ボリュームと物理ボリュームの両方を正常に圧縮できました(ただし、以前にlvmをアクティブ化および非アクティブ化することを覚えておく必要がありました)命令で省略されている特定のコマンドの後。
現在、GPartedは250Gの未割り当ての空き容量を表示しています。これをKVMディスクイメージから削除し、基になるハイパーバイザーに戻すにはどうすればよいですか?
投稿してくれた方々に感謝しますが、あなたの答えはあまりにも曖昧すぎて何の助けにもなりませんでした。
グーグルで何時間も過ごした後、ようやくファイルシステム、論理ボリューム、物理ボリュームを縮小する方法を段階的に説明するガイド(link redacted)を見つけました。ほとんどのガイドが見落としているトリックは、partedがlvmパーティションのサイズを変更できないため、物理パーティションを実際に削除し、正しいサイズで再作成する必要があることです。
次に、qemu-imgで このドキュメント を見つけました。これは、次のコマンドを実行してraw形式の仮想ディスクイメージを圧縮する方法を説明しています。
Sudo qemu-img resize /var/lib/libvirt/images/myvm.img 255G
するべきこと、
これは、GUIとCLIの両方で実行できます。
資源
ツール
これは私には本当にうまくいきました。ディスクイメージの0ブロックを圧縮および縮小します。画像は上書きされるため、時間の経過とともに拡大します。
qemu-img convert -c -O qcow2 vmdisk.qcow2 vmdisk-comp.qcow2