Kernel-based Virtual Machine 的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20 之后集成在linux 的各个主要发行版本中。
一个普通的Linux 进程有两种运行模式:内核和用户。KVM 增加了第三种模式:客户模式(有自己的内核和用户模式)
KVM 的虚拟机需要硬件支持,即如Intel VT 技术(vmx)或AMD V 技术(svm).且Linux 发行版本必须在64bit 环境中才能使用KVM
完全虚拟化和半虚拟化
在完全虚拟化中,Guest OS运行在位于物理机的 hypervisor 之上。Guest OS并不知道它已被虚拟化,并且不需要任何更改就可以在该配置下工作。
相反,在半虚拟化中,Guest OS不仅知道它运行在 hypervisor 之上,还包含让Guest OS更高效地过渡到 hypervisor 的代码
在完全虚拟化模式中,hypervisor 必须模拟设备硬件,它是在会话的最低级别进行模拟的。尽管在该抽象中模拟很干净,但它同时也是最低效、最复杂的。在半虚拟化模式中,Guest OS和 hypervisor 能够共同合作,让模拟更加高效。半虚拟化方法的缺点是操作系统知道它被虚拟化,并且需要修改才能工作。
确定机器是否支持虚拟化:(必要时需要在BIOS开启VT)
[root@rhel6 ~]# egrep "(vmx|svm)" --color=always /proc/cpuinfo安装KVM
[root@rhel6 ~]# yum install kvm virt-manager libvirt确定正确加载KVM模块
[root@rhel6 ~]# lsmod | grep kvm检查KVM 是否成功安装
[root@rhel6 ~]# virsh -c qemu:///system list绑定桥接器:
[root@rhel6 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0安装Virtio实现网卡和硬盘的透写
VirtIO 是一个用来实现"虚拟IO"的通用框架,用于实现虚拟的网卡,磁盘等虚拟设备的透写。
linux内核版本在2.6.25以上的,都应该集成了VirtIO的驱动,但windows需要另外安装
Windows安装VirtIO驱动有两种方法:
1、使用IDE方式来安装系统,安装系统完成后,在guest中安装virtio磁盘驱动,然后再修改kvm启动参数,设置磁盘为virtio。
安装完Windows后,创建一块临时的硬盘,将其设置为virtio模式添加到Windows中,并设置网卡模式为virio
开机后将提示检查到新硬件,然后安装驱动程序后关机
删除新添加的临时硬盘,将原来的硬盘设置为virtio模式,开机即可识别到硬盘与网卡都为virtio模式
2、在安装时直接加载virtio驱动。
由于XP的安装程序只支持从软盘加载驱动程序,因此需要一个软盘的镜像文件(virtio-win-1.1.16_1.vfd),在xp的安装开始,按F6从软盘加载驱动程序