KVM虚拟化简介.ppt_第1页
KVM虚拟化简介.ppt_第2页
KVM虚拟化简介.ppt_第3页
KVM虚拟化简介.ppt_第4页
KVM虚拟化简介.ppt_第5页
免费预览已结束,剩余28页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

内核级虚拟化技术KVM(Kernel-basedVirtualMachine),KVM介绍构建KVM环境虚拟机创建与配置KVM的高级功能半虚拟化驱动设备直接分配KSM技术KVM的管理工具libvirtvirshvirt-managervirt-viewerOpenStack,目录,第一部分:KVM介绍,IBMLPARS,HPvPars,VMWare,IBMPowerVM,MicrosoftHyper-V,CitrixXen,ParallelsOpenVZ,SunVirtualBox,Parallels(SWSoft)Virtuozzo,你知道那些虚似化技术?,硬件虚拟化,软件虚拟化,硬件虚拟化.vs.软件虚拟化,软件虚拟化,平台虚拟化,平台虚拟化.vs.软件虚拟化,全虚拟化,半虚拟化,全虚拟化.vs.半虚拟化,传统虚拟化架构,KVM虚拟化架构,第二部分:构建KVM环境,KVM是基于硬件的辅助虚拟化,所以首先处理器要在硬件上支持VT技术,还要在BIOS中将其功能打开,KVM才能使用到。BIOS中Advanced选项选择SystemAgent(SA)Configuration将Intel(R)VirtualizationTechnology和Intel(R)VTforDirectedI/O都Enabled设置好了VT和VT-d的相关选项,保存BIOS的设置并退出,系统重启后生效。在Linux中可以通过如下命令查看是否成功。cat/proc/cpuinfo|grep-E(vmx|svm)安装宿主机操作系统,这里不再叙述。,KVM环境搭建-硬件系统配置,注意:不同BIOS,可能会有点不一样,安装KVMmodprobekvmmodprobekvm_intelVirtualizationTechnology和Intel(R)VTforDirectedI/O都Enabled编译和安装Qemu从该网址下载对应的版本的Qemu:/Download编译和安装./configuremake-j10makeinstall,KVM环境搭建-KVM和Qemu的安装,第三部分:虚拟机的创建与配置,虚拟机管理工具-virt-manager,该工具需要安装,如果在ubuntu下,直接执行apt-getinstallvirt-manager安装完成后,运行命令virt-manager界面如下:,创建虚拟机(1),点击橙色框框出现“新建虚拟机”对话框下面有四个单选框,按顺序解释如下:从本地的ISO文件或者CDROM来安装系统从网络安装(HTTP,FTP,NFS)从PXE启动导入已经安装好的虚拟机镜像,这一步一般是已经安装好虚拟机,有了镜像然后才能使用。,因为上面选择了第一步,所以下面就选择用于安装OS的ISO镜像。选择OS的类型,比如Linux然后找到对应的版本,右边是安装centos-6.3例子。点击Forward,创建虚拟机(2),设置内存的大小设置CPU的核数注意:这里最好不要超过宿主机的实际内存和CPU大小,创建虚拟机(3),这里设置给虚拟机磁盘的大小默认是8G,建议放大一点。也可以选择现有的镜像。,创建虚拟机(4),这里还有一些高级选项,可设置也可以不设置。然后选择“Finish”。也可以选择复选框“CustomizeConfigurationbeforeinstall”,对刚刚的配置进行详细配置。如果点完“Finish”后,就进入系统的安装界面,和普通装系统一模一样。这里就不再叙述了。,创建虚拟机(5),在虚拟机管理界面上,在某个虚拟机上点击“右键”-点击“Open”-点击“Details”就可编辑虚拟机的属性。我这里要把Display改成Spice,默认情况是用VNC的。然后点击“应用”,重启方能生效。,编辑虚拟机的属性,ubuntu-13.10/虚拟机名称8388608/虚拟机内存大小4/虚拟机CPU个数/OS的类型,HVM代表未经修改hvm/从硬盘启动/设备/usr/bin/kvm-spice/模拟器/虚拟机镜像,包括类型,文件名,映射的磁盘名/虚拟机安装的cdrom镜像,包括类型,文件名,映射的磁盘名/网桥,虚拟机网卡桥接到该网卡上面,和外面通信,配置文件创建虚拟机,Qemu-img支持非常多的文件格式,可以通过qemu-img-h查看raw,原始的磁盘镜像格式,也是qemu-img的默认的文件格式。这种格式的文件的优势在于它非常容易移植到其它模拟器上面,不过那是一开始就让镜像实际占用了磁盘空间,第一次写入快速,占用比较大的空间。qcow2,是QEMU目前推荐的镜像格式,它是功能最多的格式。它支持稀疏文件(即支持空洞)以节省存储空间,它支持可选的AES加密以提高镜像文件安全性,支持基于zlib的压缩,支持在一个镜像文件中有多个虚拟机快照。vmdk,VMware的镜像格式这些进行直接是可以转换的,举个例子:qemu-imgconvert-frawcentos.img-Oqcow2centos.qcow2qemu-imgconvert-fvmdk-Oqcow2SLES11SP1-single.vmdkSLES11SP1-single.img,Qemu支持的镜像文件格式,网桥是用于连接宿主机与虚拟机的网卡,作用同交换机查看网桥brctlshow添加/删除网桥brctladdbrbr1brctldelbrbr1给网桥添加/网卡brctladdifbr1eth0brctldelifbr1eth0,网桥的配置,第四部分:KVM的高级功能,KVM是必须使用硬件虚拟化辅助技术(如IntelVT-x、AMD-V)Hypervisor,在CPU运行效率方面是比较高;在有IntelEPT特性支持的平台上,内存的虚拟化效率也比较高。QEMU/KVM提供了全虚拟化环境,可以让客户机不经过任何修改就能运行在KVM环境中。不过,KVM在IO虚拟化方面,传统的方式是使用QEMU纯软件方式模拟IO设备,这样效率比较低,所以就需要提供半虚驱动来提高效率。使用半虚拟化驱动后架构,KVM的高级功能-半虚拟化驱动,设备直接分配,顾名思义就是把设备直接分配给客户机,这样在执行IO操作时大量地减少甚至避免了VM-Exit陷入到Hypervisor中,极大地提高了IO性能,可以达到几乎和Native系统中一样的性能。尽管virtio的性能也不错,但VT-d克服了其兼容性不够好和CPU使用率较高的问题。不过,VT-d也有以下两个缺点:一台服务器主板上的空间比较有限,允许添加的PCI和PCI-E设备是有限的。大量使用VT-d独立分配设备给客户机,让硬件设备数量增加,这回增加硬件投资成本,KVM的高级功能-设备直接分配,KSM(KernelSamePageMerging)全称为“内核同页合并”,KSM让内核扫描检查正在运行中的程序并比较它们的内存,如果发现他们有内存区域或内存页是完全相同的,就将多个相同的内存合并为一个单一的内存页,并将其标识为“写时复制”,这样可以起到节省内存使用量的作用。但是合并过程会带来CPU的开销。KSM具体怎么配置可能有点麻烦,这里介绍一下KSM几个参数的意思:通过ls-l/sys/kernel/mm/ksm/*,可以查看到如下信息full_scans:记录着已经对所有可合并的内存区域扫描过的次数。pages_shared:记录着正在使用中的共享内存页的数量。pages_sharing:记录着有多少数量的内存页正在使用被合并的共享页,不包括合并的内存页本身。这就是实际节省的内存页数量。pages_unshared:记录了守护进程去检查并试图合并,却发现了并没有重复内容而不能被合并的内存页数量。pages_violatile:记录了因为其内容很容易变化而不被合并的内存页。pages_to_scan:在ksmd进程休眠之前会去扫描的内存数量。sleep_millisecs:ksmd进程休眠的实际(单位是毫秒),ksmd的两次运行之间的间隔。,KVM的高级功能-KSM,第五部分:KVM的管理工具,libvirt是为了更方便地管理平台虚拟化技术而设计的开放源代码的应用程序接口、守护进程和管理工具,它不仅提供了对虚拟化客户机的管理,也提供了对虚拟化网络和存储的管理。它最初是为Xen设计的一套API,但是目前对KVM等其他Hypervisor也支持的非常的好。,KVM管理工具-libvirt,libvirt是目前使用最为广泛的对KVM的虚拟机进行管理的工具盒应用程序接口,而且一些常用的虚拟机管理工具(virsh/virt-install/virt-manager等)和云计算框架平台(OpenStack/OpenNebula等)都是在底层使用libvirt的应用程序接口。,virsh是完全在命令行文本模式下运行的用户态工具,它是用C语言编写的一个使用LibvirtAPI来实现虚拟化的管理。它的程序源代码在libvirt项目源代码的tools目录下,实现了一个virsh工具最核心的一个源代码文件时virsh.c,其路径为libvirt-1.0.0/tools.virsh可以使用交互模式和非交互模式交互模式virsh-cqemu+ssh:/root1/system非交互模式virsh-cqemu+ssh:/root1/systemlist建立好上面的配置文件(这个在第一部分讲过了),后建立镜像文件,然后创建虚拟机#qemu-imgcreate-fqcow2tst.img20G#virshcreatetst.xml当我们想看虚拟机的配置,我们可以通过下面的命令查看:#virshdumpxmlvm-name查看当前的虚拟器情况virshlist给虚拟机挂磁盘#virshattach-disk,virsh,前面我们已经用该工具创建了虚拟机,virt-manager工具在图形化界面中实现了一些易用的和比较丰富的虚拟机管理功能,已经为用户提供的功能如下:对虚拟机生命周期的管理,如创建、编辑、启动、暂停、恢复和停止虚拟机,还包括虚拟机快照、动态迁移等功能。运行中客户机的实时性能、资源利用率等的监控,统计结果在图形化展示。对创建客户机的图形化的引导,对客户机的资源分配和虚拟硬件的配置和调整等功能也提供了图形化的支持。内置了一个VNC客户端,可以用于连接到客户机的图形界面进行交互。支持本地或远程管理KVM、Xen、Qemu、LXC等Hypervisor上的客户机。可以按如下方式运行:1.Application-SystemTools-VirtualMachineManager2.在终端中直接敲入virt-manager命令。,virt-manager,virt-viewer是一个用于与虚拟机客户机的图形显示的轻量级的交互接口工具。它使用了GTK-VNC作为它的显示能力,使用libvirtAPI去查询客户机的VNC服务器端的信息。在virt-manager中查看客户机图形界面进行交互之时,其实已经间接第使用过了virt-viewer。virt-viewer连接到的客户机可以通过客户机的名称、域ID、UUID等表示来唯一指定。它还支持“-cURI”或“-connectionURI”参数来指定连接到远程宿主机上的一个客户机,当然远程连接需要的一些必要的认证还是必须的。,virt-viewer,右一图是OpenStack在云计算中的位置右二图是OpenStack几个核心组件直接的关系:计算(Nova),根据需求提供虚拟的服务器。对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论