专栏首页力哥聊运维与云计算KVM虚拟机差量生产镜像测试

KVM虚拟机差量生产镜像测试

KVM虚拟机差量生产镜像测试

1. 结论

后备镜像差量生成虚拟机的方式可以快速的产生大量的虚拟机,节省磁盘空间,在生产环境中有非常重要的意义。经过测试,对后备镜像的读压力非常小,系统压力主要在差量镜像的写压力,使用的时候,为了取得良好效果,应将后备镜像和差量镜像分散到不同的物理硬盘上,并保证镜像的安全性。

2. 后备镜像差量生成虚拟机(backing_file)功能说明

后备镜像差量生成虚拟机是指多台虚拟机共用一个后备镜像,每个虚拟机根据需要,如果是读操作,读取镜像,如果是写操作,才写入自己的镜像文件,类似快照的copy on write机制。后备镜像可以是raw和qcow2格式,差量镜像只能是qcow2格式。

3. 使用差量方式的好处:

1) 快速生成虚拟机镜像,通过一条命令,瞬间生成虚拟机镜像。

2) 节省磁盘空间,多台虚拟机公用一个后备镜像,节省大量空间。

4. 使用差量方式的风险

1) 多台虚拟机启动的时候,io压力非常大,尤其是第一次启动的时候。

2) 对后备镜像安全性要求非常高。

5. 测试环境

硬件

联想R510G7

cpu Intel(R) Xeon(R) CPU E5506 @ 2.13GHz

内存 8G

硬盘 sas 146Gx2 raid0 x2

软件 centos 6.3 kernel 2.6.32-279.19.1.el6.x86_64

6. 测试方法

生成差量镜像的命令,-b参数是指后备镜像,如果生成的镜像和后备镜像不在同一个目录,注意要使用绝对路径,否则虚拟机不能启动。

qemu-img create -f qcow2 /datapool/w2k3-test-04 -b /data/win2003ent32chs

测试的时候,编写了一个脚本,不停的产生差量镜像,启动虚拟机,5分钟后关闭虚拟机、删除虚拟机、在产生镜像,通过cacti监控平台观察磁盘的io压力。

7. 测试结果

1) 不同操作系统第一次启动后,占用的空间大小

系统

空间

Windows server 2003

44M

Windows server 2008

85M

Centos5.6

18M

Centos6.2

11M

2) 压力测试

将后备镜像和差量镜像放置到同一硬盘或者raid组,发现磁盘的读写io非常高,几台windows server 2003虚拟机同时启动,启动到第三台虚拟机就会蓝屏。这种测试方法也不能测试具体的后备镜像和差量镜像的读写压力,所以将后备镜像和差量镜像分开到不同的raid组上进行测试。

Windows server 2003系统一台虚拟机重复循环删除、生成、启动的时候,系统的io压力。

datavg-datapool是放置差量镜像的lv,可以看到写的压力非常大,data-p_w_picpaths是放置后备镜像的lv,可以看到主要压力是读压力,非常小,不到一个iops。

Windows server 2003系统十台台虚拟机重复循环删除、生成、启动的时候,系统的io压力。

datavg-datapool是放置差量镜像的lv,可以看到写的压力非常大,平均600多iops,最高到5000多iops.

data-p_w_picpaths是放置后备镜像的lv,可以看到主要压力是读压力,非常小,不到3 iops。

3) 破坏性测试

模拟后备镜像遭到破坏的情景,正在运行的虚拟机不会立即死机,没有启动的虚拟机启动过程中会蓝屏。

8. 将差量镜像转化成普通镜像,

使用qemu-img convert

转换差量w2k3-test-01为普通镜像w2k3-test-01-10,格式为qcow2

qemu-img convert -f qcow2 -O qcow2 w2k3-test-01 w2k3-test-01-10

qemu-img info w2k3-test-01

p_w_picpath: w2k3-test-01

file format: qcow2

virtual size: 8.0G (8589934592 bytes)

disk size: 122M

cluster_size: 65536

backing file: /data/win2003ent32chs

qemu-img info w2k3-test-01-10

p_w_picpath: w2k3-test-01-10

file format: qcow2

virtual size: 8.0G (8589934592 bytes)

disk size: 3.3G

cluster_size: 65536

9. 更换镜像的后备镜像

-u 参数非安全方式,只是更换镜像

不带参数-u,会比较旧的后备镜像和新的后备镜像的差异,以新的镜像为准

qemu-img rebase -u -b w2k3-test-01-10 w2k3-test-01

qemu-img info w2k3-test-01

p_w_picpath: w2k3-test-01

file format: qcow2

virtual size: 8.0G (8589934592 bytes)

disk size: 122M

cluster_size: 65536

backing file: w2k3-test-01-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 6月来了,Java还是第一!

    话说现在很多小孩子都开始接触幼儿编程了,我也经常看到幼儿编程的广告,编程门槛真的是越来越低。

    Java技术栈
  • Python编写人机对战小游戏(抓狐狸)(2)

    很久很久以前,在公众号里推送过一个抓狐狸游戏,详见Python编写人机对战小游戏(抓小狐狸),还有免费视频可以看微课|中学生可以这样学Python(例4.6):...

    Python小屋屋主
  • 使用Python批量爬取并下载具有防盗链保护的文件

    第一步:确定要爬取的目标页面,以http://jwc.sdtbu.edu.cn/info/2002/5418.htm为例,使用浏览器打开,如下:

    Python小屋屋主
  • 收藏 | 11个Python Pandas小技巧让你的工作更高效(附代码实例)

    Pandas是一个在Python中广泛应用的数据分析包。市面上有很多关于Pandas的经典教程,但本文介绍几个隐藏的炫酷小技巧,我相信这些会对你有所帮助。

    CDA数据分析师
  • 让你事半功倍的小众 Python 库,是不是很惊喜!

    Python 成功和受欢迎的原因之一是存在强大的库,这些库使 Python 极具创造力且运行快速。然而,使用 Pandas、Scikit-learn、Matpl...

    昱良
  • PacBot:一款功能强大的云平台自动化安全监控工具

    PacBot,全名为“Policy as Code Bot”,它是一款针对云环境的持续性安全监控平台。在PacBot中,安全策略与合规性策略均通过代码实现。Pa...

    FB客服
  • python画哆啦A梦和大雄

    之前有写过两篇关于 python 画画的文章,python教你画一棵树,用python画一朵玫瑰给你。

    谭小谭
  • Python AI 教学 | 主成分分析(PCA)原理及其应用

    假如你是一家淘宝店店主,你所负责运营的淘宝店2018年全年的流量及交易情况可以看成是一组记录的集合,其中每一天的数据是一条记录,(日期,浏览量,访客数,下单数,...

    短短的路走走停停
  • 我Python破解了媳妇撤回的消息!

    闲来无事,在街上吃了些零食并用微信付款。不得不说程序员的思维和别人的是真不同,我想的却是微信真强大,稍微查看了一下,还有许多的小程序,很多大企业都在与它合作。这...

    用户5224393
  • JDK8这样处理日期,效率绝对提升,逼格必然翻倍!

    开发过程中,经常需要为过生日的用户送上一些祝福,例如,用户的生日为1990-10-12,如果今天是2016-10-12,那么今天就是用户的生日(按公历/身份证日...

    程序员小明

扫码关注云+社区

领取腾讯云代金券