kvm压缩虚拟机磁盘

kvm压缩虚拟机磁盘

kvm通过图形界面创建虚拟机后,如果指定的磁盘为200G,创建后查看物理位置文件大小为200G,注意,这里创建的时候并没有勾选“立即分配磁盘空间”。

出现以上原因会造成虚拟机安装完操作系统或者其他软件后,物理位置虚拟机文件大小会超过200G!明显是不合理的。如果用图形化界面创建虚拟机后,会造成“镜像空洞”。

解决方案:
1.创建的时候提前在需要保存的路径使用命令先创建镜像文件:

# 使用qemu-img命令创建kvm虚拟机镜像文件
qemu-img create -f qcow2 xxx.qcow2 200G

2.或者虚拟机创建完成后使用相应工具压缩镜像文件

#第一种方案
qemu-img convert -c -O qcow2 /path/xxx.qcow2 /newpath/xxx.qcow2
#第二种方案
sudo apt-get install libguestfs-tools
sudo virt-sparsify --compress /path/xxx.qcow2 /newpath/xxx.qcow2

注意:如果是执行qemu-img命令创建的,这个文件创建后会非常小,安装完操作系统后文件会随之变大。

例如:
1.使用命令创建

# 此时创建的文件122k
qemu-img create -f qcow2 win2022.qcow2 200G

2.kvm创建虚拟机,选择win2022.qcow2文件
3.设置kvm虚拟机其他选项
4.安装windows操作系统后清理windows磁盘,优化windows磁盘
5.关闭kvm虚拟机
6.查看win2022.qcow2文件大小为12G
7.使用命令压缩:

sudo virt-sparsify --compress /home/temp/win.qcow2 /home/temp/test/win2022.qcow2

注意:使用virt-sparsify压缩的时候,会产生临时文件到/tmp目录中,如果/tmp目录比较小,则建议进行如下操作,否则压缩会失败

注意,一定要用root的身份登录后操作,不要使用sudo

# mkdir /home/temp/linux-temp
# chmod 1777 /home/temp/linux-temp
# export TEMP=/home/temp/linux-temp
# export TMPDIR=/home/temp/linux-temp

8.将压缩后的虚拟机镜像移动到指定存放路径后重新迁移虚拟机(其实这里就就相当于把虚拟机磁盘优化到最小后,重新指定了镜像位置)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值