zoukankan      html  css  js  c++  java
  • 烂泥:KVM快照的创建与恢复

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

    因为要做有关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命令前后做快照。

    clip_image001[4]

    clip_image002[4]

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

    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

    删除快照

    clip_image003[4]

    clip_image004[4]

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

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

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

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

    clip_image005[4]

    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详细信息

    clip_image006[4]

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

    clip_image007[4]

    snapshot-create-as centos centos_install_ftp

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

    clip_image008[4]

    以上我们把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服务是否运行

    clip_image009[4]

    destroy centos强制关闭虚拟机centos

    clip_image010[4]

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

    snapshot-revert centos centos_uninstall_ftp

    clip_image011[4]

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

    clip_image012[4]

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

    snapshot-delete centos centos_uninstall_ftp

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

  • 相关阅读:
    Delete 语句带有子查询的sql优化
    标量子查询SQL改写
    自定义函数导致的sql性能问题
    Oracle 11G RAC For ASM 利用RMAN COPY进行存储迁移
    WPF 如何控制右键菜单ContextMenu的弹出
    将字符串以用二进制流的形式读入XML文件
    WPF 将数据源绑定到TreeView控件出现界面卡死的情况
    WPF如何实现TreeView节点重命名
    Azure一个Cloud Service支持多个公网地址
    Azure上部署Barracuda WAF集群 --- 2
  • 原文地址:https://www.cnblogs.com/ilanni/p/3890520.html
Copyright © 2011-2022 走看看