kvm虚拟机搭建与运行
一、KVM简介
KVM的全称是kernel base virtual machine(基于内核的虚拟机)是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM已成为学术界的主流VMM之一。KVM的虚拟化需要硬件支持(如Inter VT技术或者AMD V技术),是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。
kvm架构
提示:kvm是Linux内核中的一个模块,而对于用户要操作Linux内核中的模块所提供的功能,必须在用户空间装上一个用户空间软件,通过系统调用的方式去操作;QEMU就是kvm在用户空间的管理功能,有点类似iptalbes是netfilter的管理工具;上面架构图上kvm的主要作用是提供 CPU 和内存的虚级化,以及客户机的 I/O拦截,Guest的部分I/O被KVM拦截后,交给QEMU处理;QEMU通过修改过的被KVM虚机使用的QEMU代码,运行在用户空间,提供硬件I/O虚拟化,通过IOCTL/dev/kvm设备和KVM交互,但是,KVM本身不执行任何硬件模拟,需要用户空间程序通过 /dev/kvm 接口设置一个客户机虚拟服务器的地址空间,向它提供模拟I/O,并将它的视频显示映射回宿主的显示屏。
二、KVM宿主机环境准备
在使用KVM时,宿主机必须在硬件上支持虚拟化功能,如Inter VT技术或者AMD V技术;
检查宿主机是否支持虚拟化功能
1 2 |
|
提示:如上在宿主机上执行grep -E "vmx|svm" /proc/cpuinfo,如果没有过滤到任何有关vmx或者svm相关字符,那么说明该主机不支持虚拟化功能;
在vmware workstation宿主机上开启虚拟化功能
提示:运行的虚拟机,必须要先关机,然后找到对应的虚拟机右键-->设置-->处理器-->把虚拟化inter VT-x/EPT或AMD-V/RVI(V)这一项打勾,然后点击确定开启虚拟机即可;
验证:现在开启了虚拟化inter VT-x/EPT或AMD-V/RVI(V),看看宿主机上是否能够过滤到vmx或svm的字符?
提示:如果硬件是inter 处理器过滤出来的是vmx,如果是AMD的过滤出来是svm;两者只要有一种即可;
检查内核是否装载kvm模块
提示:如果使用lsmod 没有过滤到kvm字样,说明宿主机没有装载该模块,装载方法modpro kvm即可;到此宿主机上的环境就检查完毕;接下来安装kvm用户空间管理工具;
安装kvm在用户空间的管理工具
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
|
启动libvirtd
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
提示:libvitrd是C/S架构,它是用于管理虚拟化平台的开源的API,后台程序和管理工具。它可以用于管理KVM、Xen、VMware ESX,QEMU和其他虚拟化技术;启动libvirtd后,它会在宿主机上创建virbr0-nic和virbr0两张网卡,其中virbr0是一个NAT网桥,virbr0-nic就桥接到virbr0上,默认virbr0的地址是192.168.122.1/24,如下所示;
三、基于virtual manager管理工具创建虚拟机
使用mobaxterm远程软件开启vrit-manager
提示:如上在windows上使用mobaxterm连接宿主机,然后执行virt-manager命令,就可以打开virtual manager图形管理工具;这里说一下,要想使用virt-manager,必须要使用支持X11协议的转发的远程工具,windows上可以使用专业版本的xshell和mobaxterm软件;如果是Linux系统,需要安装桌面包组,然后在桌面上使用终端执行virt-manager命令来启动virt-manager;如果是mac系统需要安装XQuartz,然后打开XQuartz,右键选择终端,使用ssh -Y来连接宿主机,然后在打开virt-manager如下所示;
Mac上使用XQuartz开启virt-manager
提示:右键-->应用程序-->终端;
提示:XQuartz的下载地址https://dl.bintray.com/xquartz/downloads/XQuartz-2.7.11.dmg;使用virt-manager之前,记得先要启动libvirtd这个服务;
上传镜像到宿主机
使用virt-manager创建虚拟机
提示:这个根据自己需求来定义虚拟机的内存和cpu;
提示:这步是选择磁盘,如果没有提前在宿主机上创建好磁盘,可以直接在这里选择创建,如果创建的有磁盘,则这里选择即可;
提示:这一步是确定我们虚拟机的确认单和网络的选择,如果有多个网络,可以选择其中一种即可,然后点击finsh;
提示:到这一步就是安装操作系统了,安装完毕后,重启我们就完成了虚拟机的创建;后续步骤这里就不过多阐述了;安装windows的步骤和上面一模一样;
提示:安装好系统以后,我们就可以在这个界面上进行管理虚拟机,这里需要注意一点,如果宿主机没有打开核心转发功能,虚拟机是不能够正常上网的;到此基于virt-manager安装虚拟机就完成了;