qemu
2019-10-24

仮想HDD内空きスペースを削って全体の容量を削減する

P2Vをした後に、実際に使用する分だけ仮想HDDをリサイズする場合など。

仮想HDD内の空スペースを確保する

ゲストOSがLinuxならgpartedを使って、Windowsなら記憶領域の管理からボリュームの縮退を行って、仮想HDDの後半に空き領域を作る。

[start]|<--- EFI ---> | <--- MS Reserved ---> | <--- Drive C: ---> | <--- (Free) ---> |[end]

削減した後に全体で使用しているサイズが概ねのリサイズ後のサイズになる。

削減後のサイズで仮想HDDを作成する

#sh(bash){{

qemu-img create -f qcow2 ${PATH_TO_VHD_FILE} ${NEW_SIZE}

}}

KVMで対象ゲストに仮想HDDとLinuxのLiveDVDをマウントし、LiveDVDからブートする

要はDVDブートしたLinuxで削減後HDDにddでコピーする。
そのために必要なKVMの設定を行う。
virt-managerで実施すると楽であり、詳細は割愛。

ディスクイメージのコピー

Live Linuxが起動したらddで削減前ボリュームから削減後ボリュームにブロック単位でコピーする。

仮想マシンの仮想HDDを指定しなおす

KVMで仮想HDDをddした方に切り替えて作業完了。

繰り返し使用したことにより確保されてしまった未使用領域を解放する

qcow2形式(圧縮)で、現在は未使用だが過去に読み書きが発生したため一度確保されてしまい太ってしまったファイルを再度圧縮しなおして小くする場合。
ホストを移動したりアーカイブ化する時など。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-10-25 (金) 00:12:40