Linux创建快照(附脚本创建快照) virsh管理虚拟机

一,创建快照

[root@foundation156 images]# qemu-img create            -f qcow2            -b               xuniji.qcow2       kuaizhao.qcow2

                                                     创建快照           创建类型格式         备份                  母盘            快照名称

###########注意,虽然都是.qcow2文件,但是快照和虚拟机本身是不一样的,我们可以通过file查看#####


创建快照之后需要从虚拟机图形化管理器中导入,此时选择第四个(图形化管理中不小心删除了也可以这样做)

注意:为虚拟机创建快照之后,可以在快照中进行破坏性实验,防止破坏虚拟机!!!

####################.xml文件储存虚拟机或者快照的硬件信息

[root@foundation156 qemu]# vim westos.xml ###修改虚拟机名字,重启服务

[root@foundation156 qemu]# systemctl restart libvirtd.service    ####此时会发现图形化虚拟机的名字已经更改了,但是,.xml文件名称本身不会改变

##############################################################

二,virsh命令

[root@foundation156 qemu]# virsh list            ###查看活跃的虚拟机
 Id    Name                           State
----------------------------------------------------
 2     westos                         running

[root@foundation156 qemu]# virsh list --all         ####查看所有虚拟机
 Id    Name                           State
----------------------------------------------------
 2     westos                         running
 -     desktop                        shut off

 -     server                         shut off


[root@foundation156 qemu]# virsh start desktop     ###运行虚拟机

[root@foundation156 qemu]# virt-viewer desktop   ###显示虚拟机

[root@foundation156 qemu]# virsh shutdown  westos  ###关闭虚拟机
Domain westos is being shutdown

[root@foundation156 qemu]# virsh destroy westos  ###从图形化界面中删除,但是虚拟机文件不会被删除

Domain westos destroyed   ####这时可以直接从图形化管理界面选择第四个导入,由于之前的数据都在

                                         ###所以不需要安装和初始化配置

[root@foundation156 mnt]# virsh create westos.xml     ###一次性恢复,reboot之后就没有了
Domain westos created from westos.xml

[root@foundation156 mnt]# virsh define westos.xml   ###永久恢复数据,如果.qcw2文件被删除了,就不可恢复了

Domain westos defined from westos.xml

[root@foundation156 qemu]# virsh undefine westos.xml   ###删除硬件信息


三,利用脚本创建

注意:如果脚本内容关于路径的文件位置改变了,一定要修改改脚本,所以,一般把与路径有关的文件放在固定的位置,防止意外删除,移动等!!!

建立一个脚本文件,加上可执行权限

脚本内容


#!/bin/bash
qemu-img create -f qcow2 -b \                     ###建立快照
/var/lib/libvirt/images/$1.qcow2 \                  ###母盘   

/var/lib/libvirt/images/$2.qcow2                    ###快照,这里不能加\ ,这三行是一条命令,如果加上\

                                                                        ###则表示这三行和下面的是一次执行的同一命令,显然这是错误的

###以上三条为使用命令建立快照###

###以下为从图形化虚拟机管理界面导入快照#####

virt-install \                              ####安装          
--name $2 \                           #####快照名称
--cpus 1 \                             ####内存大小
--ram 1024 \

--disk /var/lib/libvirt/images/$2.qcow2,bus=virtio \    ####快照路径,由于虚拟机本身size已经写了

                                                                           ###就不用像写虚拟机建立脚本那样写上size了

                                                                             ###bus是硬盘类型,virtio=virtual input output

--import &                                                      ###导入,&防止占用终端


执行

[root@foundation156 ~]# /mnt/snapshot.sh   westos redhat      ###为westos创建名为redhat的快照

                                                                                #注意westos替换$1处的内容,redhat替换$2处的内容

    ####为test建立test2的快照

########################事实上开启虚拟机用的rht-vmctl命令也是一个脚本文件


猜你喜欢

转载自blog.csdn.net/ha_weii/article/details/80068562