设为首页 收藏本站
查看: 1191|回复: 0

[经验分享] virsh kvm xen xm qemu libvirt virt-manager概述 .

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-10-10 12:13:21 | 显示全部楼层 |阅读模式
在进行KVM虚拟化管理时,virsh的学习曲线非常陡峭。但是另一种可选方式virt-manager的缺陷还很明显。  virt-manager需要在系统内运行,这会浪费资源并为别有目的的人提供额外的进攻点。virt-manager的另一大缺点是需要通过图形工作站运行远程接入的方式,才能对服务器上的虚拟机进行管理。  而virsh则可以通过命令行执行各种各样的管理任务。本文例举了一些最重要的virsh命令。qemu是一套虚拟机管理系统,kqemu是qemu的加速器,可以认为是qemu的一个插件;qemu可以虚拟出不同架构的虚拟机,如在x86平台上可以虚拟出power机器;kvm是另外的一套虚拟机管理系统,包括内核虚拟构架和处理器相关模块,其借用了 quem 其它一些组件,kvm的非内核部分是由qemu实现的;加载了模块后,才能进一步通过其他工具创建虚拟机。但仅有 KVM 模块是远远不够的,因为用户无法直接控制内核模块去做事情,还必须有一个用户空间的工具 qemu-kvm:kvm是linux的一个模块,管理和创建完整的虚拟机需要相应的一些管理工具,由于kvm是在qemu的基础上开发的,KVM 使用了 QEMU 的基于 x86 的部分,并稍加改造,形成可控制 KVM 内核模块的用户空间工具QEMU-KVM。libvirt,virt-manager,virsh:由于qemu-kvm的效率及通用性问题,有组织开发了libvirt用于虚拟机的管理,带有一套基于文本的虚拟机的管理工具--virsh,以及一套用户渴望的图形界面管理工具--virt-manager。libvirt是用python语言写的通用的API,不仅可以管理KVM,也可用于管理XEN;KVM虚拟机的管理工具准确的来说,KVM仅仅是Linux内核的一个模块,管理和创建完整的KVM虚拟机,需要更多的辅助工具。QEMU-KVM:在Linux系统中,首先我们可以用modprobe命令加载KVM模块,如果用RPM安装KVM软件包,系统会在启动时自动加载模块,QEMU是一个强大的虚拟软件,它可以虚拟不同的构架Virt-manager:尽管QEMU-KVM工具可以创建和管理KVM虚拟机,RedHat为KVM开发了更多的辅助工具,比如 libvirt libguestfs等,原因是QEMU工具效率不高,不易于使用。1. 查看虚拟系统的名称、CPU占用情况和内存占用情况 在virt-manager中选择要管理的虚拟系统,然后单击“细节”按钮,打开“虚拟系统状态”窗口,在这里可以查看虚拟系统的名称、CPU占用情况和内存占用情况 。如图-1 。 图-1查看虚拟系统的名称、CPU占用情况和内存占用情况 2. 查看和修改虚拟系统内存等硬件的状态和参数 选择“硬件”选项卡,在这里可以查看和修改虚拟系统内存等硬件的状态和参数。如图-2。 图-2查看和修改虚拟系统内存等硬件的状态和参数 3. 虚拟机保存、停止和暂停 在virt-manager中选择要管理的虚拟系统,然后单击“打开”按钮,启动虚拟系统终端。在这里可以使用暂停、运行、关闭和保存等功能,如图-3。 图-3 虚拟机保存、停止和暂停 使用字符工具xm管理Xen虚拟机的命令 显示虚拟机运行状态 xm list 使用文本方式连接虚拟系统 xm console 开启虚拟系统 xm create 关闭虚拟系统 xm shutdown xm destroy 重新启动虚拟系统 xmreboot 将虚拟系统当前状态保存到文件中 xm save 恢复已保存的虚拟系统 xm restore 暂停虚拟系统 xm pause 恢复被暂停的虚拟系统 xm resumeXen虚拟机的故障解除 1 了解Xen 配置文件 Xen的配置文件包含下面的标准变量。这些文件里的配置项必须用引号(")括起来。这些配置文件位于 /etc/xen 目录里。 如表1 。 另外一个命令模式的 Xen 管理工具叫做virsh(Virtual Shell)。virsh 是由一个名为 libvirt的软件提供的管理工具,提供管理虚拟机更高级的能力。virsh大部分的功能与xm一样,你可以利用 virsh 来启动、删除、控制、监控Xen 的区域,因此你也可以利用 virsh 来管理 Xen 中所有的虚拟机。你可能会很好奇,既然已经提供了xm管理工具,为何Red Hat Enterprise Linux 还需提供virsh?这是因为在Linux领域里,除了Xen外,还有许多种机制也提供虚拟化的功能,然而,不同的虚拟化系统的使用方法都不太相同。为了让Linux可以通过同一种方法读取与管理各种虚拟化子系统,libvirt团队(http://libvirt.org/ )便开发出了libvirt.so链接库,让软件的开发人员可以用libvirt.so提供的API来管控所有的虚拟化系统。而virsh 就是利用 libvirt.so 链接库编写而成的管理工具。因此,不管实质上执行的是何种虚拟化子系统,你只需学会 virsh 的使用方法,就可以藉此来使用或管理各种虚拟化系统提供的虚拟机了。本节将介绍 virsh 这个管理工具的使用方法。1 基本语法virsh的基本用法如下: virsh [COMMAND] [ARGS...] 另外需要注意的是,virsh提供两种执行模式:"直接模式(Direct Mode)"与"互动模式(InteractiveMode)"。在直接模式里,你必须在Shell中以参数、自变量的方式来执行virsh,如果在互动模式中,则virsh会提供一个提示字符串,你可以在该提示字符串后,输入要执行的命令。如果执行virsh没有指定任何参数或自变量则默认就是进入互动模式。与xm一样,COMMAND也是 virsh提供的命令,常用的命令如表 28-5所示。表28-5 virsh常用命令一览表命令 说明 help 显示该命令的说明 quit 结束 virsh ,回到 Shell connect 连接到指定的虚拟机服务器 create 启动一个新的虚拟机destroy 删除一个虚拟机 start 开启(已定义的)非启动的虚拟机 define 从 XML 定义一个虚拟机 undefine 取消定义的虚拟机 dumpxml 转储虚拟机的设置值 list 列出虚拟机 reboot 重新启动虚拟机 save 存储虚拟机的状态 restore 回复虚拟机的状态 suspend 暂停虚拟机的执行 resume 继续执行该虚拟机 dump 将虚拟机的内核转储到指定的文件,以便进行分析与排错 shutdown 关闭虚拟机 setmem 修改内存的大小 setmaxmem设置内存的最大值 setvcpus 修改虚拟处理器的数量 而virsh命令语法的ARGS则是COMMAND 搭配的参数。不同的COMMAND可能需搭配不同的参数,至于什么COMMAND可以搭配哪些参数,我将会在对各功能的介绍中提到。总地来说,如果ARGS需指定虚拟机,你可以使用下列的格式指定是哪一个虚拟机器。虚拟机的名称。虚拟机启动后的标识符。虚拟机的 UUID。以下就是使用 virsh 的示范。[iyunv@linux ~]# virsh ?①欢迎使用 virsh - 虚拟化的互动模式终端机。类型: 「help」以取得命令的求助画面「quit」离开virsh# listId 名称 状态----------------------------------0 Domain-0 执行中virsh # quit ②[iyunv@linux ~]# virsh list ③Id 名称 状态----------------------------------0 Domain-0 执行中[iyunv@linux ~]# ① 以互动模式执行 virsh。② 结束 virsh 的执行,回到默认的 Shell 下。③ 这是以直接模式执行 virsh,结果与互动模式完全一样。由于virsh与xm的部分功能相同,因此,本节仅介绍virsh与xm的不同之处。2查看Domain信息virsh 可以查看虚拟机的相关信息,你只需在执行 virsh 时配合如表28-6所示的命令。表28-6 查看Domain信息执行的命令命令 说明 domid 查看虚拟机的标识符 domname 查看虚拟机的名称 domuuid 查看虚拟机的 UUID domstate 查看虚拟机目前的状态 dominfo 查看虚拟机的信息 执行上述的每一个命令时,你都必须指定虚拟机的名称、标识符和UUID。以下是我使用 virsh 查看虚拟机信息的示范。 [iyunv@linux ~]# virsh domidsystem13 ?①[iyunv@linux ~]# virsh domname 3system1 ②[iyunv@linux ~]# virsh domuuid system18f35e0d3-f9d0-11f7-c0a5-30bd84228549 ③?[iyunv@linux ~]# virsh dominfo system1 ④?Id: 3名称: system1UUID: 8f35e0d3-f9d0-11f7-c0a5-30bd84228549操作系统类型: linux状态: 以组绝处理器数目: 1 处理器时间:23.7s 最大内存: 512000 KB已使用的内存: 511824 KB[iyunv@linux ~]# ① 这是 system1 虚拟机的标识符。② 这是标识符 3 的虚拟机之名称。③ system1 的 UUID。④ 这则是 system1 完整的信息。3 转储区域配置除了上述的功能外,virsh也允许把某一个虚拟机目前的设置值存储下来。virsh把设置值存储下来的动作,称为"转储(Dump)"。转储虚拟机设置值有什么好处?好处很多,我至少想到两个。首先,转储虚拟机的设置值可以让你把某一个虚拟机的设置备份下来,以供日后恢复该设置配置。其次,如果要用virsh 来启动一个虚拟机,你必须指定该虚拟机的配置文件。因此,如果你希望用virsh 来管理所有的虚拟机,那么请务必把每一个虚拟机的设置值转储下来后妥善保存。如果要转储虚拟机的设置值,你可以执行:virsh dumpxml DOMAIN 其中的DOMAIN就是要转储的虚拟机。你可以使用虚拟机的名称、标识符或是UUID来指定要转储到哪一个虚拟机。以下是我使用virsh转储虚拟机的范例。[iyunv@linux ~]# virsh dumpxml system1 ?①system18f35e0d3f9d011f7c0a530bd84228549/usr/bin/pygrublinux/var/lib/xen/vmlinuz.39zui7/var/lib/xen/initrd.bTaKXXroroot=LABEL=/5120001destroyrestartrestart

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-125071-1-1.html 上篇帖子: LinuxMint使用kvm(spice)安装Windows7 笔记 下篇帖子: 探索KVM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表