KVM虚拟化 - VM基本命令、删除、恢复、自启动、克隆、镜像操作
目录1、基本操作指令2、vm删除与恢复3、设置vm自启动4、vm克隆5、vm快照本文包括KVM虚拟化操作中的:基本命令操作、虚拟机删除与恢复、虚拟机自启动、虚拟机克隆、虚拟机镜像操作1、基本操作指令[root@linux-node1 /]# virsh shutdown CentOS-7.1-x86_64域 CentOS-7.1-x86_64 被关闭[r...
·
目录
本文包括KVM虚拟化操作中的:
基本命令操作、虚拟机删除与恢复、虚拟机自启动、虚拟机克隆、虚拟机镜像操作
1、基本操作指令
[root@linux-node1 /]# virsh shutdown CentOS-7.1-x86_64
域 CentOS-7.1-x86_64 被关闭
[root@linux-node1 /]# virsh start CentOS-7.1-x86_64
域 CentOS-7.1-x86_64 已开始
[root@linux-node1 /]# virsh list --all
Id 名称 状态
----------------------------------------------------
2 CentOS-7.1-x86_64 running
[root@linux-node1 /]# virsh suspend CentOS-7.1-x86_64
域 CentOS-7.1-x86_64 被挂起
[root@linux-node1 /]# virsh resume CentOS-7.1-x86_64
域 CentOS-7.1-x86_64 被重新恢复
[root@linux-node1 ~]# virsh dominfo CentOS-7.1-x86_64
Id: 1
名称: CentOS-7.1-x86_64
UUID: 2e66d4f3-96b4-43ad-9da1-b5007f110c23
OS 类型: hvm
状态: running
CPU: 1
CPU 时间: 643.7s
最大内存: 1048576 KiB
使用的内存: 1048576 KiB
持久: 是
自动启动: 启用
管理的保存: 否
安全性模式: none
安全性 DOI: 0
2、vm删除与恢复
# 删除vm
[root@linux-node1 qemu]# cd /etc/libvirt/qemu
[root@linux-node1 qemu]# ls
CentOS-7.1-x86_64.xml networks
[root@linux-node1 qemu]# virsh undefine CentOS-7.1-x86_64
域 CentOS-7.1-x86_64 已经被取消定义
# 此时虽然running,一旦关闭vm就会消失
[root@linux-node1 qemu]# virsh list
Id 名称 状态
----------------------------------------------------
2 CentOS-7.1-x86_64 running
[root@linux-node1 qemu]# ls
networks
# 备份当前运行vm状态,生成备份配置文件
[root@linux-node1 qemu]# virsh dumpxml CentOS-7.1-x86_64 > kvm1.xml
[root@linux-node1 qemu]# ls
kvm1.xml networks
# 关闭虚拟机,vm已消失
[root@linux-node1 qemu]# virsh shutdown CentOS-7.1-x86_64
域 CentOS-7.1-x86_64 被关闭
[root@linux-node1 qemu]# virsh list --all
Id 名称 状态
----------------------------------------------------
# vm加载备份配置文件,恢复虚拟机
[root@linux-node1 qemu]# virsh define kvm1.xml
定义域 CentOS-7.1-x86_64(从 kvm1.xml)
[root@linux-node1 qemu]# virsh list --all
Id 名称 状态
----------------------------------------------------
- CentOS-7.1-x86_64 关闭
[root@linux-node1 qemu]# virsh start CentOS-7.1-x86_64
域 CentOS-7.1-x86_64 已开始
[root@linux-node1 qemu]# virsh list
Id 名称 状态
----------------------------------------------------
3 CentOS-7.1-x86_64 running
# 相应配置文件已自动重新生成
[root@linux-node1 qemu]# ls
CentOS-7.1-x86_64.xml kvm1.xml networks
3、设置vm自启动
[root@linux-node1 qemu]# virsh autostart CentOS-7.1-x86_64
域 CentOS-7.1-x86_64标记为自动开始
[root@linux-node1 qemu]# ls
autostart CentOS-7.1-x86_64.xml kvm1.xml networks
[root@linux-node1 qemu]# cat autostart/
cat: autostart/: 是一个目录
[root@linux-node1 qemu]#
[root@linux-node1 qemu]# ll autostart/
总用量 0
lrwxrwxrwx 1 root root 39 4月 10 19:00 CentOS-7.1-x86_64.xml -> /etc/libvirt/qemu/CentOS-7.1-x86_64.xml
4、vm克隆
# virt-clone命令直接克隆(命令迁移)
[root@linux-node1 qemu]# virsh shutdown CentOS-7.1-x86_64
域 CentOS-7.1-x86_64 被关闭
[root@linux-node1 qemu]# virt-clone -o CentOS-7.1-x86_64 -n centos7 -f /opt/centos7.img --check all=off
等待克隆成功即可。
#因为直接克隆后vnc端口设置-1,随机,mac地址,UUID也都是随机
#所以在开机之前先根据编写好的mac地址与vnc端口进行编辑xml配置文件
<graphics type='vnc' port='5913' autoport='no' listen='0.0.0.0'>
<listen type='address' address='0.0.0.0'/>
#vm在克隆后,会出现网卡冲突,需要修改此配置文件
vi /etc/udev/rules.d/70-persistent-net.rules
# 拷贝xml与disk文件克隆(异机迁移)
[root@linux-node1 qemu]# cp /opt/CentOS-7.1-x86_64.raw /opt/newvm.raw # 复制虚拟机文件
[root@linux-node1 qemu]# cp /etc/libvirt/qemu/CentOS-7.1-x86_64.xml /etc/libvirt/qemu/newvm.xml # 复制配置文件
[root@linux-node1 qemu]# vim newvm.xml # 修改为实际新的配置
<name>newvm</name>
<uuid>cce3195a-4fd6-4fcd-8f4b-5757021e2330</uuid>
...
<source file='/opt/newvm.img'/>
...
<mac address='52:54:00:37:5f:a6'/>
...
<graphics type='vnc' port='5914' autoport='no' listen='0.0.0.0'>
[root@linux-node1 qemu]# virsh define newvm.xml # 加载配置文件定义虚拟机
[root@linux-node1 qemu]# virsh start newvm # 启动
[root@linux-node1 qemu]# virsh console newvm # 连接到客户会话
5、vm快照
# 首先关闭vm
[root@linux-node1 qemu]# virsh shutdown CentOS-7.1-x86_64
域 CentOS-7.1-x86_64 被关闭
# 默认raw磁盘不支持快照
# kvm虚拟机默认使用raw格式的镜像格式,性能最好,速度最快,它的缺点就是不支持一些新的功能,如支持镜像,zlib磁盘压缩,AES加密等。
[root@linux-node1 qemu]# cd /opt/
[root@linux-node1 opt]# qemu-img info CentOS-7.1-x86_64.raw
image: CentOS-7.1-x86_64.raw
file format: raw
virtual size: 5.0G (5368709120 bytes)
disk size: 1.3G
# 转换镜像格式,虚拟机必须先关机
[root@linux-node1 opt]# qemu-img convert -f raw -O qcow2 CentOS-7.1-x86_64.raw CentOS-7.1-x86_64.qcow2
[root@linux-node1 opt]# ll
总用量 3644904
-rw-r--r-- 1 root root 1385365504 4月 10 19:45 CentOS-7.1-x86_64.qcow2
-rw-r--r-- 1 qemu qemu 5368709120 4月 10 20:06 CentOS-7.1-x86_64.raw
-rw-r--r-- 1 qemu qemu 950009856 4月 10 14:50 CentOS-7-x86_64-DVD-1503-01.iso
# 修改配置文件的disk模块,把磁盘改成最新的qcow2的这个文件,同时格式也改成qcow2的
[root@linux-node1 opt]# virsh edit CentOS-7.1-x86_64
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/opt/CentOS-7.1-x86_64.qcow2'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>
# 生成快照
[root@linux-node1 opt]# virsh shutdown CentOS-7.1-x86_64
[root@linux-node1 opt]# virsh start CentOS-7.1-x86_64
[root@linux-node1 opt]# virsh snapshot-create CentOS-7.1-x86_64
已生成域快照 1586528255
[root@linux-node1 opt]# virsh snapshot-info CentOS-7.1-x86_64 1586528255
名称: 1586528255
域: CentOS-7.1-x86_64
当前: 是
状态: running
位置: 内部
上级: -
下级: 0
降序: 0
元数据: 是
# 快照存放目录已有文件生成
[root@linux-node1 snapshot]# ls /var/lib/libvirt/qemu/snapshot
CentOS-7.1-x86_64
# 恢复快照到某个版本
[root@linux-node1 CentOS-7.1-x86_64]# virsh snapshot-list CentOS-7.1-x86_64
名称 生成时间 状态
------------------------------------------------------------
1586528255 2020-04-10 22:17:35 +0800 running
1586528708 2020-04-10 22:25:08 +0800 running
1586528743 2020-04-10 22:25:43 +0800 running
[root@linux-node1 CentOS-7.1-x86_64]# virsh snapshot-revert CentOS-7.1-x86_64 1586528255
# 删除快照
[root@linux-node1 CentOS-7.1-x86_64]# virsh snapshot-delete CentOS-7.1-x86_64 1586528708
已删除域快照 1586528708
更多推荐
已为社区贡献10条内容
所有评论(0)