虚拟化四、KVM虚拟化技术-创新互联

一、KVM概述

成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的梁平网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

1、KVM

     Kernel-based Virtual Machine 基于内核的虚拟机

     以色列Qumranet公司研发,是内核的一个模块

     2006年研发,2008被RedHat收购了

     依赖于HVM技术:Intel VT-X,AMD AMD-V

2、KVM模块载入后的系统运行模式

内核模式:GuestOS执行I/O类操作,或其它的特殊指令的操作  

用户模式:代表GuestOS代为请求I/O类操作,

来宾(guest)模式:GuestOS的非I/O类操作,事实上,它被称作虚拟机的用户模式

3、KVM的组件

两类组件:

      /dev/kvm:工作于hypervisor,在用户空间可通过ioctl()系统调用来完成VM创建,启动等管理功能,它是一个字符设备,

                     功能:创建VM,为VM分配内存,读写VCPU的寄存器,向CPU注入中断,运行VCPU等

    qemu进程:工作于用户空间,主要用于实现模拟PC机的I/O设备

4、KVM特性

1)内存管理

          将分配给VM的内存交换至SWAP

          支持使用Huge Page(大内存页);

          支持使用Intel EPT或AMD RVI技术完成内存地址映射:GVA-->GPA-->HPA简化为GVA-->HPA

          支持KSM (Kernel Same-page Merging)

                   这个内核特性实现了内存页面共享。KSM通过扫描每个虚拟机的内存查找各虚拟机间相同的内存页,并将这些内存页合并为一个被各相关虚拟机共享的单独页面。在某虚拟机试图修改此页面中的数据时,KSM会重新为其提供一个新的页面副本。实践中,运行于同一台物理主机上的具有相同GuestOS的虚拟机之间出现相同内存页面的概率是很的,比如共享库、内核或其它内存对象等都有可能表现为相同的内存页,因此,KSM技术可以降低内存占用进而提高整体性能。

2)硬件支持

   取决于Linux内核;

3)存储:

本地存储:

网络附加存储:

存储区域网络:

分布式存储:例如GlustFS

4)实时迁移:

支持的GuestOS:

       Linux, Windows, OpenBSD, FreeBSD, OpenSolaris; 

5)设备驱动:

IO设备的完全虚拟化:模拟硬件

IO设备的半虚拟化:在GuestOS中安装驱动;virtio

               virtio-blk, virtio-net, virtio-pci, virtio-console, virtio-ballon

5、KVM局限性

一般局限性:

CPU overcommit

时间记录难以精确,依赖于时间同步机制

MAC地址:

VM量特别大时,存在冲突的可能性;

实时迁移:

性能局限性:

6、KVM的工具栈介绍

分为2大类:

qemu:

       qemu-kvm

       qemu-img

libvirt

       GUI: virt-manager, virt-viewer

       CLI: virt-install, virsh

QEMU主要提供了以下几个部分:

        处理器模拟器

        仿真IO设备

       关联模拟的设备至真实设备;

       调试器

      与模拟器交互的用户接口

补充资料:

VMM:对IO的驱动有三种模式:

自主VMM:VMM自行提供驱动和控制台;

混合VMM:借助于OS提供驱动;

                   依赖于外部OS实现特权域

                    自我提供特权域

寄宿式VMM:

二、KVM安装

1、安装kvm

1) 确保CPU支持HVM

# grep -E --color=auto "(vmx|svm)" /proc/cpuinfo

2) 装载模块

[root@BAIYU_180 ~]# lsmodModule                  Size  Used by
ppdev                   8537  0 
vmware_balloon          7199  0 
parport_pc             22690  0 
parport                36209  2 ppdev,parport_pc
microcode             112685  0 
snd_ens1371            21587  0 
snd_rawmidi            23017  1 snd_ens1371

当前标题:虚拟化四、KVM虚拟化技术-创新互联
文章出自:http://csdahua.cn/article/ddhiep.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流