收藏 分销(赏)

KVM虚拟化简介.pptx

上传人:丰**** 文档编号:4347951 上传时间:2024-09-09 格式:PPTX 页数:33 大小:4.64MB 下载积分:12 金币
下载 相关 举报
KVM虚拟化简介.pptx_第1页
第1页 / 共33页
KVM虚拟化简介.pptx_第2页
第2页 / 共33页


点击查看更多>>
资源描述
内核级虚拟化技术内核级虚拟化技术KVM(Kernel-based Virtual Machine)uKVM介绍u构建KVM环境u虚拟机创建与配置uKVM的高级功能半虚拟化驱动设备直接分配KSM技术uKVM的管理工具libvirtvirshvirt-managervirt-viewerOpenStack目录第一部分:第一部分:KVM介绍介绍IBM LPARSHP vParsVMWareIBM PowerVMMicrosoft Hyper-VCitrix XenParallels OpenVZSun VirtualBoxParallels(SWSoft)Virtuozzo你知道那些虚似化技术?硬件虚拟化软件虚拟化 硬件虚拟化.vs.软件虚拟化软件虚拟化平台虚拟化平台虚拟化.vs.软件虚拟化全虚拟化半虚拟化全虚拟化.vs.半虚拟化传统虚拟化架构KVM虚拟化架构第二部分:构建第二部分:构建KVM环境环境lKVM是基于硬件的辅助虚拟化,所以首先处理器要在硬件上支持VT技术,还要在BIOS中将其功能打开,KVM才能使用到。BIOS中Advanced选项选择System Agent(SA)Configuration将Intel(R)Virtualization Technology和 Intel(R)VT for Directed I/O都Enabledl设置好了VT和VT-d的相关选项,保存BIOS的设置并退出,系统重启后生效。在Linux中可以通过如下命令查看是否成功。cat/proc/cpuinfo|grep-E(vmx|svm)l安装宿主机操作系统,这里不再叙述。KVM环境搭建-硬件系统配置注意:不同BIOS,可能会有点不一样l安装KVMmodprobe kvmmodprobe kvm_intel Virtualization Technology和 Intel(R)VT for Directed I/O都Enabledl编译和安装Qemul从该网址下载对应的版本的Qemu:http:/qemu-project.org/Downloadl编译和安装 ./configuremake-j 10 make installKVM环境搭建-KVM和Qemu的安装第三部分:虚拟机的创建与配置第三部分:虚拟机的创建与配置虚拟机管理工具-virt-manager该工具需要安装,如果在ubuntu下,直接执行apt-get install virt-manager安装完成后,运行命令 virt-manager 界面如下:创建虚拟机(1)l点击橙色框框出现“新建虚拟机”对话框l下面有四个单选框,按顺序解释如下:从本地的ISO文件或者CDROM来安装系统从网络安装(HTTP,FTP,NFS)从PXE启动导入已经安装好的虚拟机镜像,这一步一般是已经安装好虚拟机,有了镜像然后才能使用。l因为上面选择了第一步,所以下面就选择用于安装OS的 ISO镜像。l选择OS的类型,比如Linuxl然后找到对应的版本,右边是安装centos-6.3例子。l点击Forward创建虚拟机(2)l设置内存的大小l设置CPU的核数注意:这里最好不要超过宿主机的实际内存和CPU大小创建虚拟机(3)l这里设置给虚拟机磁盘的大小默认是8G,建议放大一点。l也可以选择现有的镜像。创建虚拟机(4)这里还有一些高级选项,可设置也可以不设置。然后选择“Finish”。也可以选择复选框“Customize Configuration before install”,对刚刚的配置进行详细配置。如果点完“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-img convert-f raw centos.img-O qcow2 centos.qcow2qemu-img convert-f vmdk-O qcow2 SLES11SP1-single.vmdk SLES11SP1-single.imgQemu支持的镜像文件格式网桥是用于连接宿主机与虚拟机的网卡,作用同交换机查看网桥brctl show添加/删除网桥brctl addbr br1brctl delbr br1给网桥添加/网卡brctl addif br1 eth0brctl delif br1 eth0网桥的配置第四部分:第四部分:KVM的高级功能的高级功能lKVM是必须使用硬件虚拟化辅助技术(如Intel VT-x、AMD-V)Hypervisor,在CPU运行效率方面是比较高;在有 Intel EPT特性支持的平台上,内存的虚拟化效率也比较高。QEMU/KVM提供了全虚拟化环境,可以让客户机不经过任何修改就能运行在KVM环境中。不过,KVM在IO虚拟化方面,传统的方式是使用QEMU纯软件方式模拟IO设备,这样效率比较低,所以就需要提供半虚驱动来提高效率。l使用半虚拟化驱动后架构KVM的高级功能-半虚拟化驱动l设备直接分配,顾名思义就是把设备直接分配给客户机,这样在执行 IO 操作时大量地减少甚至避免了VM-Exit陷入到Hypervisor中,极大地提高了 IO性能,可以达到几乎和Native系统中一样的性能。l尽管 virtio 的性能也不错,但VT-d克服了其兼容性不够好和CPU使用率较高的问题。不过,VT-d也有以下两个缺点:l一台服务器主板上的空间比较有限,允许添加 的PCI和PCI-E设备是有限的。l大量使用 VT-d 独立分配设备给客户机,让硬 件设备数量增加,这回增加硬件投资成本KVM的高级功能-设备直接分配lKSM(Kernel SamePage Merging)全称为“内核同页合并”,KSM让内核扫描检查正在运行中的程序并比较它们的内存,如果发现他们有内存区域或内存页是完全相同的,就将多个相同的内存合并为一个单一的内存页,并将其标识为“写时复制”,这样可以起到节省内存使用量的作用。但是合并过程会带来CPU的开销。lKSM具体怎么配置可能有点麻烦,这里介绍一下KSM几个参数的意思:通过 ls-l/sys/kernel/mm/ksm/*,可以查看到如下信息lfull_scans:记录着已经对所有可合并的内存区域扫描过的次数。lpages_shared:记录着正在使用中的共享内存页的数量。lpages_sharing:记录着有多少数量的内存页正在使用被合并的共享页,不包括合并的内存页本身。这就是实际节省的内存页数量。lpages_unshared:记录了守护进程去检查并试图合并,却发现了并没有重复内容而不能被合并的内存页数量。lpages_violatile:记录了因为其内容很容易变化而不被合并的内存页。lpages_to_scan:在 ksmd 进程休眠之前会去扫描的内存数量。lsleep_millisecs:ksmd进程休眠的实际(单位是毫秒),ksmd的两次运行之间的间隔。KVM的高级功能-KSM第五部分:第五部分:KVM的管理工具的管理工具llibvirt是为了更方便地管理平台虚拟化技术而设计的开放源代码的应用程序接口、守护进程和管理工具,它不仅提供了对虚拟化客户机的管理,也提供了对虚拟化网络和存储的管理。它最初是为 Xen设计的一套API,但是目前对KVM等其他 Hypervisor也支持的非常的好。KVM管理工具-libvirtllibvirt是目前使用最为广泛的对KVM的虚拟机进行管理的工具盒应用程序接口,而且一些常用的虚拟机管理工具(virsh/virt-install/virt-manager等)和云计算框架平台(OpenStack/OpenNebula等)都是在底层使用 libvirt的应用程序接口。virsh是完全在命令行文本模式下运行的用户态工具,它是用C语言编写的一个使用Libvirt API来实现虚拟化的管理。它的程序源代码在 libvirt项目源代码的 tools目录下,实现了一个virsh 工具最核心的一个源代码文件时 virsh.c,其路径为 libvirt-1.0.0/tools.virsh可以使用交互模式和非交互模式交互模式 virsh-c qemu+ssh:/root192.168.158.31/system非交互模式virsh-c qemu+ssh:/root192.168.158.31/system list建立好上面的配置文件(这个在第一部分讲过了),后建立镜像文件,然后创建虚拟机#qemu-img create-f qcow2 tst.img 20G#virsh create tst.xml当我们想看虚拟机的配置,我们可以通过下面的命令查看:#virsh dumpxml vm-name查看当前的虚拟器情况virsh list给虚拟机挂磁盘#virsh attach-disk virsh前面我们已经用该工具创建了虚拟机,virt-manager工具在图形化界面中实现了一些易用的和比较丰富的虚拟机管理功能,已经为用户提供的功能如下:对虚拟机生命周期的管理,如创建、编辑、启动、暂停、恢复和停止虚拟机,还包括虚拟机快照、动态迁移等功能。运行中客户机的实时性能、资源利用率等的监控,统计结果在图形化展示。对创建客户机的图形化的引导,对客户机的资源分配和虚拟硬件的配置和调整等功能也提供了图形化的支持。内置了一个VNC客户端,可以用于连接到客户机的图形界面进行交互。支持本地或远程管理 KVM、Xen、Qemu、LXC等Hypervisor上的客户机。可以按如下方式运行:1.Application-System Tools-Virtual Machine Manager2.在终端中直接敲入 virt-manager命令。virt-manageruvirt-viewer是一个用于与虚拟机客户机的图形显示的轻量级的交互接口工具。它使用了GTK-VNC作为它的显示能力,使用 libvirt API去查询客户机的VNC服务器端的信息。在virt-manager中查看客户机图形界面进行交互之时,其实已经间接第使用过了 virt-viewer。uvirt-viewer连接到的客户机可以通过客户机的名称、域ID、UUID等表示来唯一指定。它还支持“-c URI”或“-connection URI”参数来指定连接到远程宿主机上的一个客户机,当然远程连接需要的一些必要的认证还是必须的。virt-viewer右一图是OpenStack在云计算中的位置右二图是 OpenStack几个核心组件直接的关系:计算(Nova),根据需求提供虚拟的服务器。对象存储(Swift),提供的对象存储服务,允许对文件进行存储或者检索。块存储(Cinder),为虚拟化的客户机提供持久化的块存储服务。镜像(Glance),提供了一个虚拟磁盘镜像的目录和存储仓库,可以提供对虚拟机镜像的存储和检索。网络(Quantum),该服务允许用户创建自己的网络,然后添加网络接口设备。身份认证(Keystone),为OpenStack上的所有服务提供身份验证和授权。控制面板(Horizon),为OpenStack的所有服务提供一个模块化的基于Web的用户界面。OpenStack
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服