一、知识背景
1.KVM简介
KVM(Kernel-based Virtual Machine, 即内核级虚拟机) 是一个开源的系统虚拟化模块。它使用 Linux 自身的调度器进行管理,所以相对于 Xen,其核心源码很少。KVM 目前已成为学术界的主流 VMM 之一。
它包含一个为处理器提供底层虚拟化 可加载的核心模块 kvm.ko(kvm-intel.ko 或 kvm-amd.ko)。kvm 还需要一个经过修改的 QEMU 软件(qemu-kvm),作为虚拟机上层控制和界面。
KVM 的虚拟化需要硬件支持(如 Intel VT 技术或者 AMD V 技术)。是基于硬件的完全虚拟化。
通过使用 KVM,您可以运行多个其本身运行未改动的镜像的虚拟机。,例如Windows,Mac OS X 。每个虚拟机都有各自的虚拟硬件,比如网卡、磁盘和图形适配器等。
2.KVM和QEMU的关系
QEMU是个独立的虚拟化解决方案,从这个角度它并不依赖KVM。 而KVM是另一套虚拟化解决方案,不过因为这个方案实际上只实现了内核中对处理器(Intel VT, AMD SVM)虚拟化特性的支持,换言之,它缺乏设备虚拟化以及相应的用户空间管理虚拟机的工具,所以它借用了QEMU的代码并加以精简,连同KVM一起构成了另一个独立的虚拟化解决方案,KVM+QEMU。
二、安装虚拟机
1.检查cpu是否支持虚拟化
Intel:
[root@localhost etc]# grep vmx /proc/cpuinfo
AMD:
[root@localhost etc]# grep svm /proc/cpuinfo
我的虚拟机主机也是虚拟机,在Win7上用VMware安装,想要支持嵌套虚拟机化,需要在VMware设置中打开虚拟化Intel VT-x/EPT或AMD-V/RVI。
2.查看是否加载KVM模块
[root@localhost etc]# lsmod | grep kvm
kvm_intel 138567 0
kvm 441119 1 kvm_intel
如果没有加载,运行以下命令:
[root@localhost etc]# modprobe kvm
[root@localhost etc]# modprobe kvm-intel #intel CPU
[root@localhost etc]# modprobe kvm-amd #amd CPU
内核模块导出了一个名为/dev/kvm的设备,这个设备将虚拟机的的地址空间独立于内核或者任何应用程序的地址空间。
3.安装libvirt
libvirt是管理虚拟机的API库,不仅支持KVM虚拟机,也可以管理Xen等方案下的虚拟机。
[root@localhost etc]# yum install virt-manager libvirt libvirt-Python python-virtinst libvirt-client virt-viewer qemu-kvm
因为我的主机是服务器,没有图形化界面,想要用virt-manager图形化安装虚拟机,还需要安装X-window。
[root@localhost etc]# yum install libXdmcp libXmu libxkbfile xkeyboard-config xorg-x11-xauth xorg-x11-xkb-utils
4.开启libvirt服务
[root@localhost yum.repos.d]# service libvirtd start
Redirecting to /bin/systemctl start libvirtd.service
至此,前期准备已经完成,下面开始安装虚拟机。
注:我是在Win7上用putty链接的虚拟机主机,想要获得虚拟机的图形化界面,需要在Win7上打开X-ming,并且打开putty的X-11转发。
1.启动virt-manager
[root@localhost ~]# virt-manager
出现以下界面
如果出现乱码,请安装以下包
[root@localhost ~]# yum install dejavu-sans-mono-fonts
点击New创建一个虚拟机
接下来就是安装操作系统的过程