红帽企业版KVM虚拟化实战攻略.docx
- 文档编号:8651505
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:11
- 大小:442.88KB
红帽企业版KVM虚拟化实战攻略.docx
《红帽企业版KVM虚拟化实战攻略.docx》由会员分享,可在线阅读,更多相关《红帽企业版KVM虚拟化实战攻略.docx(11页珍藏版)》请在冰豆网上搜索。
红帽企业版KVM虚拟化实战攻略
红帽企业版KVM虚拟化
实战攻略
在2010年4月发布的RHEL6.0Beta版中,去掉了Xen,这也许是第一个不包含XenHypervisor的知名Linux发行版,之前有报道过RedHat有可能会在RHEL6.0中用KVM完全代替Xen,现在看来以前的消息一点不假。
KVM是指基于Linux内核的虚拟机(Kernel-basedVirtualMachine)。
增加KVM到Linux内核是Linux发展的一个重要里程碑,这也是第一个整合到Linux主线内核的虚拟化技术。
在KVM模型中,每一个虚拟机都是一个由Linux调度程序管理的标准进程,你可以在用户空间启动客户机操作系统。
一个普通的Linux进程有两种运行模式:
内核和用户。
KVM增加了第三种模式:
客户模式(有自己的内核和用户模式)。
KVM所使用的方法是通过简单地加载内核模块而将Linux内核转换为一个系统管理程序。
这个内核模块导出了一个名为/dev/kvm的设备,它可以启用内核的客户模式(除了传统的内核模式和用户模式)。
有了/dev/kvm设备,VM使自己的地址空间独立于内核或运行着的任何其他VM的地址空间。
设备树(/dev)中的设备对于所有用户空间进程来说都是通用的。
但是每个打开/dev/kvm的进程看到的是不同的映射(为了支持VM间的隔离)。
KVM安装KVM之后,您可以在用户空间启动客户操作系统。
每个客户操作系统都是主机操作系统(或系统管理程序)的一个单个进程。
图1提供了一个使用KVM进行虚拟化的视图。
图1KVM原理图
一、KVM虚拟机的管理工具
准确来说,KVM仅仅是Linux内核的一个模块。
管理和创建完整的KVM虚拟机,需要更多的辅助工具。
QEMU-KVM:
在Linux系统中,首先我们可以用modprobe命令加载KVM模块,如果用RPM安装KVM软件包,系统会在启动时自动加载模块。
加载了模块后,才能进一步通过其他工具创建虚拟机。
但仅有KVM模块是远远不够的,因为用户无法直接控制内核模块去做事情,还必须有一个用户空间的工具。
关于用户空间的工具,KVM的开发者选择了已经成型的开源虚拟化软件QEMU。
QEMU是一个强大的虚拟化软件,它可以虚拟不同的CPU构架。
比如说在x86的CPU上虚拟一个Power的CPU,并利用它编译出可运行在Power上的程序。
KVM使用了QEMU的基于x86的部分,并稍加改造,形成可控制KVM内核模块的用户空间工具QEMU-KVM。
所以Linux发行版中分为内核部分的KVM内核模块和QEMU-KVM工具。
这就是KVM和QEMU的关系。
Libvirt、virsh、virt-manager:
尽管QEMU-KVM工具可以创建和管理KVM虚拟机,RedHat为KVM开发了更多的辅助工具,比如libvirt、libguestfs等。
原因是QEMU工具效率不高,不易于使用。
Libvirt是一套提供了多种语言接口的API,为各种虚拟化工具提供一套方便、可靠的编程接口,不仅支持KVM,而且支持Xen等其他虚拟机。
使用libvirt,你只需要通过libvirt提供的函数连接到KVM或Xen宿主机,便可以用同样的命令控制不同的虚拟机了。
Libvirt不仅提供了API,还自带一套基于文本的管理虚拟机的命令virsh,你可以通过使用virsh命令来使用libvirt的全部功能。
但最终用户更渴望的是图形用户界面,这就是virt-manager。
他是一套用python编写的虚拟机管理图形界面,用户可以通过它直观地操作不同的虚拟机。
Virt-manager就是利用libvirt的API实现的。
二、安装配置KVM相关软件
1系统要求:
处理器需求:
需要一台可以运行最新linux内核的Intel处理器(含VT虚拟化技术)或AMD处理器(含SVM安全虚拟机技术的AMD处理器,也叫AMD-V)。
可以使用如下命令检查:
#egrep"(vmx|svm)"color=always/proc/cpuinfo
flags:
fpuvmedepsetscmsrpaemcecx8apicsepmtrrpgemcacmovpatpse36clflushmmxfxsrssesse2htsyscallnxmmxextfxsr_optrdtscplm3dnowext3dnowpnicx16lahf_lmcmp_legacysvmextapiccr8_legacymisalignsse
flags:
fpuvmedepsetscmsrpaemcecx8apicsepmtrrpgemcacmovpatpse36clflushmmxfxsrssesse2htsyscallnxmmxextfxsr_optrdtscplm3dnowext3dnowpnicx16lahf_lmcmp_legacysvmextapiccr8_legacymisalignsse
如果输出的结果包含vmx,它是Intel处理器虚拟机技术标志;如果包含svm,它是AMD处理器虚拟机技术标志;。
如果你甚么都得不到,那应你的系统并没有支持虚拟化的处理,不能使用kvm。
另外Linux发行版本必须在64bit环境中才能使用KVM。
2安装软件
安装KVM模块、管理工具和libvirt(一个创建虚拟机的工具),我们使用命令行安装:
#yuminstallkvmvirt-managerlibvirt
#/sbin/servicelibvirtdstart
3确定正确加载kvm模块
运行命令lsmod|grepkvm检查KVM模块是否成功安装。
如果结果类似于以下输出,那么KVM模块已成功安装:
#lsmod|grepkvm
kvm_amd694161
kvm2262082ksm,kvm_amd
4检查KVM是否成功安装
virsh-cqemu:
///systemlist
将会显示如下结果:
#virsh-cqemu:
///systemlist
IdNameState
如果在这里显示的是一个错误的信息,说明有些东西出现了问题。
三、使用virt-manager建立一个KVM虚拟机
virt-manager是基于libvirt的图像化虚拟机管理软件,请注意不同的发行版上virt-manager的版本可能不同,图形界面和操作方法也可能不同。
本文使用了红帽6企业版的virt-manager-0.8.4-8。
创建KVM虚拟机最简单的方法是通过virt-manager接口。
从控制台窗口启动这个工具,从root身份输入virt-manager命令,点击file菜单的"新建"选项virt-manager接口界面如图2。
图2virt-manager接口界面
virt-manager显示两种虚拟化方法:
Qemu/KVM或者Xen,这里并选择Qemu/KVM作为hypervisor如图3。
图3选择Qemu/KVM作为hypervisor
红帽企业版6.0相比上个版本简化了虚拟化配置步骤分成五步:
1选择虚拟机名称和指定一种安装方法:
通过网络安装服务器或者本地CD/DVD驱动包括本地ISO文件(这种方法更简单)。
另外新版本还支持网络启动和导入之前建立的虚拟机磁盘如图4。
图4选择虚拟机名称和指定一种安装方法
2输入本地ISO文件路径和文件名如图5
图5输入本地ISO文件路径和文件名选择本地ISO文件
3设置虚拟机使用的内存容量和处理器数量如图6。
图6设置虚拟机使用的内存容量和处理器数量
4配置虚拟机的存储方法。
对于存储后端有两种选择:
物理存储设备或者使用之前建立磁盘文件。
如果出于简单测试,创建文件作为存储后端。
当创建虚拟磁盘时,默认的10GB如图7。
图7对于简易安装,选择一个文件作为存储备份后端
5网络配置,在这里选择NAT方式。
下面最后可看到虚拟机信息的概况如图8。
图8虚拟机信息
说明:
"在安装前自定义配置"选项提供一些高级自定义配置。
在最后窗口点击完成按钮后,安装将自动开启。
过程跟平时安装普通操作系统一样,不再赘述,不久之后,你的第一台KVM虚拟机的客户机就启动并运行了。
说明这里笔者在KVM虚拟机中运行的是一个linux发行版本BackTrack。
BackTrack是精简版Linux系统以及破解软件。
可以利用其破解软件来搜寻和破解无线网络的密码。
运行界面如图9。
图9KVM虚拟机的客户机
四、使用virsh执行高级管理任务
virsh的学习曲线非常陡峭。
但是另一种可选方式virt-manager的缺陷还很明显,virt-manager需要在系统内运行,这会浪费资源并为别有目的的人提供额外的进攻点。
virt-manager的另一大缺点是需要通过图形工作站运行远程接入的方式,才能对服务器上的虚拟机进行管理。
而virsh则可以通过命令行执行各种各样的管理任务。
如先前所说virsh通过主命令和子命令管理每个虚拟机功能。
要学习virsh很困难,因为有许多命令。
virsh通过主命令和子命令管理每个虚拟机功能。
要查看所有命令,输入virshhelp。
你可能发现大量命令,不过每个命令都有帮助指南,只需要输入virshhelp。
例如使用virshhelpuri,就可以看到所有关于virshuri命令的帮助。
不过一旦你获得一个很强的命令功能,就能获得收益。
下面是virsh命令实例:
1创建一个名称是myWin7的windows7虚拟机
使用命令:
#yuminstallvirt-viewer
virt-installnamemyWin7hvmram1024diskpath=/tmp/win7.img,size=10networknetwork:
defaultvncos-variantvistacdrom/dev/hda
Startinginstall...
Creatingstoragefile...|10.0GB00:
00
Creatingdomain...|0B00:
00
Domaininstallationstillinprogress.Waitingforinstallationtocomplete.
下面安装将自动开启。
过程跟平时安装普通操作系统一样,不再赘述。
运行界面如图10。
图10安装windows7
(2)查看虚拟机
#virsh-cqemu:
///systemlist
Id名称状态
1myWin7running
(3)关闭虚拟机
#virshshutdownmyWin7
(4)彻底摧毁一个虚拟机
#virshdestroymyWin7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 企业版 KVM 虚拟 实战 攻略