首页 > 关于技术 > [虚拟化]缩小虚拟机镜像大小

[虚拟化]缩小虚拟机镜像大小

2013年7月29日 发表评论 阅读评论

假设虚拟机的镜像为:disk
1、检查并修复镜像的文件系统。
转换镜像为raw格式(如果镜像为其他格式的话):
losetup /dev/loop0 disk
kpartx -av /dev/loop0

#如果是windows,需要安装ntfs-3g
ntfsfix -b -d /dev/mapper/loop0p1
ntfsck /dev/mapper/loop0p1
#如果是linux
fsck -y /dev/mapper/loop0p1
kpartx -dv /dev/loop0
losetup -d /dev/loop0

2、调整分区大小:

guestfish -a disk
run
#windows
ntfsresize-size /dev/vda1 10G
#linux
resize2fs-size /dev/vda 10G
quit

3、调整镜像大小
qemu-img create -f raw new.img 12G(略大于几个分区之和)
#window:
virt-resize --shrink /dev/vda1 disk new.img
#linux ext4:
virt-resize --resize /dev/vda1= disk new.img

搞完收工。

以上方法是经过验证的。有人说用virt-resize直接搞也可以,没测试,改天测试下。
增大的话比较简单,直接virt-resize –expand就ok了。

分类: 关于技术 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.