前言:在上一篇博客中已经完成对虚拟机的创建,系统也正常工作,可以配上IP地址让终端远程控制它。下面将介绍如何使用KVM命令来管理虚拟机
上一篇博客地址连接KVM虚拟化架构理论与实操
[root@localhost ~]# virsh -h
virsh [options]... []
virsh [options]... [args...]
options:
-c | --connect=URI hypervisor connection URI
-d | --debug=NUM debug level [0-4]
-e | --escape set escape sequence for console
-h | --help this help
-k | --keepalive-interval=NUM
keepalive interval in seconds, 0 for disable
-K | --keepalive-count=NUM
number of possible missed keepalive messages
-l | --log=FILE output logging to file
-q | --quiet quiet mode
-r | --readonly connect readonly
-t | --timing print timing information
-v short version
-V long version
--version[=TYPE] version, TYPE is short or long (default short)
commands (non interactive mode):
。。。省略部分内容
[root@localhost ~]# ls /etc/libvirt/qemu
autostart centos7.6.xml networks
[root@localhost ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
2 centos7.6 running
[root@localhost ~]# virsh shutdown centos7.6 //关闭centos7.6虚拟机
域 centos7.6 被关闭
[root@localhost ~]# virsh start centos7.6 //开启centos7.6虚拟机
域 centos7.6 已开始
[root@localhost ~]# virsh destroy centos7.6
域 centos7.6 被删除
[root@localhost ~]# virsh create /etc/libvirt/qemu/centos7.6.xml
域 centos7.6 被创建(从 /etc/libvirt/qemu/centos7.6.xml)
[root@localhost ~]# virsh suspend centos7.6 //挂起centos7.6虚拟机
域 centos7.6 被挂起
[root@localhost ~]# virsh list --all //centos7.6虚拟机 是暂停的,说明被挂起了
Id 名称 状态
----------------------------------------------------
4 centos7.6 暂停
[root@localhost ~]# virsh resume centos7.6 //从挂起中恢复centos7.0虚拟机
域 centos7.6 被重新恢复
[root@localhost ~]# virsh list --all //centos7.6虚拟机 是运行的的,说明在被挂起时,恢复运行正常了
Id 名称 状态
----------------------------------------------------
4 centos7.6 running
[root@localhost ~]# virsh autostart centos7.6 //centos7.6虚拟机伴随宿主机自动启动
域 centos7.6标记为自动开始
[root@localhost ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
4 centos7.6 running
[root@localhost ~]# virsh shutdown centos7.6
域 centos7.6 被关闭
[root@localhost ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- centos7.6 关闭
[root@localhost ~]# init 6
[root@localhost ~]# virsh list --all //centos7.6虚拟机已经伴随宿主机自动启动
Id 名称 状态
----------------------------------------------------
1 centos7.6 running
[root@localhost ~]# virsh dumpxml centos7.6 >/opt/c1.xml
[root@localhost ~]# virsh undefine centos7.6 //删除centos7.0虚拟机 ,磁盘文件不会被删除
域 centos7.6 已经被取消定义
[root@localhost qemu]# ll //centos7.6.xml 信息没了
总用量 0
drwxr-xr-x 2 root root 6 4月 19 18:41 autostart
drwx------. 3 root root 42 4月 19 00:56 networks
[root@localhost qemu]# virsh list --all //centos7.6信息没了
Id 名称 状态
----------------------------------------------------
[root@localhost qemu]# cp /opt/c1.xml /etc/libvirt/qemu/centos7.6
[root@localhost qemu]# virsh define centos7.6
定义域 centos7.6(从 centos7.6)
[root@localhost qemu]# virsh list --all
Id 名称 状态
----------------------------------------------------
- centos7.6 关闭
[root@localhost qemu]# cp /opt/c1.xml /etc/libvirt/qemu/centos7.0
[root@localhost qemu]# virsh define centos7.0
定义域 centos7.0(从 centos7.0)
[root@localhost qemu]# virsh list --all
Id 名称 状态
----------------------------------------------------
- centos7.0 关闭
[root@localhost qemu]# vi /etc/libvirt/qemu/centos7.6 //通过这个配置文件可以修改虚拟机信息
[root@localhost qemu]# virsh edit centos7.6 //这条命令也可以修改
[root@localhost ~]# qemu-img info /data_kvm/store/bdqn_kvm.img
image: /data_kvm/store/bdqn_kvm.img
file format: qcow2
virtual size: 9.0G (9663676416 bytes)
disk size: 9.0G
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: true
[root@localhost ~]# virsh shutdown centos7.6
[root@localhost ~]# qemu-img convert -f qcow2 -O raw /data_kvm/store/bdqn_kvm.img /data_kvm/store/bdqn_kvm.qcow2
qemu-img convert -f raw -O qcow2 /data_kvm/store/bdqn_kvm.qcow2 /data_kvm/store/bdqn_kvm.img
[root@localhost ~]# qemu-img info /data_kvm/store/bdqn_kvm.qcow2 ##
image: /data_kvm/store/bdqn_kvm.qcow2
file format: raw
virtual size: 9.0G (9663676416 bytes)
disk size: 4.5G
[root@localhost ~]# virsh edit centos7.6
。。。。。。。
//原来的qcow 改为raw 因为上面转化的格式变了
//上面转化后的路径的也变了
[root@localhost ~]# virsh start centos7.6 //启动虚拟机
域 centos7.6 已开始
[root@localhost ~]# virsh list --all //查看虚拟机状态
Id 名称 状态
----------------------------------------------------
3 centos7.6 running
[root@localhost ~]# yum -y install libguestfs-tools-c
[root@localhost ~]# virt-cat -a /data_kvm/store/bdqn_kvm.qcow2 /etc/sysconfig/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
[root@localhost ~]# virt-edit -a /data_kvm/store/bdqn_kvm.qcow2 /etc/resolv.conf ###
nameserver 8.8.8.8
[root@localhost ~]# virt-df -h centos7.6
文件系统 大小 已用空间 可用空间 使用百分比%
centos7.6:/dev/sda1 1014M 146M 868M 15%
centos7.6:/dev/centos/root 7.1G 3.9G 3.1G 56%
[root@localhost ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
3 centos7.6 running
[root@localhost ~]# virsh shutdown centos7.6
域 centos7.6 被关闭
[root@localhost ~]# virt-clone -o centos7.6 -n centos7.3 -f /data_kvm/store/bdqn_kvm7.3.qcow2
正在分配 'bdqn_kvm7.3.qcow2' | 9.0 GB 00:34
//成功克隆 centos7.3
[root@localhost ~]# virsh start centos7.3
域 centos7.3 已开始
[root@localhost ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
7 centos7.3 running //centos7.3启动了
- centos7.6 关闭
[root@localhost ~]# virsh snapshot-create centos7.3
错误:不支持的配置:存储类型 vda 不支持磁盘 raw 的内部快照
[root@localhost ~]# qemu-img convert -f raw -O qcow2 /data_kvm/store/bdqn_kvm.qcow2 /data_kvm/store/bdqn_kvm.img
[root@localhost ~]# virsh edit centos7.6
centos7.6
582606e6-f450-4ed9-b5d2-e5cd049a7887
2097152
2097152
2
/machine
hvm
Haswell
destroy
restart
destroy
/usr/libexec/qemu-kvm
###改格式###
###改路径###
"/tmp/virshknLTQF.xml" 123L, 4575C written
编辑了域 centos7.6 XML 配置。
[root@localhost ~]# virsh start centos7.6
域 centos7.6 已开始
[root@localhost ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
7 centos7.3 running
8 centos7.6 running
[root@localhost ~]# virsh snapshot-create centos7.6
已生成域快照 1555672796
[root@localhost ~]# virsh snapshot-current centos7.6
1555672796
running
1555672796
。。。省略部分内容
。。。省略部分内容
[root@localhost ~]# virsh snapshot-list centos7.6
名称 生成时间 状态
------------------------------------------------------------
1555672796 2020-02-19 19:19:56 +0800 running
[root@localhost ~]# virsh snapshot-create centos7.6
已生成域快照 1555673091
[root@localhost ~]# virsh snapshot-list centos7.6
名称 生成时间 状态
------------------------------------------------------------
1555672796 2020-02-19 19:19:56 +0800 running
1555673091 2020-02-19 19:24:51 +0800 running
[root@localhost ~]# virsh snapshot-revert centos7.6 1555672796
[root@localhost ~]# virsh snapshot-current centos7.6
1555672796 //当前快照状态是1555672796
running
1555672796
。。。省略部分内容
[root@localhost ~]# virsh snapshot-delete centos7.6 1555672796
已删除域快照 1555672796
[root@localhost ~]# virsh snapshot-list centos7.6 //1555672796快照已经删除
名称 生成时间 状态
------------------------------------------------------------
1555673091 2020-02-19 19:24:51 +0800 running