virsh管理工具

2023-10-25 11:48
文章标签 管理工具 virsh

本文主要是介绍virsh管理工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

另外一个命令模式的 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)"与"互动模式(Interactive Mode)"。在直接模式里,你必须在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 的示范。

[root@linux ~]# virsh ?①
欢迎使用 virsh - 虚拟化的互动模式终端机。
类型:  「help」以取得命令的求助画面
「quit」离开
virsh # list
Id  名称        状态
----------------------------------
0  Domain-0  执行中
virsh # quit  ②
[root@linux ~]# virsh list  ③
Id  名称     状态
----------------------------------
0  Domain-0 执行中
[root@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 查看虚拟机信息的示范。

 [root@linux ~]# virsh domid system1
3 ?①
[root@linux ~]# virsh domname 3
system1  ②
[root@linux ~]# virsh domuuid system1
8f35e0d3-f9d0-11f7-c0a5-30bd84228549 ③?
[root@linux ~]# virsh dominfo system1 ④?
Id: 3
名称:  system1
UUID:  8f35e0d3-f9d0-11f7-c0a5-30bd84228549
操作系统类型: linux
状态:  以组绝
处理器数目: 1 处理器时间: 23.7s 最大内存: 512000 KB
已使用的内存: 511824 KB
[root@linux ~]#

① 这是 system1 虚拟机的标识符。

② 这是标识符 3 的虚拟机之名称。

③ system1 的 UUID。

④ 这则是 system1 完整的信息。

3  转储区域配置

除了上述的功能外,virsh也允许把某一个虚拟机目前的设置值存储下来。virsh把设置值存储下来的动作,称为"转储(Dump)"。

转储虚拟机设置值有什么好处?

好处很多,我至少想到两个。首先,转储虚拟机的设置值可以让你把某一个虚拟机的设置备份下来,以供日后恢复该设置配置。其次,如果要用 virsh 来启动一个虚拟机,你必须指定该虚拟机的配置文件。因此,如果你希望用virsh 来管理所有的虚拟机,那么请务必把每一个虚拟机的设置值转储下来后妥善保存。

如果要转储虚拟机的设置值,你可以执行:

virsh dumpxml DOMAIN

其中的DOMAIN就是要转储的虚拟机。你可以使用虚拟机的名称、标识符或是UUID来指定要转储到哪一个虚拟机。以下是我使用virsh转储虚拟机的范例。

[root@linux ~]# virsh dumpxml system1 ?①
<domain type='xen' id='3'>
<name>system1</name>
<uuid>8f35e0d3f9d011f7c0a530bd84228549</uuid>
<bootloader>/usr/bin/pygrub</bootloader>
<os>
<type>linux</type>
<kernel>/var/lib/xen/vmlinuz.39zui7</kernel>
<initrd>/var/lib/xen/initrd.bTaKXX</initrd>
<cmdline>ro root=LABEL=/</cmdline>
</os>
<memory>512000</memory>
<vcpu>1</vcpu>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<interface type='bridge'>
<source bridge='xenbr0'/>
<mac address='00:16:3e:1f:9a:73'/>
<script path='vif-bridge'/>
</interface>
<disk type='block' device='disk'>
<driver name='phy'/>
<source dev='/dev/xmdisk/system1'/>
<target dev='xvda'/>
</disk>
<graphics type='vnc' port='5900'/>
<console tty='/dev/pts/4'/>
</devices>
</domain>
[root@linux ~]# ls ②
anaconda-ks.cfg  Desktop/  install.log  install.log.syslog
[root@linux ~]# virsh dumpxml system1 > system1.virsh.xml ?③
[root@linux ~]# ls
anaconda-ks.cfg  Desktop/  install.log 
install.log.syslog  system1.virsh.xml ?④

① 这是 system1 的设置数据。

② 目前这个目录下只有这几个文件。

③ 现在把 system1 转储后的设置数据转向存储于 system1.virsh.xml文件中。

④ 这就是 system1 的设置数据备份文件。

 

这篇关于virsh管理工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/282363

相关文章

828华为云征文 | 华为云Flexusx实例,高效部署Servas书签管理工具的优选平台

需要了解 本文章主要讲述在 华为云Flexus X 实例上使用docker快速部署Servas,一款功能强大的自托管书签管理工具,专为追求高效与个性化的用户设计。选择合适的云服务器: 本文采用的是 华为云服务器 Flexus X 实例(推荐使用)连接方式: 本文通过本地shell 方式,通过弹性IP 远程连接至服务器,进行部署搭建操作系统版本: Huawei Cloud EulerOS 2.0

CleanClip: Mac上最强大的剪贴板管理工具

嘿,Mac用户们!你是否经常因为系统默认的单条剪贴板记录而感到困扰?别担心,今天我们来介绍一款革命性的剪贴板管理工具 - CleanClip! 系统级体验:无缝融入你的工作流 首先,让我们来看看CleanClip最与众不同的特点 - 它的系统级体验。 使用方法超简单: 在任何应用中复制内容按下快捷键 "⌘ + ;"CleanClip的列表会直接显示在你的光标位置! 这种设计让你

【linux pip安装】python包管理工具 pip 安装

下载文件 wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate 执行安装 python get-pip.py 这就安装好了

JENV版本管理工具

下载地址:https://github.com/jenv/jenv 安装步骤 将其添加到PATH中 使用方法(注意:局部配置会覆盖全局配置。使用命令可覆盖局部) 添加新的Java环境(需提供绝对路径) jenv add <名称> <路径> 示例:jenv add jdk15 D:\Programme\Java\jdk-15.0.1 为当前会话切换Java版本 jenv use <名称

redis界面管理工具phpRedisAdmin 安装

看了网上一些教程,大多都有一些老旧,这里重新记录一下,其实都是大同小异. 注意 前提 你先安装号httpd和php 安装 php的redis驱动 先从phpredis的git拿到最新的源码包: wget https://github.com/nicolasff/phpredis/archive/master.tar.gz   然后解压到进入目录: tar xvf mas

Linux后台进程管理工具:supervisor

Supervisor: Supervisor是一个进程监控程序。可以查看进程执行状态。 使用需求: 1、我现在有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断。当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了Supervisor,相当于将一个普通后台变成了守护进程 2、有一个脚本需要自定义时间执行,可以打开Supervisor web页点击执行 等

分布式版本管理工具——Git拉取Github项目到本地仓库

Git拉取(下载)github项目到本地仓库 一、前言二、拉取github项目至本地三、结束语 一、前言 不得不说,如果懂得利用好Git以及github,能够在很大程度上帮助到我们的日常学习与工作,这里我简单的给大家介绍如何使用Git下载github项目文件。 二、拉取github项目至本地 当然,首先你要先下载好Git工具哈,我有篇博客介绍了如何下载使用(点击前往

推荐一款开源、高效、灵活的Redis桌面管理工具:Tiny RDM!支持调试与分析功能!

1、引言 在大数据和云计算快速发展的今天,Redis作为一款高性能的内存键值存储系统,在数据缓存、实时计算、消息队列等领域发挥着重要作用。然而,随着Redis集群规模的扩大和复杂度的增加,如何高效地管理和运维Redis数据库成为了许多开发者和运维人员面临的挑战。Tiny RDM(Tiny Redis Desktop Manager)作为一款轻量级、跨平台的Redis桌面管理工具,以其高效、灵活和

最简单搭建harbor(企业级registry管理工具)

安装环境:centos:7.3, 已经安装docker,docker-compose 下载离线版本的harbor安装包 #下载wget https://github.com/vmware/harbor/releases/download/v1.2.0/harbor-offline-installer-v1.2.0.tgz#解压tar -zxvf harbor-offline-instal

使用 docker 部署 kvm 图形化管理工具 WebVirtMgr

文章目录 @[toc]前提条件镜像构建启动 webvirtmgr创建其他 superuser配置 nginx 反向代理和域名访问绑定 kvm 宿主机local sockettcp 连接 虚拟机创建创建快照虚拟机克隆删除虚拟机 kvm 官方提供了以下这些图形化管理,license 这块也提示了是商业版(Commercial)的还是哪个开源协议的,或者免费的范围这边主要的需求就是有个 k