查看虚拟机所在主机和虚拟机名称:
[root@node-1 ~]# nova show a88dcf5d-c8b2-46a5-af27-a176d8235c9d|grep hyper
| OS-EXT-SRV-ATTR:hypervisor_hostname  | node-5.evecom.net                                             |
[root@node-1 ~]# nova show a88dcf5d-c8b2-46a5-af27-a176d8235c9d|grep instance_name
| OS-EXT-SRV-ATTR:instance_name        | instance-000006b7                                             |
[root@node-1 ~]#
[root@node-1 ~]# ssh 168.5.23.8

查看虚拟机的磁盘挂载情况:
[root@node-5 ~]# virsh domblklist instance-000006b7 --details
Type       Device     Target     Source
------------------------------------------------
file       disk       vda        /var/lib/nova/instances/a88dcf5d-c8b2-46a5-af27-a176d8235c9d/disk

如果是挂载了Cinder卷的虚拟机:
[root@node-5 ~]# virsh domblklist instance-000006a8 --details
Type       Device     Target     Source
------------------------------------------------
file       disk       vda        /var/lib/nova/instances/406e6d64-9ccf-44a5-a0d4-027ee4de3d24/disk
file       disk       vdb        /var/lib/nova/mnt/348597c68c44fd4c679cd81c3989af6f/volume-b827d6fb-cb61-4b40-97e5-4574f9877abb

对磁盘做快照:
[root@node-5 ~]# virsh snapshot-create-as instance-000006b7 snapshot1 "just for test snapshot" --disk-only --atomic
Domain snapshot snapshot1 created
[root@node-5 ~]#

观察到虚拟机创建快照后,磁盘引用路径已经指向快照文件:
[root@node-5 ~]# virsh domblklist instance-000006b7 --details
Type       Device     Target     Source
------------------------------------------------
file       disk       vda        /var/lib/nova/instances/a88dcf5d-c8b2-46a5-af27-a176d8235c9d/disk.snapshot1

qemu-img命令可以看出快照文件的源文件:
[root@node-5 ~]# qemu-img info /var/lib/nova/instances/a88dcf5d-c8b2-46a5-af27-a176d8235c9d/disk.snapshot1
image: /var/lib/nova/instances/a88dcf5d-c8b2-46a5-af27-a176d8235c9d/disk.snapshot1
file format: qcow2
virtual size: 30G (32212254720 bytes)
disk size: 384K
cluster_size: 65536
backing file: /var/lib/nova/instances/a88dcf5d-c8b2-46a5-af27-a176d8235c9d/disk
backing file format: qcow2
Format specific information:
    compat: 1.1
    lazy refcounts: false

查看快照文件大小:
[root@node-5 ~]# du -ms /var/lib/nova/instances/a88dcf5d-c8b2-46a5-af27-a176d8235c9d/disk.snapshot1
1       /var/lib/nova/instances/a88dcf5d-c8b2-46a5-af27-a176d8235c9d/disk.snapshot1

此时可对源文件进行备份。

登录虚拟机,设置不同颜色的桌面背景以示区别,再正常关闭虚拟机,并使用“nova start <instance_id>”命令重新启动虚拟机:
[root@node-5 ~]# virsh domuuid instance-000006b7
a88dcf5d-c8b2-46a5-af27-a176d8235c9d

[root@node-5 ~]# exit
logout
Connection to 168.5.23.8 closed.
[root@node-1 ~]# nova get-vnc-console a88dcf5d-c8b2-46a5-af27-a176d8235c9d novnc
+-------+---------------------------------------------------------------------------------+
| Type  | Url                                                                             |
+-------+---------------------------------------------------------------------------------+
| novnc | http://168.5.24.2:6080/vnc_auto.html?token=9161bc2d-6d2c-4825-801c-51b50e2862bf |
+-------+---------------------------------------------------------------------------------+
[root@node-1 ~]# nova start a88dcf5d-c8b2-46a5-af27-a176d8235c9d

经“nova start <instance_id>”命令启动虚拟机,虚拟机的磁盘又引用到了初始的磁盘文件:
[root@node-5 ~]# virsh domblklist instance-000006b7 --details                   Type       Device     Target     Source
------------------------------------------------
file       disk       vda        /var/lib/nova/instances/a88dcf5d-c8b2-46a5-af27-a176d8235c9d/disk

删除快照:
[root@node-5 ~]# virsh snapshot-delete instance-000006b7 --metadata snapshot1
[root@node-5 ~]# virsh snapshot-list instance-000006b7

快照文件仍残留在磁盘,可手动删除:
[root@node-5 ~]# du -ms /var/lib/nova/instances/a88dcf5d-c8b2-46a5-af27-a176d8235c9d/*
0       /var/lib/nova/instances/a88dcf5d-c8b2-46a5-af27-a176d8235c9d/console.log
49      /var/lib/nova/instances/a88dcf5d-c8b2-46a5-af27-a176d8235c9d/disk
1       /var/lib/nova/instances/a88dcf5d-c8b2-46a5-af27-a176d8235c9d/disk.info
28      /var/lib/nova/instances/a88dcf5d-c8b2-46a5-af27-a176d8235c9d/disk.snapshot1
1       /var/lib/nova/instances/a88dcf5d-c8b2-46a5-af27-a176d8235c9d/libvirt.xml

快照的升级版使用参考:
https://kashyapc.fedorapeople.org/virt/lc-2012/snapshots-handout.html

学习了以上链接后,了解到QEMU的快照还分成内部快照和外部快照。上文创建的是外部快照,现在尝试创建内部快照,内部快照能够保存内存状态。

[root@node-1 ~]# ssh 168.5.23.7
root@168.5.23.7's password:
Last login: Tue Mar 29 11:06:48 2016 from node-1.evecom.net
[root@node-4 ~]# virsh snapshot-create-as instance-000006ba snapshot1 "Just For Test"
Domain snapshot snapshot1 created
(SUSE官网的文章是:virsh snapshot-create-as --domain admin_server --name "Snapshot 2" --description "First live snapshot" --live)

内部快照创建完后,并没有在原来的磁盘目录生成快照文件:
[root@node-4 ~]# ls -l /var/lib/nova/instances/31b56c19-5789-4407-b350-e83b043f1165
total 471177
-rw-rw---- 1 root root         0 Mar 29 11:05 console.log
-rw-r--r-- 1 root root 482476032 Mar 29  2016 disk
-rw-r--r-- 1 nova nova        79 Mar 29 11:05 disk.info
-rw-r--r-- 1 nova nova      2595 Mar 29 11:05 libvirt.xml
[root@node-4 ~]#

也没有改变磁盘文件的引用:
[root@node-4 ~]# virsh domblklist instance-000006ba
Target     Source
------------------------------------------------
vda        /var/lib/nova/instances/31b56c19-5789-4407-b350-e83b043f1165/disk

[root@node-4 ~]#

查看快照清单:
[root@node-4 ~]# virsh snapshot-list instance-000006ba
 Name                 Creation Time             State
------------------------------------------------------------
 snapshot1            2016-03-29 11:22:23 +0800 running

修改虚拟机的桌面背景颜色,然后还原快照:
[root@node-4 ~]# virsh snapshot-revert --domain instance-000006ba snapshot1
桌面背景色的修改随着还原快照被还原。

删除快照:
[root@node-4 ~]# virsh snapshot-delete --domain instance-000006ba snapshot1
Domain snapshot snapshot1 deleted
[root@node-4 ~]# virsh snapshot-list instance-000006ba
 Name                 Creation Time             State
------------------------------------------------------------

[root@node-4 ~]#

官网又一文档,展示了使用blockcommit合并快照:
http://wiki.libvirt.org/page/Live-merge-an-entire-disk-image-chain-including-current-active-disk
文章太多,很乱,需要系统梳理。因时间有限,暂不考虑续写。

使用virsh命令创建KVM虚拟机快照的更多相关文章

  1. 命令行创建KVM虚拟机

    qemu命令创建虚拟机: qemu-img create -f qcow2 /home/ubuntu.img 20G   qemu-system-x86_64 -m 2048 -enable-kvm ...

  2. kvm虚拟化之kvm虚拟机快照备份

    kvm虚拟机默认使用raw格式的镜像格式,性能最好,速度最快,它的缺点就是不支持一些新的功能,如支持镜像,zlib磁盘压缩,AES加密等.   要使用镜像功能,磁盘格式必须为qcow2.下面开始kvm ...

  3. 【转载】基于Linux命令行KVM虚拟机的安装配置与基本使用

    基于Linux命令行KVM虚拟机的安装配置与基本使用 https://alex0227.github.io/2018/06/06/%E5%9F%BA%E4%BA%8ELinux%E5%91%BD%E4 ...

  4. centos创建kvm虚拟机

    1.检查kvm模块是否已经加载 lsmod |grep kvm 上图已经加载 没有加载 2.加载kvm 模块至内核 modprobe kvm modprobe kvm-intel modprobe: ...

  5. [图文] Fedora 28 使用 Virt-Manager 创建 KVM 虚拟机以及 配置 KVM 虚拟机

    实验说明: 往后的许多实验都将以Linux平台下的 KVM虚拟机为主,所以不可少的就是 Virt-Manager 虚拟机管理器. 本章将对如何安装和使用Virt-Manager管理器进行讲解,并且会对 ...

  6. KVM虚拟机快照链创建,合并,删除及回滚研究

    1 QEMU,KVM,libvirt关系 QEMU QEMU提供了一个开源的服务器全虚拟化解决方案,它可以使你在特定平台的物理机上模拟出其它平台的处理器,比如在X86 CPU上虚拟出Power的CPU ...

  7. KVM虚拟机快照备份

    KVM 快照的定义:快照就是将虚机在某一个时间点上的磁盘.内存和设备状态保存一下,以备将来之用.它包括以下几类: (1)磁盘快照:磁盘的内容(可能是虚机的全部磁盘或者部分磁盘)在某个时间点上被保存,然 ...

  8. 基于Linux命令行KVM虚拟机的安装配置与基本使用

    背景 由于生产环境的服务器并不会安装桌面环境,简单操作的图形化安装也不适合批量部署安装.因此,我还是更倾向于在命令下安装配置KVM虚拟机.结合了一些资料和个人使用的状况,我大致列出了一些基本和常用的使 ...

  9. 创建KVM虚拟机

    #此操作是在VMware workstations上面做的,要在开机前 编辑虚拟机设置——>处理器--->虚拟化Intel/VT-x/ept 选项勾选上,如果是在服务器上请在bios界面设 ...

随机推荐

  1. js 条件判断放大字体

    <html> <head> <meta charset="utf-8" /> <title></title> <s ...

  2. JRE与JDK

    Java源代码是以*.java的纯文本文件,可以使用任何文本编辑器编写,但不可以执行. JDK是Java语言的开发包,可以将*.java文件编译成可执行Java文件. 可执行Java程序需要JVM才可 ...

  3. PHP:urlencode

    urlencode是用于对字符串进行编码,使得所有字符都能被放入url中,而不会被解析器误解. 正如html中的<>这样的符号是标记符,如果正文中存在<,要把它转义为< url ...

  4. C#连接Oracle的方法

    C#连接Oracle的方法 方法1: System.Data.OracleClient oracleConnectionString : data source = orcl;user id= sco ...

  5. git 使用整理

    git使用 Ubuntu 14.04 安装 apt-get install git 版本查看 git --version git version 配置(全局变量,默认值.可在具体仓库中设置改仓库使用的 ...

  6. 【转载】CentOS 6.4下PXE+Kickstart无人值守安装操作系统

    [转载]CentOS 6.4下PXE+Kickstart无人值守安装操作系统 转自:CentOS 6.4下PXE+Kickstart无人值守安装操作系统 - David_Tang - 博客园 http ...

  7. Android Studio 如何使用jni

    在project视图下,main文件夹下,创建jniLibs文件夹,然后把so文件放入即可:

  8. 前端 MVC 变形记

    背景: MVC是一种架构设计模式,它通过关注点分离鼓励改进应用程序组织.在过去,MVC被大量用于构建桌面和服务器端应用程序,如今Web应用程序的开 发已经越来越向传统应用软件开发靠拢,Web和应用之间 ...

  9. 利用css的border实现画三角形思路原理

    1.利用Css 的border绘制三角形的原理: div的border是有宽度和颜色的,当div的宽度比较大的时候,比如上面代码每个边100像素,颜色又不一样,浏览器怎么渲染颜色呢?经测试发现,宽度较 ...

  10. cookie使用随笔

    cookie是一种浏览器缓存,可以理解为存放在浏览器上的一种小文件. 大小数目限制: 不同浏览器对于大小和数目均有不一样的限制,大小一般为4k,数目从30~50个(视浏览器类型),以键值对的形式存储, ...