kvm管理查看信息,添加,删除,暂停恢复,克隆等
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启动起来