设为首页 收藏本站
查看: 2368|回复: 6

[经验分享] KVM: 基于内核的虚拟驱动

[复制链接]

尚未签到

发表于 2012-6-28 20:56:50 | 显示全部楼层 |阅读模式
概览
当前虚拟技术存在几种不同的虚拟机管理程序(hypervisors). 其中大多是基于硬件的x86虚拟, 它们的软件层比较复杂. 但随着Intel VT(虚拟技术, Virtualization Technology)和AMD SVM(安全虚拟机, Secure Virtual Machine)的出现, 编写一个hypervisor程序将变得更加容易. 现在我们也可以利用当前开源技术来享用虚拟技术所带来的乐趣.

通用的Hypervisor模型
现在通用的Hypervisor模型包含一个可管理多个”客户”操作系统共享硬件的软件层. Hypervisor为专门(特权)的客户系统执行基本调度和内存管理, 通常的委托管理和I/O函数.

今天的硬件变得越加复杂. 通常系统的”基本”调度操作可称做多个硬件线程(基于单核, 多核单个Socket, 多个Socket处理器). 类似, 片上内存(on-chip)控制器要求内存管理能实现系统分布式内存访问(NUMA)的功能.
当我们投入更多精力集成这些功能到hypervisors的时候, 我们已经有一个成熟的调度器和内存管理系统来处理这些问题 – linux内核.
使用linux做为Hypervisor
在标准的linux内核中增加虚拟技术, 我们能够获得一个已经(或将)优化了的内核, 一个改进的虚拟环境. 在这个模型当中, 每一个虚拟机都是一个由Linux调度程序管理的标准进程. 进程占用的内存由linux内存分配程序管理, NUMA集成到了调度程序当中.
一个通常的linux进程有两种运行模式: 内核和用户. KVM增加了第三种模式: 客户模式(guest mode, 有自己的内核和用户模式, 跟hypervisor没有任何关系).

各个模式的分工:
客户模式: 执行非I/O客户代码
内核模式: 切换到客户模式, 处理客户模式下因I/O或特殊指令引起的任何退出.
用户模式: 执行客户相关的I/O任务.
通过集成到内核当中, kvm ‘hypervisor’(虚拟机管理程序)无需修改就能自动跟踪最新的硬件和扩展功能.
一个最小化的系统
传统Hypervisor(虚拟机管理程序)模型其中一个优点是系统是最小化的(见上图2), 仅包含几十万行代码. 然而没有考虑到具有特权的客户机. 客户机访问所有的系统内存, 无论是通过hypercalls调用或为DMA硬件编写的程序. 特权客户出现的故障是不可恢复的, 就如同hypervisor发生故障不能自动重启一样.
一个基于kvm的系统的特权范围是真正最小化的: 仅包含主机内核和附加几千行代码的内核模式驱动, 可提供无限制的硬件访问.
kvm组件
我们以结构为例来了解kvm的简易性, kvm包括两个组件:
一个是管理虚拟硬件的设备驱动, 该驱动通过一个字符串设备/dev/kvm来显示其能力.
另一个是用于模拟PC硬件的用户空间组件, 这是一个稍做修改的qemu进程.
修改过的qemu进程使用mmap()管理客户机的物理内存和调用内核模式下的驱动运行于客户模式.
I/O模型直接来自于qemu, 支持可写时拷贝磁盘映像和其它qemu的功能.
I/O性能
当执行客户的I/O任务时, kvm模型具有一些性能上的优点. 考虑特权客户系统的事件顺序:
. 客户发起一个I/O指令.
. Hypervisor通过陷阱捕获I/O指令, 然后转发到特权客户(一些指令可能在内部进行处理)
. Hypervisor调度程序用来调度特权客户
. 普通客户切换到特权客户状态.
. 调用特权客户中断处理程序, 引发I/O进程由特权客户调度程序进行调度
. 执行进程上下文切换.
. 通过I/O进程初始化客户的I/O.
. I/O进程发送信号(通过特权客户内核和hypervisor): I/O的初始化结束.
. Hypervisor切回到最初的客户.
. Hypervisor继续执行客户代码
Kvm主机上同样的执行顺序:
. 客户发起一个I/O指令.
. 主机内核通过陷阱捕获指令和退出到虚拟机用户空间状态(一些指令可能在内核模式进行处理)
. 通过虚拟机用户空间初始化客户I/O.
. 虚拟机用户空间返回到内核状态.
. 内核继续执行客户代码
管理
自从虚拟机只是一个进程, 所有标准linux进程管理工具都是适用的: 你可以使用kill命令终止, 停止和继续虚拟机的运行(或甚至使用Ctrl-C和类似的键盘快捷键)和使用top查看资源使用状况. 通过普通的linux方法来设置权限: 虚拟机属于启动它们的用户(可以不是root, 但必须能访问/dev/kvm), 所有访问都由内核来进行确认.
系统管理员允许使用现有的工具来管理虚拟机, 主机系统允许逐步增加更多的虚拟机.
结论
为了平衡新silicon芯片提供的能力, kvm模型介绍了一种新的虚拟技术, 它能够很好利用linux的结构和最新的功能. 更多的是, 通过可加载模块方式集成hypervisor到主机的linux内核当中能够简化虚拟环境的管理和提高性能, 减小对已有系统的最小影响.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-347-1-1.html 上篇帖子: KVM-PPC初始化过程 下篇帖子: Ubuntu Linux中使用KVM

尚未签到

发表于 2013-3-13 16:28:41 | 显示全部楼层
帮你顶下哈!!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-15 18:44:19 | 显示全部楼层
我妈常说,我们家要是没有电话就不会这么穷。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-16 08:40:01 | 显示全部楼层
很多女明星不红的原因是因为没有张开腿*^_^*

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 06:06:13 | 显示全部楼层
有道理。。。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 23:13:26 | 显示全部楼层
恋爱就是无数个饭局,结婚就是一个饭局。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-18 18:02:19 | 显示全部楼层
漏洞与补丁齐飞,蓝屏共死机一色!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表