云计算概念很火,其底层虚拟化技术也是近年来的研究热点,KVM (kernel-based virtual machine,内核虚拟机) 也越来越流行了,大名鼎鼎的Google公司在其云计算平台GCE(Google Compute Engine)中全部使用KVM来做底层的虚拟化,而且国内的互联网巨头(如Taobao等)也开始研究或者在生产环境部署KVM(或者Xen)虚拟化。 本人2010年时接触KVM,从2011年初开始专注于KVM、Xen等开源虚拟化技术的研究、开发与测试,对Linux上的KVM虚拟化技术的研究和测试也是日常工作中非常重要的一部分,同时也积累了一些KVM学习心得和测试方法,希望与大家分享。
本页是我正在写作的一本关于KVM的书籍的部分章节连载,书名暂为《KVM虚拟化原理与实践》(后正式出版时,名为《KVM虚拟化:实战与原理解析》)吧;这里连载的是我写作过程中的草稿(算α或β版本吧),可能最终成书之时的内容与这里的连载略有不同之处。
update:《KVM虚拟化:实战与原理解析》已经由机械工业出版社于2013年10月正式出版,见:
http://smilejay.cn/kvm-principles-and-practices/
欢迎想了解KVM技术的童鞋购买一本来看看~
欢迎大家阅读和指正,衷心感谢您对本书内容、形式、错别字的任何建议和批评!
本页中的转载有如下几个特点,请大家知晓:
1. 是KVM书籍的部分章节而不是全部内容(等出版后,请大家购买一本支持一下哦 ^_^);
2. 是草稿内容而不是最后书籍发行版中的内容;
3. 小的错别字或格式问题不一定会在本博客连载中修改(但一定会在书籍正式发行前尽量完善);
4. 感谢您的阅读,更感谢您能提出一些批评以便让我做得更好。 Thanks, All.
部分章节转载如下:
第3章 构建KVM环境
第4章 KVM核心基础功能
4.4.2 使用网桥模式(bridge networking mode)
第6章 KVM的管理工具
6.1.7 libvirt API 使用示例(Python API)
6.5.2 使用DevStack安装和配置OpenStack开发环境
第8章 KVM性能测试及参考数据
《KVM虚拟化原理与实践》大致目录如下:
0. 推荐序、前言
1. 虚拟化与云计算
2. KVM原理简介
3. 构建KVM环境
4. KVM核心基础功能
5. KVM高级功能详解
6. KVM的管理工具
7. Linux发行版中的KVM
8. KVM性能测试及参考数据
9. 参与KVM开源社区
附录、索引、参考资料等
(限于能力和时间问题,本书没有详细的代码分析部分了)
大概什么时候写完?
大约年底前完成,估计明年初可以出版~
书出版了么 当当卓越都木有找到
当当/亚马逊/京东都可以预订的,请搜索“KVM虚拟化”即可~~
本书我在3天之类看完了,讲解的很浅显代码和架构层次讲解很少,基本是KVM的扫盲书籍适合测试团队看....建议在写第二版的时候能够在深入点....至少让研发人员看了一遍觉得这本书还行得留着....
嗯 是的,谢谢批评~ 对于直接开发KVM内核的同学确实只是一个浅显的入门~ 对于测试、运维、云平台上层的开发者,了解这些KVM知识基本还是就够用了。KVM/Linux内核方面,我的理解还没到能写书的水平。
其实挺期待对kvm进行深入分析的
期待啊
thanks.~
支持楼主,愿早日看到书籍出版
thanks!~
觉得讲KVM本身的内容太少
谢谢关注~ 第4、5章是纯qemu/kvm的功能介绍和实例,而系统架构和代码分析在第9章。
老大,早点写完啊,早点出版。迫切需要啊~
谢谢支持! 我是在尽力快点写,只是参考资料比较少,没有一本讲KVM的书,有不少东西,我也得一边自己做实验和看源码,一边写出来分享。
KVM与QEMU唇齿相依,建议添加相应章节进行介绍。
支持你的新书,会经常光顾你的博客。
谢谢廖哥的支持! 嗯,QEMU是必不可少的,介绍各个KVM的特性时,大多数都是有QEMU命令行操作的一些介绍,相当于部分介绍QEMU,估计QEMU相关的东西能占到30%以上篇幅,只是没有专门在章节名称上说是QEMU。
支持博主,我现在正在把我们生产环境全部虚拟化,而使用的虚拟化软件是KVM,希望和博主多多学习。
如果需要什么数据支持,我会鼎力支持!
嗯 非常谢谢!~ 看来确实是越来越多的公司开始用KVM做虚拟化了~ 需要你数据时,我联系你哦。
找这方面的资料好难啊!正好拿来学习学习。有问题再向您请教。哈哈
恩 欢迎多交流 技术问题~
非常期待,一直想找KVM的专业书籍找不到。希望快点出版!!
嗯 谢谢,还在努力中~ 希望2013的春天可以出版.
希望早日加到书架上,辛苦了,加油:)
这本书现在出版了没有呢
还没呢,初稿已经基本完成,还需要编辑审阅和修改之类的;估计3、4月份能出版吧(比我原来的预期也慢了点)~ 谢谢关注!
多写点企业中的使用案例吧。。。想好好学学呢
书出来了,得去买本看看....
多谢支持~
楼主厉害,期待尽快看到新书,找了半天资料,没有找到合适入门的。
快点出来吧,能讲解详细点
老大,新书完成否,迫切需要,能否先发本给我啊,预定中我邮箱chenlisongtianya@163.com
书什么时候能出来?
基本成型了的;再等等吧。。 哎,比我预期的要晚点了。。
大侠,书出版了吗?哪里可以购买啊?
大侠,书出版了吗?哪里可以购买啊?
哎呀,确实抱歉啊,还没出版(编辑审稿没有完成),你先把这些部门连载内容看看吧~~ 下次出版了,我贴出来;大家去支持买一本哦 ^_^
赞,支持,期待快点出版,入手一本
第五章不能放出来吗?^_^
预计啥时候出书啊 着急买一本啊!
支持一下,等书出来
嗯,谢谢~ 我最近会加紧时间修订我的初稿,争取早日出来!~
有没有大致的日期的?也希望你能推荐一些和kvm相关的书籍或文章,谢谢。
没有具体日期;不过我最近会话更多力气推动该书的出版。
这个书有电子书吗?可以放在亚马迅上下载购买。
目前没打算推出电子版~~谢谢你的建议~~
老大您的书大概什么时候出来
呃,还需要点时间~~ 有时候不完全由自己控制的;要是以我的做事风格,所有事情都能控制,应该已经出版出来了.. ^_^
第五章怎么没有了?书中是否有关于源代码的解读呢?好像么有看到啊,也需要这方面的带领,小弟最近也在研究KVM,所以这方面的知识对我而言很重要啊
代码导读部分比较少~~ 原本计划专门写代码导读的;不过由于各种变化,估计就没太多直接分析代码的了。
老大,书啥时候出啊,期待中,希望早点出来
谢谢支持。还在努力中,内容已经基本完成,只是编辑审稿和一些简单的修补;我也希望早点出来~
也在等书的出版啊,书出版了,老大能不能也邮箱提醒下,我要直接去买一本来看啊,老大可以考虑放到taobao上挂出来卖啊
老大能不能写一篇关于kvm要使用多网段的一些内容啊,现在看到的大多都是在同一网段,或者只有虚拟机一网段,主机一网段的情况进行桥接的方式,假如虚拟机数量多,是要使用vlan来进行划分多网段的情况的话,是否只能通过openvswitch的方式,或者还有其它方式啊
首先谢谢支持哦,到时我也将本书上市的消息发email到这里留言说需要的朋友吧(卖书,我脸皮真厚..);先是出版社出版后,估计到时当当、京东、淘宝都能买到.
要是虚拟机很多,网络可以考虑通过第三层路由来转发?(可以配置内网的DHCP Sever,然后根据你设置的虚拟机中网卡MAC来分配相应的IP地址,这样也很有规律)。另外,如你所说,就是桥接,用vlan也可以进行划分的。对于open vswitch 我还没研究过~ 如果(仅仅是如果)我有时间或者工作需要,我了解ovs后可以写两篇博客出来。。
OVS虚拟交换机,现在来看已经是和KVM密不可分的技术了,至少短时间来看,KVM少了OVS的支援,基本就不可能在实际的生产应用,包括vmware和citrix也是使用的OVS,还有openflow的应用
哥们,写的不错,一看就是在搞这个。
网络方面现在都转到nicira的OVS了,那个东西才是企业级的虚拟交换机,考虑到了FT,HA,teaming等, 有时间加上那部分就最好了。
我最近也是在研究OVS,和ESX的vswitch很像的一个东西,有时间可以交流下。
谢谢;不过 OVS 我还没啥经验~~我会稍微了解一下;但是估计没时间把它写到书中了
请问书什么时候能出来啊,现在正在做这方面的东西,期待中~
等着博主主动卖书给我,blog就不看了,直接买书支持!
看CV,应该在Intel OTC,好地方啊
书出来了请发邮箱啊,谢谢~
默默地等书,虽说在连载上也查过不少资料。
谢谢大家支持,应该会比较快出来了,我开始写最后一章“参与KVM开源社区”了。
P.S. 忽然发现今天博客网站留量猛增,Google Analytics 分析了下referrals,发现是因为上了 http://news.dbanotes.net/ 谢谢了~ @Fenng做的东东 还有“地瓜哥”的友情推荐~
老大,书还没出啊,最近也在弄KVM虚拟化,在网上看的资料都是零零散散的。很需要你的大作好好系统学习一下,啥时候能出呢,期待中。。。
有几个问题想请问博主,还望解疑: Xen为什么一定要进入内核呢,进入内核意味着它也要借助linux内核对硬件资源管理和调度吗? 博主能不能简单说点对KVM和Xen的看法? 谢谢
对的,应该是你说的那样的,不过注意xen hypervisor本身几乎是永远不能进入Linux内核的,只是说和Xen配合使用的dom0 kernel已经可以完全直接使用Linux kernel upstream了(意思是Linux内核这边的为了xen进行的相关改动已经全部进入到Linux原生内核中了)。我工作和学习对KVM、Xen都是涉及到的,其实很早就准备写一篇KVM/Xen的看法的,等等吧~~ 我的大致观点与这篇文章有点类似(我不敢自称专家哈):
http://chucknology.com/2012/04/15/kvm-is-still-linux-xen-is-still-not/
谢谢解答~
文章我仔细看了,挺好的~~ 呵呵,大概意思是Linux 3.0 内核开始,直接可以拿linux系统来当Dom0(配合最新版本Xen)和DomU,如果要用Pre 3.0版本的Linux要做Dom0需要modified kernel 和 Xen modifications(不明白啥意思,重新配置内核?重新编译内核?Xen还要做修改?),做客户机如果要用pv-ops还要重新编译内核。
反正就是说,新版本的Xen和linux 3.0配合起来使用比原来容易啦(我会装个Xen试试看对比一下,博主有好资料可以推荐参考一下吗?)。
但是呢,Xen的hypervisor始终是自己的技术,KVM可以利用linux本身来做hypervisor的一些工作,这个是最大的区别了。(但是我对这一点没啥感性的认识,因为我其实很小白菜吧,不了解内核,不了解linux,不明白这一点何以让KVM有优势,得到大公司青睐)
老大布置任务看看Xen,KVM用哪个好,从网上看来的资料,感觉Xen挺成熟啊,性能也好,很多企业在用,就是不知道用起来是不是麻烦些,鼓捣了好几天根据博主文档装了个KVM可以跑起来,也觉得很好用啊。现在自己感觉用哪个都好的样子。。。Xen不会一下子败下阵来吧,KVM发展势头又很猛的样子。。苦恼了。。呵呵
支持博主,期待新书
呵呵,我们ibm公司有个专门做kvm的team,不知道楼主有没有兴趣。。。。
有的话 hejiashcn.ibm.com
谢谢,暂不考虑~~ 今天在oVirt那个workshop上 还看到IBM中国的KVM technical leader做了一个演讲~~
这本书估计什么时间可以出版呢
下周一开始写前言部分了,其他都写好了。唉,比最开始乐观估计的年初,完了半年了。辜负大家的期待了。
冒昧问一下,是否可以发我一份书的完整目录,我从11年低开始接触这方面技术,读过libvirt源码,使用libvirt/kvm做过项目。
过段时间(应该就一两个月内)就可以出版了,到时我会把目录以及更多章节public出来~ 我也对libvirt做了下简介,不过比较粗浅哦,呵呵
我能加你QQ吗641163440,谢谢。
很少上Q,联系我,请先发email给我;email地址在本博客中找~~~
大侠,你的这本书大概什么时候出版呢
出版社编辑说9月中旬能出版,估计9月末或10月初可以在市面上买到~ 谢谢关注哦~
大大,出版的时候,邮件一下,我购买一本!
好的啊,谢谢支持
大虾~~书出版了之后 发邮件告诉偶一声呗 偶买一本~~~
嗯 好的啊,谢谢支持~
书出版了木有?等着买呢
书出版了没有?等着买呢
还没;快了,在出版社进行最后阶段了。
同样是为SCUTER,师兄好牛。COMPUTER SCIENCE毕业两年了,感觉还没怎么找到发展的方向。目前正在倒腾一下openstack、kvm和libvirt api库,搜索来到这里了。看到师兄的工作经历,应该是Intel公司要发行自身版本的OpenStack吧,就像intel的hadoop一样。
1.不知道kvm书出了没有?出版了我就买本学习学习..
2.无代理情况下kvm里面虚拟机的实际使用内存如何进行监控?貌似libvirt关于具体使用内存的api是空的。
3.kvm的虚拟机流量如何控制?有没有推荐的方案?
欢迎校友啊~~ 没有准备出定制版的OpenStack啊;目前,据我所知,对OpenStack贡献的所有代码都是直接提交到OpenStack社区。(Hadoop确实有Intel优化定制版)
1. kvm书,出版社最后阶段,他们封面都做好了。这个月底,最迟下个月中旬可以上市吧。
2. 没有特别好的办法,在宿主机中可以考虑直接监控QEMU进程(及其子线程)消耗的内存(这是从宿主机这边拿过去的资源),而虚拟机里面具体怎么分配,估计还得到虚拟机中才看得到。
3. KVM本身没提供流量控制,现在比较热门的Open vSwitch 方案,感觉还算相对靠谱,可以试试。
谢谢指导哦。关于虚拟机的流量控制问题,openvswitch确实是挺好的方案,也有考虑过;不过libvirt里面好像也有关于流量控制qos的设置,好像是用tc做的,不过不知道靠不靠谱,因为没有测试过,不知道你是否了解这个,这个方法的效果如何?http://libvirt.org/formatnetwork.html
tc的话貌似不能直接提供收包的速率控制,需要中间插一个虚拟的模块,再控制
tc是额外的软件包,但是libvirt已经实现用tc工具来控制虚拟机网速的
我对TC也不熟,没尝试过~ 只是知道有这个东西~ 另外,用cgroup也可以做到一些按进程控制的网络控制~
书什么时间可以出版呢?
估计 10月中旬才能正式上市吧~ 如前面hejianet说的,现在可以预定购买的了,当当、京东、亚马逊都可以预售,请搜索“kvm虚拟化”~~
书,出版了吗?
10月才正式上市 当当、京东、亚马逊都可以预售可,请搜索“kvm虚拟化”~~
貌似京东可以预定了,不过书貌似小贵了哦:)
你比我还先知道啊~ 看到你的评论,我才去查了下~~ 确实是可以预定了。 是有点小贵(当当网好像便一点哦),不过价格方面不是我能控制的,不做评论~ 现在真正懂虚拟化的技术人员,如果确实需要,也还买得起~
终于出来了,果断京东预订一本,期待好久了。
大家对kvm这么热情,欢迎来我的blog,我会连载对kvm代码的理解,和大家共同交流,http://blog.csdn.net/fanwenyi
书名叫什么,好像不叫了,是叫<KVM虚拟化技术:实战与原理解析〉这本吗?
嗯 是这个~~ 后来根据编辑的意思改了下书名。
今天早上刚收到在亚马逊购买的这边书,很赞,以后有得事情做了,细细拜读~
已经购买新书学习了,支持.
lz您好,很喜欢你博客的内容,我是在一家银行工作,也准备用了,希望能多点交流或者提供一些架构资料,比如kvm在高可用和资源集中管理方面一般如何去做的?谢谢。。。您的书一定买一本看一下,很多都是我在测试研究中经历的,走了很多弯路才来到你这。。。
你好,谢谢关注哦~ 由于我曾经的主要工作对象的Hypervisor层面的KVM/QEMU,所以对于管理工具方面的理解也不太深入哦。关于HA和资源集中管理,我所知道的是,RedHat的RHEL/RHEV中都提供了HA的解决方案的,OpenStack的Nova也有HA的支持的;资源集中管理,这方面的工具、框架就很多了,我的书中也在第6章做了一些简单的介绍(当然不算那书的重点中心内容),比如:Virt-Manager、OVirt、OpenStack等应该都是不错的管理工具。
RedHat的HA参考文档:
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/High_Availability_Add-On_Overview/ch-virt.html
楼主你好,根据书中,使用virt-v2v 迁移xen to kvm
出现错误
virt-v2v: WARNING: There is no virtio block driver available in the directory specified for this version of Windows. The guest will be configured with a {block} block storage adapter, but no driver will be installed for it. If the {block} driver is not already installed in the guest, it will fail to boot.block
virt-v2v: WARNING: There is no virtio net driver available in the directory specified for this version of Windows. The guest will be configured with a rtl8139 network adapter, but no driver will be installed for it. If the rtl8139 driver is not already installed in the guest, you must install it manually after conversion.
virt-v2v: net_128 configured without virtio drivers.
之前xen有装过GPL PV dirver 已经卸载了。kvm虚拟化中也装了virtio-win 所需要的驱动。使用转换后的镜像创建虚机,出现蓝屏。不知道你是否遇到此类问题。
哈哈,问题已经解决了主要是我的xen 里面的GPL PV dirver,没卸载干净。
嗯,谢谢回复反馈。如果没有GPL PV driver,我以前做时就是可以成功的。
KVM官方网站已经列出了三本相关的书籍,楼主可以拿来做参考,只不过有一本是日语,两本是德语写的。。。而且主要也是讲的运维和使用方面的,唉,真正想研究代码还是得参与到开源项目中去
嗯 谢谢~~ 翻了下这几本书在Amazon的目录,感觉也比较浅(可能比我写的还浅,^_^),而且不全面和有点老旧了。。 不过其中的目录,看起来和我的一部分比较像~~ 嗯 研究纯代码,还是去kvm邮件列表中去了,我在书中也提到了~
支持一下
发现个奇怪的事情,我在fedota20 在qemu或libvirt安装的虚拟机无法进行域名解析,但是能ping通外网,DNS也设置了。。这是什么问题?是我的宿主机少配置了什么吗?
虚拟机中的DNS和宿主机配置无关。你可以看看虚拟机中是否能ping同DNS Server?解析域名,你用用nslookup看看。
书买不到了吗,都没货呢
如果你确实要买 我自己手上还有两本之前出版社送给我的书 可以到“关于本博客”页面找email发邮件给我 你随便给点邮费 我寄给你一本