KVM virsh管理指令

virsh 查看帮助信息

查看命令帮助

[root@KVM ~]# virsh
Welcome to virsh, the virtualization interactive terminal. Type: 'help' for help with commands
'quit' to quit virsh # help

查看某个具体指令帮助

[root@KVM ~]# virsh start --help
NAME
start - start a (previously defined) inactive domain SYNOPSIS
start <domain> [--console] [--paused] [--autodestroy] [--bypass-cache] [--force-boot]

在virsh指令集中使用子指令

如:查看c1的状态信息:

[root@KVM ~]# virsh
Welcome to virsh, the virtualization interactive terminal. Type: 'help' for help with commands
'quit' to quit virsh # dominfo c1
Id: 6
Name: c1
UUID: 58f945ba-2853-c53b-5820-d52fa320f034
OS Type: hvm
State: running
CPU(s): 1
CPU time: 171.2s
Max memory: 1048576 KiB
Used memory: 1048576 KiB
Persistent: yes
Autostart: disable
Managed save: no
Security model: selinux
Security DOI: 0
Security label: unconfined_u:system_r:svirt_t:s0:c200,c417 (permissive)

也可以直接在命令行执行:

[root@KVM ~]# virsh dominfo c1

管理操作

启动一个虚拟机

[root@KVM ~]# virsh start c1
Domain c1 started

查看虚拟机列表

[root@KVM ~]# virsh list
Id Name State
----------------------------------------------------
6 c1 running #查看所以主机列表
[root@KVM ~]# virsh list --all

停止或重启虚拟机

#关闭虚拟机c1
[root@KVM ~]# virsh shutdown c1 #强行关机
[root@KVM ~]# virsh destroy c1
Domain c1 destroyed #重启c1
[root@KVM ~]# virsh reboot c1

暂停或运行虚拟机

[root@KVM qemu]# virsh suspend c1   #此时状态暂停于内存中
Domain c1 suspended
#查看
[root@KVM qemu]# virsh list
Id Name State
----------------------------------------------------
9 c1 paused #继续执行
[root@KVM qemu]# virsh resume c1
Domain c1 resumed [root@KVM qemu]# virsh list
Id Name State
----------------------------------------------------
9 c1 running

保存虚拟机到本地磁盘(快照)

保存到本地后在列表中的实例会被移除

#保存快照到本地
[root@KVM qemu]# virsh save c1 /tmp/c1.snap #恢复到列表
[root@KVM qemu]# virsh restore /tmp/c1.snap
Domain restored from /tmp/c1.snap #此刻快照还存在,可以留作备份

添加虚拟机到列表

virsh define c2.xml

删除虚拟机

[root@KVM ~]# virsh undefine c1

修改虚拟机内存大小

修改虚拟机内存的大小和cpu个数

关闭虚拟机:

[root@KVM ~]# virsh shutdown vm1

修改vm1虚拟机的xml文件

[root@KVM ~]# vim /etc/libvirt/qemu/vm1.xml 

 <memory unit='KiB'>2536000</memory>  #最大使用内存,原来是1536000
<currentMemory unit='KiB'>2536000</currentMemory> #设置已使用内存
<vcpu placement='static'>2</vcpu> #调整为两个

修改后直接启动是不生效的。需要从xml文件识别启动

[root@KVM ~]# virsh define /etc/libvirt/qemu/vm1.xml   #重新识别xml文件
Domain vm1 defined from /etc/libvirt/qemu/vm1.xml [root@KVM ~]# virsh start vm1
Domain vm1 started [root@KVM ~]# virsh list
Id Name State
----------------------------------------------------
9 vm1 running [root@KVM ~]# virsh dominfo vm1
Id: 9
Name: vm1
UUID: 483f35c8-e00a-4598-b738-e9aa20e0d8e6
OS Type: hvm
State: running
CPU(s): 2 #调整了cpu
CPU time: 33.4s
Max memory: 2536448 KiB #调整了最大可用内存
Used memory: 2536000 KiB #已使用内存
Persistent: yes
Autostart: disable
Managed save: no
Security model: selinux
Security DOI: 0
Security label: system_u:system_r:svirt_t:s0:c282,c706 (enforcing)

在最大可用内存范围内,可以在线动态调整虚拟机内存大小,但是调整cpu核心需要关闭虚拟机,上调最大内存也需要关闭虚拟机,修改xml文件

将vm1内存调整为1G

[root@KVM ~]# virsh setmem vm1 1G  #调整内存

[root@KVM ~]# virsh dominfo vm1
Id: 9
Name: vm1
UUID: 483f35c8-e00a-4598-b738-e9aa20e0d8e6
OS Type: hvm
State: running
CPU(s): 2
CPU time: 132.3s
Max memory: 2536448 KiB
Used memory: 1048576 KiB #已使用内存
Persistent: yes
Autostart: disable
Managed save: no
Security model: selinux
Security DOI: 0
Security label: system_u:system_r:svirt_t:s0:c282,c706 (enforcing)

克隆虚拟机

kvm中增加虚拟机的方式可以通过复制镜像文件和xml文件添加,也可以使用virt-clone指令添加克隆虚拟机

以克隆vm1虚拟机重命名为vm5

[root@KVM ~]# virt-clone -o vm1 -n vm5 -f /kvm/vm5/vm5.qcow2

克隆后会自动生成xml配置文件,克隆新生成的文件中uuid和MAC信息会自动发送变化。可以直接启动虚拟机即可。如果有使用vnc则需要修改一下vnc端口信息,否则会启动出错

启动虚拟机

[root@KVM qemu]# virsh list
Id Name State
----------------------------------------------------
13 vm3 running
15 vm4 running
16 vm5 running #vm5启动起来

最新文章

  1. 如何把 Callback 接口包装成 Promise 接口
  2. linux split (分割文件)命令
  3. 回忆读windows 核心编程
  4. IIS没有ASP.NET选项卡
  5. Java知识点:琐碎知识点(3)
  6. 上海Uber优步司机奖励政策(1月18日~1月24日)
  7. Oracle数据类型与.NET中的对应关系(转)
  8. 【Android Tricks 6】ViewPager首页与尾页的滑动动作响应
  9. HTML &lt;form&gt; 标签的 method 属性(20161028)
  10. VS2015如何连接mySQL数据库
  11. Egret 按钮点击缩放效果
  12. thinphp5框架遇到 mkdir() Permission denied 解决办法
  13. 【spark 深入学习 06】RDD编程之旅基础篇02-Spaek shell
  14. Vrrp和Hsrp的区别
  15. Arduino Pro or Pro Mini, ATmega328 (5V, 16 MHz)成功烧录方法
  16. python 引用和对象理解(转)
  17. 学习 Linux,302(混合环境): 概念
  18. bzoj1677
  19. opencart安装和使用PHPMailer
  20. put ListView in a ScrollView(bug fixed)

热门文章

  1. 如何在 Flutter 中集成华为云函数服务
  2. 商业智能干货分享:BI的4大核心技术
  3. easyui datagrid中 formatter的用法
  4. csv 转换为DBF文件的方法
  5. shell脚本读取命令行的参数
  6. Maven目录结构, war目录结构
  7. [HITCON 2017]SSRFme
  8. CSS/CSS3语法新特性笔记
  9. Qt:QThread
  10. Python第一讲以及计算机基础