本文由秀依林枫提供友情赞助,首发于烂泥行天下

因为要做有关KVM虚拟机的实验,所以需要虚拟机生成快照。查询相关资料,说KVM可以使用两种方法生成虚拟机的快照。

方法一、使用qemu-img snapshot命令进行生成快照

方法二、使用virsh snapshot-create-as命令进行生成快照

其实经过我的测试,发现使用qemu-img snapshot命令生成快照后,即使恢复快照也是没有用的。虚拟机还是当前的状态,而不是快照之前的状态。不知道为什么,而且还不稳定,经常报错。

注意要使用KVM的快照功能,虚拟机的硬盘一定要是qcow2格式,否则无法使用快照功能。

有关硬盘的格式,可以在创建虚拟机硬盘时指定,也可以使用相关命令进行转换。这个可以参考我之前的文章《烂泥:KVM中安装Windows Server 2008 R2系统》。

在这篇文章中,我们重点介绍有关virsh snapshot-create-as命令生成快照。

不过在介绍之前,我们还是把第一种方法使用qemu-img snapshot命令生成快照的相关命令介绍下。

其实我们是可以直接通过命令的帮助查询到有关qemu-img snapshot使用方法的。

本次实验我们已虚拟机centos为例,已centos虚拟机安装ftp命令前后做快照。

我们先来创建一个快照,使用如下命令:

qemu-img snapshot -c centos_install_ftp /vhostdisk/centos.img

创建快照

qemu-img snapshot -l /vhostdisk/centos.img

查询快照

qemu-img snapshot -d centos_install_ftp /vhostdisk/centos.img

删除快照

注意,其中centos_install_ftp为快照名称,/vhostdisk/centos.img为原虚拟机。

刚刚在使用qemu-img snapshot进行相关测试发现,居然把我的虚拟机给搞坏了。唉,真是坑爹啊,怪不得网络上的资料显示使用这个有问题呢。强烈建议,还是使用第二种方法吧。

以上是qemu-img snapshot创建KVM快照的方法,现在我们来介绍使用virsh snapshot-create-as来生成虚拟机快照的方法。

Centos虚拟机未安装ftp命令,创建快照如下:

snapshot-create-as centos centos_install_ftp

为虚拟机centos创建快照,快照名称为centos_install_ftp

snapshot-list centos查看虚拟机centos所有的快照

snapshot-info centos centos_uninstall_ftp

查看虚拟机centos快照centos_uninstall_ftp详细信息

Centos虚拟机安装ftp命令,创建快照如下:

snapshot-create-as centos centos_install_ftp

为虚拟机centos创建快照,快照名称为centos_install_ftp

以上我们把centos这台虚拟机在安装FTP命令前后的快照已经做好,现在虚拟机centos处于已经安装FTP命令状态,如果我们此时要把虚拟机centos恢复到安装FTP命令之前的话,我们只需要使用virsh snapshot-revert命令即可。但是在使用virsh snapshot-revert命令恢复虚拟机centos状态之前,我们必须要把虚拟机关闭。

关闭虚拟机,我们可以使用virsh destroy命令进行强制性关机,我们也可以使用virsh shutdown命令进行关机。

注意要使用virsh shutdown命令进行关闭虚拟机的话,一定要安装acpid服务。同时经过多次测试证明如果虚拟机有快照的话,就无法使用virsh shutdown/reboot,命令进行关机或者重启。

yum -y install acpid 安装acpid服务

/etc/init.d/acpid status 查看acpid服务是否运行

destroy centos强制关闭虚拟机centos

Centos虚拟机关闭后,我们开始恢复虚拟机的状态到未安装FTP命令之前,即恢复虚拟机centos的快照。使用如下命令:

snapshot-revert centos centos_uninstall_ftp

注意:快照恢复完毕后,强烈建议把现在的虚拟机关闭重新启动下。

以上是有关KVM虚拟机的创建与恢复,如果要删除一个快照,可以使用如下命令:

snapshot-delete centos centos_uninstall_ftp

至此KVM虚拟机的快照介绍完毕。

烂泥:KVM快照的创建与恢复的更多相关文章

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

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

  2. KVM 介绍(7):使用 libvirt 做 QEMU/KVM 快照和 Nova 实例的快照 (Nova Instances Snapshot Libvirt)

    学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...

  3. kvm快照

    Kvm快照: 1.基于lvm的快照 2.kvm自带的快照功能(需要qcow2 磁盘文件才支持快照) 关闭kvm虚拟机: 查看磁盘文件信息: [root@super67 ~]# qemu-img inf ...

  4. kvm快照备份及常用命令

    转载自:http://www.myjishu.com/?p=431 好文章 kvm快照备份及常用命令 kvm快照,分两种: 1种lvm快照,如果分区是lvm,可以利用lvm进行kvm的快照备份 2种由 ...

  5. KVM(七)使用 libvirt 做 QEMU/KVM 快照和 Nova 实例的快照

    本文将梳理 QEMU/KVM 快照相关的知识,以及在 OpenStack Nova 中使用 libvirt 来对 QEMU/KVM 虚机做快照的过程. 1. QEMU/KVM 快照 1.1 概念 QE ...

  6. 5、kvm快照相关操作

    kvm虚拟机默认使用raw格式的镜像格式,性能最好,速度最快,不支持支持镜像,zlib磁盘压缩,AES加密等.要使用镜像功能,但是磁盘格式为qcow2就是支持. 关闭虚拟机 virsh shutdow ...

  7. KVM 一键批量创建虚拟机

    目录 一.原理 二.基础镜像 2.1.创建基础镜像 2.2. 完善基础镜像 2.3.基础镜像设置权限 3.4 设置 title 3.5.基础镜像XML 三.批量创建机器脚本 四.挂载磁盘多种方式 4. ...

  8. 关于SQL Server 镜像数据库快照的创建及使用

    从SQL Server 2005 SP 起,SQL 开始支持数据库镜像.它的设计目的是试图为SQL Server 提供一个具有实时性数据同步的灾难恢复技术,即能够提供数据冗余备份,切换起来比较方便.每 ...

  9. KVM (虚拟机创建及管理,存储管理)

    创建KVM虚拟机 1.图形化界面创建 第一步:查看软件包组 yum grouplist 第二步:下载GUI界面的软件包组 yum groupinstall "Server with GUI& ...

随机推荐

  1. WinForm输入网址打开源码

    无聊练习一下WinForm,输入网址,点击按钮就在浏览器打开网址. 源代码下载: http://hovertree.com/h/bjaf/cao15h74.htm

  2. Python基础:新式类的属性访问

    一.概述 二.准备工作 1.讨论对象 2.名词解释 三.实例绑定的属性访问 1.获取属性 一般规则 参考源码 示例验证 2.设置属性 一般规则 参考源码 示例验证 3.删除属性 一般规则 参考源码 示 ...

  3. iostat命令

    http://www.orczhou.com/index.php/2010/03/iostat-detail/ Linux系统出现了性能问题,一般我们可以通过top.iostat.free.vmsta ...

  4. Bootstrap 框架 栅格布局系统设计原理

    如果你是初次接触Bootstrap,你一定会为它的栅格布局感到敬佩.事实上,这个布局系统提供了一套响应式的布局解决方案. 既然这么好用,那他是如何用CSS来实现的呢? 我特意去Bootstrap官方下 ...

  5. Python杨辉三角算法

    #!/usr/bin/env python # -*- coding: utf-8 -*- def triangles(): n = 1 aboveList = [] while True: if n ...

  6. playframework文档未提及,但你能做的事

    这里记录一些play!框架的文档未提及,但是可以做的一些事playframe版本1.1 1.application.conf文件可以拆分可以把application.conf文件拆成多个,需要在app ...

  7. SHAREPOINT 工作流审批权限问题

    继续我们上次的工作流,我们发现所有人都有审批权限,这和我们正常的逻辑相反,正常应该是只有审批人才有权限,其它人只能查看,如下 这样解决,同样为SpecialPermissions 绑定到新成员 > ...

  8. arcgis python 更新顺序号

    i = 0def myFun(): global i i=i +1 return i myFun() ========================== accumulate(  ) total = ...

  9. 安卓开发_浅谈Android动画(二)

    在学习了四个基本动画之后,现在要学习一些更有用的效果 先给出所有的动画xml <?xml version="1.0" encoding="utf-8"?& ...

  10. Android-adb 常用命令 和 sqlite

    Android开发环境中,ADB是我们进行Android开发经常要用的调试工具,它的使用当然是我们Android开发者必须要掌握的. ADB概述 Android Debug Bridge,Androi ...