免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4899 | 回复: 12
打印 上一主题 下一主题

[KVM] 关于KVM中的QEMUFile和QEMUFileBuffered这两个数据结构的疑惑 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-05-27 15:51 |只看该作者 |倒序浏览
    各位前辈好,本人是个新人。现在在研究KVM的迁移的相关东西。在代码的过程中发现有两个结构一直在出现着。就是QEMUFile和QEMUFileBuffered。我一直没搞明白这两个结构的作用是什么。虽然它在过程中被赋值,然后调用各种函数。但是总觉得对它们了解的不是很明白。
    此外,还有,关于buffered_put_buffer和migrate_put_buffer这两个函数之间关系是什么?我知道迁移的过程中会先将内存脏页数据发到buffer中,然后再发送到目的机。那么前者对应的是往buffer里面放,后者是发送到目的机么?
    谢谢各位的解答。不胜感激。

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每月发帖之星
日期:2015-09-11 19:30:52IT运维版块每周发帖之星
日期:2015-09-11 19:20:31IT运维版块每日发帖之星
日期:2015-08-26 06:20:00每日论坛发贴之星
日期:2015-08-20 06:20:00IT运维版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15金牛座
日期:2014-05-04 16:58:09双子座
日期:2013-12-17 16:44:37辰龙
日期:2013-11-22 15:20:59狮子座
日期:2013-11-18 22:55:08射手座
日期:2013-11-12 10:54:26
2 [报告]
发表于 2013-05-27 15:54 |只看该作者
研究底层方向啊。好厉害。。。

论坛徽章:
0
3 [报告]
发表于 2013-05-27 16:00 |只看该作者
回复 2# wenhq


    啊。。其实我对研究方向森马的一点都不了解的……我其实是做毕设卡卡卡的……

论坛徽章:
0
4 [报告]
发表于 2013-05-27 23:24 |只看该作者
Veyron1110 发表于 2013-05-27 16:00
回复 2# wenhq


毕设做的不错啊,我的毕设就是搭建一个lamp架构的图书馆信息管理系统,丢人啊

论坛徽章:
0
5 [报告]
发表于 2013-05-27 23:51 |只看该作者
回复 4# dickwen


    我都没搭过什么管理系统呢!!!{:2_169:}

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每月发帖之星
日期:2015-09-11 19:30:52IT运维版块每周发帖之星
日期:2015-09-11 19:20:31IT运维版块每日发帖之星
日期:2015-08-26 06:20:00每日论坛发贴之星
日期:2015-08-20 06:20:00IT运维版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15金牛座
日期:2014-05-04 16:58:09双子座
日期:2013-12-17 16:44:37辰龙
日期:2013-11-22 15:20:59狮子座
日期:2013-11-18 22:55:08射手座
日期:2013-11-12 10:54:26
6 [报告]
发表于 2013-05-28 08:54 |只看该作者
回复 3# Veyron1110

毕业设计才能学到很多东西,好好学吧。将来工作中能用到。
   

论坛徽章:
1
IT运维版块每日发帖之星
日期:2016-05-24 06:20:00
7 [报告]
发表于 2013-05-28 22:44 |只看该作者
本帖最后由 021512035 于 2013-05-28 23:27 编辑

QEMUFile是快照功能(do_savevm函数)和迁移功能(tcp/exec/unix/fd四种迁移方式)的公共封装接口;

BlockDriverState(快照)和QEMUFileBuffered(迁移)是功能的具体实现接口;

qemu_savevm_state_begin/qemu_savevm_state_iterate/qemu_savevm_state_complete也快照功能和迁移功能的公共接口;最终调用qemu_put_byte/qemu_put_buffer等接口把脏内存数据及硬件运行状态数据放入buffer中;当buffer中数据满时,调用具体的实现接口把数据发送出去(迁移)或写入文件(快照)。

迁移功能实现的buffered_put_buffer接口,把buffer中的数据通过socket(以tcp举例)发送到备机;同时QEMUFileBuffered结构中有一个定时器timer,可以计算传输速度,用来对比是否超过带宽;

快照功能实现的block_put_buffer接口,把buffer中的数据写入到磁盘镜像文件;

题外话:楼主是应届毕业生吧,应该对虚拟化比较感兴趣,不知对qemu-kvm中断虚拟化,IO虚拟化,内存虚拟化,设备虚拟化等有没有研究?

虚拟化是一个很有前景的,偶所在的公司也在做虚拟化方向的开发,非常缺这方面的人才,如果楼主现在对qemu-kvm开源项目有一定研究,并且希望以后在虚拟化方向有更大发展,偶可以帮你向公司推荐哦。

欢迎更多牛人进行虚拟化技术的交流。



偶画的一张图,仅供参考:(偶的一些其它的图:http://bbs.chinaunix.net/thread-4073948-1-1.html)


qemu-kvm虚拟机活迁移.png (276.66 KB, 下载次数: 102)

qemu-kvm虚拟机活迁移

qemu-kvm虚拟机活迁移

论坛徽章:
0
8 [报告]
发表于 2013-05-29 11:34 |只看该作者
021512035 发表于 2013-05-28 22:44
QEMUFile是快照功能(do_savevm函数)和迁移功能(tcp/exec/unix/fd四种迁移方式)的公共封装接口;

Block ...


学习了

论坛徽章:
0
9 [报告]
发表于 2013-05-31 16:54 |只看该作者
回复 7# 021512035


    太感谢了!!!非常感谢!!
    我其实是做毕设的时候才接触到的虚拟化,对亲说的那些还没有啥了解的……非常不好意思哈。
    不过应该以后还是会继续研究这方面的东西的吧……以后可能还会有很多东西请教啊亲~~
    谢谢亲的指导啦~真的非常感谢~!!

论坛徽章:
0
10 [报告]
发表于 2013-05-31 17:00 |只看该作者
回复 6# wenhq


    恩  谢谢亲  XDD
   这个ChinaUnix的中文简称啥子啊,刷验证问题老刷到这个的……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP