炙伦云终端分享:
首先qemu在1.5 raw格式,1.6 qcow2格式支持磁盘回收。
https://lists.gnu.org/archive/html/qemu-devel/2013-08/msg01021.html
libvirt通过xml配置文件可指定discard=“unmap”
http://dustymabe.com/2013/06/11/recover-space-from-vm-disk-images-by-using-discardfstrim/
nova通过compute的nova.conf 指定是否开启discard
[libvirt]
hw_disk_discard = unmap
virtio-blk io驱动不支持fstrim。 有两个驱动支持 一个是IDE,一个是virtio-scsi, IDE驱动比较老,性能不好, virtio-scsi需要内核支持。
查看内核是否支持virtio-scsi协议
使用virtio-scsi需要glance中对镜像添加属性
glance image-update $imageid --property hw_scsi_model=virtio-scsi
--property hw_disk_bus=scsi
做完以上这些,你的磁盘就能够“伸缩自如”了。
但是在虚拟机内部执行删除操作后,它不会自动的收缩磁盘,需要手动执行fstrim操作,那么如何能让它自动进行伸缩呢?
首先你的虚拟机要使用比较“现代”的文件系统,如ext4,因为它支持discard,修改/etc/fstab文件,加入discard参数。
UUID=xxxx / ext4 defaults,discard 1 1
重启虚拟机,让其生效,这样就可以自动收缩磁盘了。
本文转载自:http://opsdev.cn/post/jiejue-disk-hole.html?winzoom=1
在 IT 行业,每隔十年左右,都会出现一次可能重构市场、改写未来的技术变革,一些公司能够抓住这些机会...
More它的弹性在于:可以支持服务器虚拟化与桌面虚拟化的混合;可以支持多种hyper-v, KVM 等...
More也有挺多私有云+桌面云的需求的,能有openstack +VDI那是更好了。...
More