免费注册 查看新帖 |

Chinaunix

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

[内核模块] btrfs感觉不咋个行了,想换KVM。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-06-20 09:57 |只看该作者 |倒序浏览
BTRFS
1. LVM可以替代btrfs的克隆,镜像等功能
2. btrfs的IO性能是个最初设计的问题。在KVM的主页上明确写了,btrfs不能用在KVM上。
3. 最初的btrfs开发者都一个个离开了。前段时间竟然收到Chris的Leaving Oracle邮件。

KVM
1. Linux自己的一个虚拟化产品
2. XEN在内核中只是在drivers目录下,应该只是一些接口
3. UML感觉像是个玩具。

但是KVM也有不足,比如需要硬件支持和QEMU。

论坛徽章:
0
2 [报告]
发表于 2012-06-20 10:16 |只看该作者
KVM硬件支持:现在的CPU一般都有呀。另外就是QEMU有什么不好么?

论坛徽章:
0
3 [报告]
发表于 2012-06-20 10:19 |只看该作者
qemu很好。但我觉得UML的那个实现逻辑,会更加的简便。

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
4 [报告]
发表于 2012-06-20 10:22 |只看该作者
   疯牛又不想研究btrfs了

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34处女座
日期:2013-12-27 22:22:41
5 [报告]
发表于 2012-06-20 10:41 |只看该作者
LZ, KVM以前也是driver目录下的…………

论坛徽章:
0
6 [报告]
发表于 2012-06-20 10:41 |只看该作者
越看越觉得没意思了,人都跑光了。btrfs没啥实际的应用,Meego都废了。还是趁早撤漂的好。KVM看上去不错。在生产环境中用的也不少

论坛徽章:
0
7 [报告]
发表于 2012-06-20 10:49 |只看该作者
回复 5# tempname2

drivers/xen
virt/kvm/
arch/x86/kvm/
arch/powerpc/kvm/
arch/ia64/kvm/
arch/s390/kvm/

KVM有两个地方,第一个是与平台无关的,在virt下面,还有个时与平台相关的在/arch目录下。


   

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34处女座
日期:2013-12-27 22:22:41
8 [报告]
发表于 2012-06-20 10:57 |只看该作者
回复 7# liuweni

我是说以前啊,KVM最开始就是出现在drivers目录下,只支持x86平台,说穿了就是INTEL之VMX与AMD之SVM的驱动。

平台无关的代码只是个很简单的架构,平台相关代码几乎就可以算作是驱动。支持平台相当有限,前些时还看到说把IA64平台的KVM标记为废弃,因为上次维护者commit已经是三年前了。PowePC的应该做的差不多了,x86的现在似乎主要在做big real mode的模拟,还有内存管理的一些优化。最近出现了对ARM cortex A-15的支持,前几天已经看到V7的patch了,这个应该有很多可以做,但,一来,搞不懂ARM虚拟化有何用途,二来,现在好像没还有a15的产品。

论坛徽章:
0
9 [报告]
发表于 2012-06-20 11:24 |只看该作者
回复 8# tempname2

前辈...... 有什么指教没?

这个在drivers目录下都是很早的事情了。我记得在2.6的时候就看到放到virt下。现在打算先把virt目录下的整完再看x86的吧。估计还要恶补下 X86 CPU架构的知识。不晓得现在Intel还送书不。

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34处女座
日期:2013-12-27 22:22:41
10 [报告]
发表于 2012-06-20 11:52 |只看该作者
回复 9# liuweni

哈,我不是前辈啊,我也才看了两个星期KVM。KVM好像是从2.6.20还是之后的哪个版本才有的。

就我这两个星期的经验来说吧,不要从平台无关的地方开始看起,当然平台无关的代码本来就没多少。找些slide,大致了解一下KVM是什么东西,然后写个简单的用户态程序感受一下。之后大致浏览一下平台无关的架构,再结合硬件手册细读平台相关代码。就我个人而言,AMD的SVM,无论从手册上来看还是从代码实现上来看,都要比INTEL的简单。两者的实现虽不兼容,但思路类似,要解决的问题差不多。看懂了一种再看另一种很容易。我双管齐下,有点犯晕…………

几个主要文件是:
   --> virt/kvm/kvm_main.c,提供misc设备接口,提供平台无关流程,调用平台相关函数
   --> arch/x86/kvm/x86.c,提供x86平台函数,提供x86平台实现无关流程,调用x86平台实现相关函数
        --> arch/x86/kvm/{svm, vmx}.c,对AMD与INTEL实现上的硬件支持。
        --> arch/x86/kvm/emulation.c,实现相关中,一些硬件支持不太好的地方,提供用软件的模拟

还有MMU和IO相关的部分,我都直接跳过去了,那些部分应该也挺复杂的。其实我后面倒是对IO的虚拟挺感兴趣的,但这些恐怕多是在用户态qemu里完成的。至于x86体系,如果对x86上Linux的实现熟的话,应该没什么问题吧。

不过,和内核其它部分一样,能做的也就是bug fix或者实现新的特性。业余了解一下还好,真是工作要求做这个的话,恐怕要花大气力。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP