virsh查看/管理虚拟机

  • 问题

本案例要求熟悉KVM虚拟化的virsh管理工具的的基本使用,从命令行来操作虚拟机,完成以下基本任务: 

  1. 查看KVM服务器信息
  2. 列出有哪些虚拟机、指定虚拟机的状态
  3. 基本的开关机操作
  4. 将虚拟机设置为自动运行
  • 方案

virsh命令行管理的常见用法:

  1. virsh:直接进交互模式
  2. virsh  nodeinfo:查看KVM节点(服务器)信息
  3. virsh  list:列出正在运行的虚拟机
  4. virsh  list  --all:列出所有虚拟机(包括未启动的)
  5. virsh  dominfo  虚拟机名称:查看指定虚拟机的信息
  6. virsh  start  虚拟机名称:将指定的虚拟机开机
  7. virsh  reboot  虚拟机名称:将指定的虚拟机重启
  8. virsh  shutdown  虚拟机名称:将指定的虚拟机正常关机
  9. virsh  destroy  虚拟机名称:将指定的虚拟机强制关机(相当于拔电源)
  10. virsh  autostart  虚拟机名称:将指定的虚拟机设置随KVM自动开机
  11. virsh  autostart  --disable  虚拟机名称:禁止自动开机
  • 步骤

实现此案例需要按照如下步骤进行。

步骤一:直接使用virsh交互模式

执行不带任何参数的virsh命令,即可进入交互模式。在virsh交互模式下,可以快速、连续地执行多条虚拟机管理指令,不用每次都指定virsh,最后再exit退出;这种方式与在Shell命令行执行virsh时后面跟上虚拟机管理指令的作用是等效的。

[root@kvmsvr ~]# virsh                          //进入virsh交互模式

欢迎使用 virsh,虚拟化的交互式终端。

 

输入:'help' 来获得命令的帮助信息

       'quit' 退出

 

virsh # list                                    //查看所有开机的虚拟机

 Id    名称                         状态

----------------------------------------------------

 3     rh6_n1                         running

 

virsh # exit                                    //退出

步骤二:查看虚拟机信息

1)查看KVM节点(服务器)信息

[root@kvmsvr ~]# virsh dominfo

错误:命令 'dominfo' 需要 <domain> 选项

[root@kvmsvr ~]# virsh nodeinfo

CPU 型号:        x86_64

CPU:               2

CPU 频率:        2594 MHz

CPU socket:        1

每个 socket 的内核数: 2

每个内核的线程数: 1

NUMA 单元:       1

内存大小:      4048888 KiB

2)列出正在运行的虚拟机

[root@kvmsvr ~]# virsh list

 Id    名称                         状态

----------------------------------------------------

 3     rh6_n1                         running

3)列出所有虚拟机(包括未启动的)

[root@kvmsvr ~]# virsh list --all

 Id    名称                         状态

----------------------------------------------------

 3     rh6_n1                         running

 -     testpc                         关闭

4)查看指定虚拟机的信息

[root@kvmsvr ~]# virsh dominfo rh6_n1

Id:             3

名称:       rh6_n1

UUID:           0bd7cdcc-2579-9d5c-0513-700a36ba1b9c

OS 类型:    hvm

状态:       running

CPU:          1

CPU 时间:   240.9s

最大内存: 1048576 KiB

使用的内存: 1048576 KiB

Persistent:     yes

自动启动: 禁用

Managed save:   no

安全性模式: none

安全性 DOI: 0

步骤三:基本的开关机操作

1)将虚拟机rh6_n1正常关机

若指定的虚拟机已经在运行,可以通过virsh发送shutdown指令来关机: 

[root@kvmsvr ~]# virsh shutdown rh6_n1 //关闭虚拟机rh6_n1

域 rh6_n1 被关闭

[root@kvmsvr ~]# virsh list --all          //确认关闭结果(需等待至关机完成)

 Id    名称                         状态

----------------------------------------------------

 -     rh6_n1                         关闭

 -     testpc                         关闭

2)将虚拟机rh6_n1开机

针对处于关闭状态的虚拟机,可以通过virsh发送start指令来开机: 

[root@kvmsvr ~]# virsh start rh6_n1     //开启虚拟机rh6_n1

域 rh6_n1 已开始

[root@kvmsvr ~]# virsh list --all       //确认开机结果

 Id    名称                         状态

----------------------------------------------------

 4     rh6_n1                         running

 -     testpc                         关闭

3)将虚拟机rh6_n1重启

针对启动完毕的正常虚拟机,可以通过virsh发送reboot指令来重启(虚拟机当前的操作系统及状态必须能够响应此请求): 

[root@kvmsvr ~]# virsh reboot rh6_n1

域 rh6_n1 正在被重新启动

在重启指定虚拟机的时候,若要确认结果,可以通过virt-manager管理器来双击指定的虚拟机以观察重启响应过程,如图-1所示。

-1

4)将虚拟机rh6_n1强制关机(相当于拔电源)

当正常关机或重启无法响应时,或者没有必要等待(比如重做系统)正常关机时,可以通过virsh发送destroy指令来强制关闭正在运行的虚拟机:

[root@kvmsvr ~]# virsh list --all             //查看当前的虚拟机状态

 Id    名称                         状态

----------------------------------------------------

 5     rh6_n1                         running

 -     testpc                         关闭

 

[root@kvmsvr ~]# virsh destroy rh6_n1   //强制关闭rh6_n1虚拟机

域 rh6_n1 被删除

 

[root@kvmsvr ~]# virsh list --all     //确认关闭结果

 Id    名称                         状态

----------------------------------------------------

 -     rh6_n1                         关闭

 -     testpc                         关闭

5)虚拟机rh6_n1的自动开机设置

一台KVM虚拟机的“自动启动”状态,决定了当KVM服务器启动的时候,这台虚拟机是否也随之一起开机。启用此功能的virsh指令为autostart:

[root@kvmsvr ~]# virsh dominfo rh6_n1   //查看默认的状态

Id:             -

名称:       rh6_n1

.. ..

自动启动: 禁用             //不随KVM自动开机

.. ..

 

[root@kvmsvr ~]# virsh autostart rh6_n1   //设置rh6_n1为自启动

域 rh6_n1标记为自动开始

 

[root@kvmsvr ~]# virsh dominfo rh6_n1     //确认配置结果

Id:             -

名称:       rh6_n1

.. ..

自动启动: 启用                        //随KVM自动开机

.. ..

若要关闭指定虚拟机的自动开机设置,需要执行virsh指令autostrt --disable:

[root@kvmsvr ~]# virsh autostart --disable rh6_n1    //取消rh6_n1的自启动

域 rh6_n1取消标记为自动开始

 

[root@kvmsvr ~]# virsh dominfo rh6_n1       //确认取消结果

Id:             -

名称:       rh6_n1

.. ..

自动启动: 禁用             //不随KVM自动开机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值