虚拟化技术应用项目教程 课件 第五章 KVM虚拟化技术_第1页
虚拟化技术应用项目教程 课件 第五章 KVM虚拟化技术_第2页
虚拟化技术应用项目教程 课件 第五章 KVM虚拟化技术_第3页
虚拟化技术应用项目教程 课件 第五章 KVM虚拟化技术_第4页
虚拟化技术应用项目教程 课件 第五章 KVM虚拟化技术_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

虚拟化技术项目教程第五章项目四KVM虚拟化技术目录CONTENTS任务4.3任务4.4任务4.1KVM介绍及安装任务4.2KVM客户机的管理KVM网络管理webvirtmgr安装与客户机管理目标Objectives1234567了解kvm虚拟化技术工作方式掌握centos7中安装kvm的方法了解kvm虚拟化技术基本原理掌握kvm四种网络模式掌握通过virsh命令行管理虚拟机方法掌握通过Virt-Manager图形化管理虚拟培养学生具有文明守法的职业道德ONE01KVM介绍及安装任务5.1KVM介绍及安装掌握KVM虚拟化技术的历史掌握KVM虚拟化技术原理掌握KVM虚拟化技术的安装方法5.1.1任务目标任务5.1KVM介绍及安装(1)KVMKVM指的是是基于内核的虚拟机(Kernel-basedVirtualMachine,KVM)。KVM是一种内建于Linux的开源虚拟化技术,采用硬件辅助虚拟化技术下的全虚拟化作为解决方案,对于硬盘、网卡等设备通过virtio-blk和virtio-net技术也可实现半虚拟化方式。因为KVM需要运行于Linux之中,对于所有硬件资源的管理都是通过Linux内核完成,从这一点来说它是Type2型虚拟化技术。但同时它又和Linux内核融为一体,也可以看成同Xen一样是将Linux变为了Hypervisor,从这一点来说又可以说是Type1型虚拟化技术,但目前主流观点还是认为KVM属于Type2型虚拟化技术。5.1.2任务知识点任务5.1KVM介绍及安装(2)KVM虚拟化技术工作原理KVM虚拟化的核心主要由处于内核态的KVM模块和用户态的QEMU程序两部分构成两:①KVM模块:它现在已经被包含在Linux内核之中。其主要功能是初始化CPU硬件,打开虚拟化模式,然后将虚拟客户机运行在虚拟机模式下,并对虚拟客户机的运行提供一定的支持。主要负责客户机的创建、虚拟CPU寄存器的读写、虚拟CPU的执行、虚拟内存的分配等操作。②QEMU组件:运行在Hypervisor用户态下的应用程序,它通过ioctl系统调用处于内核态的KVM模块进行交互,利用KVM模块提供的接口来实现设备模拟、IO虚拟化和网络虚拟化,比如模拟BIOS、总线、磁盘、网卡等设备。5.1.2任务知识点任务5.1KVM介绍及安装(1)因为在2.6.20版本之后的Linux内核中已经原生支持KVM模块,所以不需要单独安装,只需在Linux中开启KVM模块即可,前提是需要开启CPU的虚拟化功能。(2)开启kvm客户机后,查看是否加载了kvm模块。(3)安装qemu工具。(4)创建一个磁盘映像文件,这和上一章的Xen所介绍的创建方式相同,都是通过qemu-img命令创建。(5)创建好磁盘映像文件后,根据iso目录中上传的系统光盘镜像文件创建客户机。(6)当我们关闭客户机想再次启动客户机,只需通过磁盘映像文件启动即可。5.1.3任务实施任务5.1KVM介绍及安装【任务内容】Linux内核升级【任务目标】掌握通过rpm升级Linux内核的方法5.1.4任务拓展任务5.1KVM介绍及安装【任务步骤】①通过wget下载LinuxKernel,需要下载三个rpm包,具体版本号可以登录09/elrepo/kernel/el7/x86_64/RPMS/网站查找,这里以5.19.3版本kernel为例。②通过rpm安装以上三个包。③安装后通过以下命令查看到在启动项中增加了相应的内核版本。④设置5.19.3内核为默认启动项。⑤重启后可以在启动界面看到新安装的内核选项。5.1.4任务拓展two02KVM客户机的管理任务5.2KVM客户机的管理掌握libvirt的功能和安装方法掌握通过libvirt进行客户机管理的方法5.2.1任务目标任务5.2KVM客户机的管理(1)libvirtlibvirt是一个软件集合,提供了一种方便的方式来管理虚拟机和其他虚拟化功能,例如存储和网络接口管理。libvirt包括一个长期稳定的C语言API、一个守护进程(libvirtd)和一个命令行实用程序(virsh)。它是目前最流行的用来管理KVM虚拟机的管理工具和应用程序接口,同时一些常用的虚拟机管理工具比如virsh、virt-install、virt-manager和云计算框架平台比如OpenStack等都在底层使用libvirt的应用程序接口。5.2.2任务知识点任务5.2KVM客户机的管理(2)virshvirsh的全称是VirtualizationShell,是包含在libvirt项目中用C语言编写的用于管理虚拟化环境中的客户机和Hypervisor的命令行工具,通过调用libvirtAPI来实现对上述内容的管理。(3)virt-installvirt-install是一个命令行工具,它能够为KVM、Xen或其它支持libvritAPI的Hypervisor创建虚拟机并完成客户机的安装;此外,它能够基于控制台、VNC或SDL支持文本或图形安装界面。5.2.2任务知识点任务5.2KVM客户机的管理(1)通过yum安装libvirt。(2)libvirtd进程不仅可以通过systemctl命令管理,也可以使用自身libvirtd命令来使用。(3)安装virt-install工具,然后通过virt-install安装客户机。5.2.3任务实施任务5.2KVM客户机的管理(4)virsh管理客户机常用命令。5.2.3任务实施命令功能描述virshstartcentos65-vm2启动centos65-vm2客户机virshshutdowncentos65-vm2正常关闭centos65-vm2客户机virshdestroycentos65-vm2强制关闭centos65-vm2客户机virshsuspendcentos65-vm2挂起centos65-vm2客户机virshresumecentos65-vm2从挂起中恢复centos65-vm2客户机virshundefinecentos65-vm2删除centos65-vm2客户机virshdominfocentos65-vm2查看centos65-vm2客户机配置信息virshdomiflistcentos65-vm2查看centos65-vm2客户机网卡配置信息virshdomblklistcentos65-vm2查看centos65-vm2客户机磁盘信息virsheditcentos65-vm2修改centos65-vm2客户机xml配置文件virshdumpxmlcentos65-vm2查看centos65-vm2客户机当前配置virshdumpxmlcentos65-vm2centos65-vm2.bak.xml备份centos65-vm2客户机xml配置文件virshautostartcentos65-vm2设置centos65-vm2客户机随宿主机自启动,配置后生成配置文件/etc/libvirt/qemu/autostart/centos65-vm2.xmlvirshautostart--disablecentos65-vm2取消开机自启动任务5.2KVM客户机的管理(5)向客户机中添加磁盘存储。(6)配置客户机CPU和内存。(7)为客户机添加网卡。(8)为客户机创建克隆备份。(9)为客户机创建、恢复、删除快照。(10)远程登录管理虚拟机。5.2.3任务实施任务5.2KVM客户机的管理【任务内容】通过网络安装源无图形界面安装客户机【任务目标】掌握通过网络安装源安装客户机方法掌握无图形化界面的进入和退出方法5.2.4任务拓展任务5.2KVM客户机的管理【任务步骤】①搭建web服务器,并将操作系统镜像文件中内容拷贝到服务器根目录下。②通过virt-install命令安装。③安装完成后,通过Ctrl+](右中括号)键退出console窗口界面,再次登录客户机可以通过virshconsole命令。5.2.4任务拓展任务5.2KVM客户机的管理【任务步骤】①搭建web服务器,并将操作系统镜像文件中内容拷贝到服务器根目录下。②通过virt-install命令安装。③安装完成后,通过Ctrl+](右中括号)键退出console窗口界面,再次登录客户机可以通过virshconsole命令。5.2.4任务拓展three03KVM网络管理任务5.3KVM网络管理掌握KVM网络工作原理掌握KVM客户机网络配置方法5.3.1任务目标任务5.3KVM网络管理(1)KVM网络模型KVM网络结构和Xen网络结构基本相同,都是有隔离模式、桥接模式、NAT模式和仅主机模式。实现原理也基本相同,都是通过创建Linux虚拟网桥,然后各客户机网卡连接到虚拟网桥上从而实现互联。简单来说如果宿主机网卡没有桥接到虚拟网桥上,并且虚拟网桥没有设置IP,则只有客户机之间能够通信,构成了隔离模式,如果虚拟网桥设置了IP则构成了仅主机模式;仅主机模式下,Linux内核开启了路由转发功能并配置了NAT规则,则构成了NAT网络模式;如果宿主机网卡桥接到了虚拟网桥上,并将IP地址设置给虚拟网桥,则客户机通过虚拟网桥连接到了物理网络,构成了桥接模式;具体网络结构可以参见Xen的网络结构图。5.3.2任务知识点任务5.3KVM网络管理(2)virtio在KVM中,为了提高I/O性能,通常在客户机中采用半虚拟化驱动(ParavirtualizedDrivers,PVDrivers),而实现这种网络和磁盘设备驱动虚拟化的标准是virtio。virtio是由澳大利亚的程序员RustyRussell编写的,是一种标准的半虚拟化IO设备模型,它将半虚拟化的IO设备驱动(网卡、磁盘块设备等)统一起来,便于后续的维护、扩展和优化。5.3.2任务知识点任务5.3KVM网络管理(1)NAT网络配置①连通外部网络。默认情况下,KVM创建的客户机网络模式是NAT方式,驱动采用的是virtio,同时libvirtd还开启了dnsmasqp进程用来进行客户机的DHCP功能。②添加NAT网络。libvirtd是根据/etc/libvirt/qemu/networks/default.xml文件配置网络,但我们也可以自己创建xml网络配置文件,再根据配置文件新定义网络。5.3.3任务实施任务5.3KVM网络管理(2)桥接网络配置①宿主机创建网桥并将ens33网卡桥接到网桥上。②设置客户机网络为桥接模式。5.3.3任务实施任务5.3KVM网络管理【任务内容】KVM客户机迁移【任务目标】掌握KVM客户机迁移方法5.3.4任务拓展任务5.3KVM网络管理【任务步骤】①安装NFS服务,实现共享存储。将源主机作为NFS服务端,共享/root/kvm_guest/img目录,目标主机挂载该目录实现共享存储。②因为centos65-vm2客户机连接的网络为后创建的nat-net网络,所以需要在目标主机先创建相同的网络。③在目标主机关闭防火墙并配置qemu用户权限。④通过virshmigrate命令进行迁移。⑤目标主机生成客户机配置文件并定义客户机5.3.4任务拓展four04webvirtmgr安装与

客户机管理任务5.4webvirtmgr安装与客户机管理掌握webvirtmgr的安装方法掌握webvirtmgr管理kvm客户机的方法5.4.1任务目标任务5.4webvirtmgr安装与客户机管理掌握webvirtmgr的安装方法掌握webvirtmgr管理kvm客户机的方法5.4.2任务知识点任务5.4webvirtmgr安装与客户机管理(1)webvirtmgrwebvirtmgr是一款web界面的kvm虚拟机管理程序。可以通过它进行域的查看、创建和配置,调整域的资源分配等管理,比如CPU、内存的利用率,存储和网络资源池的管理,客户机的快照管理、日志管理,客户机的迁移等。5.4.2任务知识点任务5.4webvirtmgr安装与客户机管理(2)epel因为CentOS提供的安装源包含的大多数的库都是比较旧的,并且很多流行的库也不存在。EPEL在其基础上不仅全,而且还够新。EPEL的全称叫ExtraPackagesforEnterpriseLinux。EPEL是由Fedora社区打造,为RHEL及衍生发行版如CentOS、ScientificLinux等提供高质量软件包的项目。装上了EPEL之后,就相当于添加了一个第三方源。5.4.2任务知识点任务5.4webvirtmgr安装与客户机管理(2)epel因为CentOS提供的安装源包含的大多数的库都是比较旧的,并且很多流行的库也不存在。EPEL在其基础上不仅全,而且还够新。EPEL的全称叫ExtraPackagesforEnterpriseLinux。EPEL是由Fedora社区打造,为RHEL及衍生发行版如CentOS、ScientificLinux等提供高质量软件包的项目。装上了EPEL之后,就相当于添加了一个第三方源。5.4.2任务知识点任务5.4webvirtmgr安装与客户机管理(3)SupervisorSupervisor是一个C/S系统,允许其用户监视和控制类UNIX操作系统上的大量进程。Supervisor是用Python开发的进程管理工具,可以很方便的用来启动、重启、关闭进程(不仅仅是Python进程)。能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。除了对单个进程的控制,还可以同时启动、关闭多个进程,比如很不幸的服务器出问题导致所有应用程序都被杀死,此时可以用supervisor同时启动所有应用程序而不是一个一个地敲命令启动。5.4.2任务知识点任务5.4webvirtmgr安装与客户机管理(1)安装epel安装源和webvirtmgr依赖包。(2)centos7.5自带python2.7,但是pip版本过低,不能自动升级,可以下载安装脚本升级pip

以进行后续的安装。(3)通过git下载webvirtmgr.git安装包。(4)安装Django等python库,安装后初始化webvirtmgr。

(5)配置nginx服务,将server字段内容注释掉,同时添加webvirtmgr.conf配置文件作为server。(6)配置supervisor服务,将webvirtmgr添加到supervisor。5.4.3任务实施任务5.4webvirtmgr安装与客户机管理(7)在两台kvm服务器主机上创建名称为webvirtmgr的用户。(8)设置nginx用户无密码登录到kvm主机。(9)在kvm服务器上配置SSH授权。(10)重启libvirtd服务,查看8000、6080和80端口是否开启。(11)通过浏览器登录webvirtmgr服务器IP地址:44,登录界面输入初始化时创建的admin用户名和密码。(12)登录后点击AddConnection按钮添加KVM服务器5.4.3任务实施任务5.4webvirtmgr安装与客户机管理(13)在弹出的窗口选择SSH连接,Label文本框设置连接的kvm服务器名称,FQDN/IP输入kvm服务器IP地址,用户名输入创建的授权用户webvirtmgr,点击添加。(14)点击后进入kvm服务器界面会显示当前服务器下创建的虚拟实例(客户机)、存储和网络列表等。(15)点击上方基础架构选项,可以列出当前两台kvm服务器中客户机资源使用情况。5.4.3任务实施任务5.4web

温馨提示

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

评论

0/150

提交评论