kvm虚拟化技术实现原理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kvm虚拟化技术实现原理相关的知识,希望对你有一定的参考价值。

参考技术A Qemu, PearPC, Bochs, ...

VMWare Workstation, VirtualBox, VMWare Server, Parallels Desktop, KVM(hvm), XEN(hvm)

LXC, OpenVZ, libcontainer, runC, rkt, Linux V Servers, Virtuozzo, ...

wine

jvm, pvm, ...

Type-I:Hypervisor直接运行于硬件;
Type-II:Hypervisor运行主机OS之上;

硬件级物理内存映射到虚拟机

KVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 X86 硬件的开源的 Linux 原生的全虚拟化解决方案。KVM 中,虚拟机被实现为常规的 Linux 进程,由标准 Linux 调度程序进行调度;虚机的每个虚拟 CPU 被实现为一个常规的 Linux 进程。这使得 KMV 能够使用 Linux 内核的已有功能。
但是,KVM 本身不执行任何硬件模拟,需要客户空间程序通过 /dev/kvm 接口设置一个客户机虚拟服务器的地址空间,向它提供模拟的 I/O,并将它的视频显示映射回宿主的显示屏。目前这个应用程序是 QEMU。

KVM模块load进内存之后,系统的运行模式:

扫描物理内存,发现多个虚拟机实例有相同的内存空间,合并成为一个共享内存空间,节省内存。

运行中的一个kvm虚拟机就是一个qemu-kvm进程,运行qemu-kvm程序并传递给它合适的选项及参数即能完成虚拟机启动,终止此进程即能关闭虚拟机;

kvm:核心模块

CentOS 7创建物理桥,使用内核自带的桥接模块实现:
桥接口配置文件保留地址信息;

物理网卡配置文件:
删除地址、掩码和网关等相关的配置,添加

重启网络服务即可:

此时会断网,到虚拟机重启一下,发现已生成网桥,但还要配置网桥的dns,否则无法上网。

其他终端图形登录[root@node-60 ~]# ssh -X root@192.168.1.64

参考链接:
http://www.178linux.com/103971
https://www.cnblogs.com/sunhao96/p/7605865.html
https://bbs.csdn.net/topics/391040787
https://www.ibm.com/developerworks/cn/linux/l-pci-passthrough

以上是关于kvm虚拟化技术实现原理的主要内容,如果未能解决你的问题,请参考以下文章

虚拟化技术kvm

Linux KVM 虚拟化技术

KVM虚拟化技术-实战与原理解析

KVM虚拟化的简单概论

虚拟化技术之基于硬件虚拟化的技术KVM

容器与虚拟化技术实现原理对比