qemu-img 快照的一些总结

http://www.openext.org/2014/06/qemu-img-snapshot-re

http://blog.csdn.net/muge0913/article/details/33723911

1.向虚拟机磁盘里写入文件,虚拟磁盘会变大。当你删除该文件时候,虚拟磁盘大小依旧不变。

2.当你从一个原来的虚拟镜像,base过来一个虚拟镜像,在首次启动新虚拟镜像之前,删除原来虚拟镜像某个文件,在新的虚拟镜像中一样看不到。的机制的实现是和2红色地方有关系的。

4.qemu-img snapshot 实现的是内部快照

5.qemu-img backing_file实现的是外部快照

6.libvirt的快照实现是在qemu的基础上实现的

libvirt的外部快照实现可能使用了qemu的base,rebase,commit功能

libvirt创建非活动的内部快照是通过调用下面函数实现的,该函数说明libvit事实上调用了qemu-img snapshot功能。

/* The domain is expected to be locked and inactive. */

static int

qemuDomainSnapshotCreateInactiveInternal(virQEMUDriverPtr driver,

virDomainObjPtr vm,

virDomainSnapshotObjPtr snap)

{

return qemuDomainSnapshotForEachQcow2(driver, vm, snap, “-c”, false);

}

/* The domain is expected to be locked and inactive. */

static int

qemuDomainSnapshotRevertInactive(virQEMUDriverPtr driver,

virDomainObjPtr vm,

virDomainSnapshotObjPtr snap)

{

/* Try all disks, but report failure if we skipped any. */

int ret = qemuDomainSnapshotForEachQcow2(driver, vm, snap, “-a”, true);

return ret > 0 ? -1 : ret;

}

libvirt创建非活动的外部快照调用下面函数:

static int qemuDomainSnapshotCreateInactiveExternal(virQEMUDriverPtr driver,

virDomainObjPtr vm,

virDomainSnapshotObjPtr snap,

bool reuse)

在该函数中你可以发现一下语句

/* creates cmd line args: qemu-img create -f qcow2 -o */

if (!(cmd = virCommandNewArgList(qemuImgPath,

“create”,

“-f”,

virStorageFileFormatTypeToString(snapdisk->format),

“-o”,

NULL)))

goto cleanup;

if (defdisk->format > 0) {

/* adds cmd line arg: backing_file=/path/to/backing/file,backing_fmd=format */

virCommandAddArgFormat(cmd, “backing_file=%s,backing_fmt=%s”,

defdisk->src,

virStorageFileFormatTypeToString(defdisk->format));

所以libvirt创建非活动外部快照是通过qemu-img create来实现的。

qemu-img 快照的一些总结的更多相关文章

  1. 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设备直接分 ...

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

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

  3. 使用virsh命令创建KVM虚拟机快照

    查看虚拟机所在主机和虚拟机名称:[root@node-1 ~]# nova show a88dcf5d-c8b2-46a5-af27-a176d8235c9d|grep hyper| OS-EXT-S ...

  4. 使用libvirtAPI打快照原理

    参考: https://blog.51cto.com/3646344/2096347 https://blog.51cto.com/3646344/2096351(磁盘外部快照) API接口: htt ...

  5. 关于Linux虚拟化技术KVM的科普 科普五(From 世民谈云计算)

    另一位大神写到KVM文章,KVM 介绍(1):简介及安装.KVM 介绍(2):CPU 和内存虚拟化.KVM 介绍(3):I/O 全虚拟化和准虚拟化 [KVM I/O QEMU Full-Virtual ...

  6. KVM&Libvirt基本概念及开发杂谈

    导读 大家好,本次肖力分享的主题是KVM&Libvirt基本概念及开发杂谈,内容有些凌乱松散,主要基于自己早期整理的笔记内容和实践感悟,有些内容难免有失偏颇,望见谅.前面先介绍下需要了解的基本 ...

  7. kvm详细介绍

    KVM详解,太详细太深入了,经典 2016-07-18 19:56:38 分类: 虚拟化 原文地址:KVM详解,太详细太深入了,经典 作者:zzjlzx KVM 介绍(1):简介及安装 http:// ...

  8. linux中kvm的安装及快照管理

    一.kvm的安装及状态查看 1.安装软件 yum -y install kvm virt-manager libvirt2.启动libvirtd 报错,升级device-mapper-libs yum ...

  9. KVM 介绍(8):使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机 [Nova Libvirt QEMU/KVM Live Migration]

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

  10. KVM 介绍(6):Nova 通过 libvirt 管理 QEMU/KVM 虚机 [Nova Libvirt QEMU/KVM Domain]

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

随机推荐

  1. Ecstore内置表单验证?

       

  2. 日期 bootsrtap-datatimepicker and bootstrap-datepicker 控件支持中文

    引用 bootsrtap-datatimepicker and bootstrap-datepicker 控件,发现官方控件不支持中文 1,bootstrap-datepicker - >解决方 ...

  3. 用C#实现的条形码和二维码编码解码器

    本文主要介绍可以在C#中使用的1D/2D编码解码器.条形码的应用已经非常普遍,几乎所有超市里面的商品上面都印有条形码:二维码也开始应用到很多场合,如火车票有二维码识别.网易的首页有二维码图标,用户只需 ...

  4. PHP MySQLi

    PHP MySQLi 简介 PHP MySQLi = PHP MySQL Improved! MySQLi 函数允许您访问 MySQL 数据库服务器. 注释:MySQLi 扩展被设计用于 MySQL ...

  5. mssql 查询全部用户创建表 条数及占用空间大小(KB)

    select b.name as tablename , --表名a.rowcnt as datacount,   --条数rtrim(8*a.dpages) as size  --占用空间单位KBf ...

  6. 学习OpenSeadragon之二 (界面缩放与平移规则设置)

    OpenSeadragon入门了解请看第一篇:http://www.cnblogs.com/yingjiehit/p/4362377.html OpenSeadragon给我们提供了很多的可选界面元素 ...

  7. flowplayer+flashhls使用过程中发现的一些小问题

    flashls里边有好几套代码,主要看生成路径,其中flowplayer用了flashls.swc,flashls.swc使用的代码在这里:/src/org/mangui/hls,所以要注意,当搜索代 ...

  8. CentOS 7 之几个新特性(转)

    上篇我们讲到默认没有ifconfig是centos7的新特性,所以我特意上网搜索了一下其新特性,找到一篇文章,现转过来. centos最小好化安装没有ifconfig命令 刚安装了centos7.0, ...

  9. 图片输出onerror事件

    <img src=".<?php echo $img[0];?>" onerror="this.src='img/zanwu.jpg'" st ...

  10. 信息安全实验三:privilege-separation

    title: privilege-separation date: 2016-01-12 14:40:04 categories: tags: --- Exercise1 In order to ga ...