一、定义:

  SNIA(存储网络行业协会)对快照(Snapshot)的定义是:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。快照有三种基本形式:基于文件系统式的、基于子系统式的和基于卷管理器/虚拟化式的,而且这三种形式差别很大。市场上已经出现了能够自动生成这些快照的实用工具,比如有代表性的有NetApp的存储设备基于文件系统实现,高中低端设备使用共同的操作系统,都能够实现快照应用;HP的EVA、HDS通用存储平台以及EMC的高端阵列则实现了子系统式快照;而Veritas则通过卷管理器实现快照。

  快照的作用主要是能够进行在线数据恢复,当存储设备发生应用故障或者文件损坏时可以进行及时数据恢复,将数据恢复成快照产生时间点的状态。快照的另一个作用是为存储用户提供了另外一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照数据,还可以利用快照进行测试等工作。  

二、快照类型:

  目前有两大类存储快照,一种叫做即写即拷(copy-on-write)快照【别名:写时拷贝】,另一种叫做分割镜像快照;

  即写即拷快照可以在每次输入新数据或已有数据被更新时生成对存储数据改动的快照。这样做可以在发生硬盘写错误、文件损坏或程序故障时迅速地恢复数据。但是,如果需要对网络或存储媒介上的所有数据进行完全的存档或恢复时,所有以前的快照都必须可供使用。
  即写即拷快照是表现数据外观特征的“照片”。这种方式通常也被称为“元数据”拷贝,即所有的数据并没有被真正拷贝到另一个位置,只是指示数据实际所处位置的指针被拷贝。在使用这项技术的情况下,当已经有了快照时,如果有人试图改写原始的LUN上的数据,快照软件将首先将原始的数据块拷贝到一个新位置(专用于复制操作的存储资源池),然后再进行写操作。以后当你引用原始数据时,快照软件将指针映射到新位置,或者当你引用快照时将指针映射到老位置。     

  分割镜像快照引用镜像硬盘组上所有数据。每次应用运行时,都生成整个卷的快照,而不只是新数据或更新的数据。这种使离线访问数据成为可能,并且简化了恢复、复制或存档一块硬盘上的所有数据的过程。但是,这是个较慢的过程,而且每个快照需要占用更多的存储空间。  分割镜像快照也叫作原样复制,由于它是某一LUN或文件系统上的数据的物理拷贝,有的管理员称之为克隆、映像等。原样复制的过程可以由主机(Windows上的MirrorSet、Veritas的Mirror卷等)或在存储级上用硬件完成(Clone、BCV、ShadowImage等)。

  具体使用快照时,存储管理员可以有三种形式,即冷快照拷贝、暖快照拷贝和热快照拷贝。     

    冷快照拷贝     进行冷快照拷贝是保证系统可以被完全恢复的最安全的方式。在进行任何大的配置变化或维护过程之前和之后,一般都需要进行冷拷贝,以保证完全的恢复原状(rollback)。冷拷贝还可以与克隆技术相结合复制整个服务器系统,以实现各种目的,如扩展、制作生产系统的复本供测试/开发之用以及向二层存储迁移。   

    暖快照拷贝   暖快照拷贝利用服务器的挂起功能。当执行挂起行动时,程序计数器被停止,所有的活动内存都被保存在引导硬盘所在的文件系统中的一个临时文件(.vmss文件)中,并且暂停服务器应用。在这个时间点上,复制整个服务器(包括内存内容文件和所有的LUN以及相关的活动文件系统)的快照拷贝。在这个拷贝中,机器和所有的数据将被冻结在完成挂起操作时的处理点上。   当快照操作完成时,服务器可以被重新启动,在挂起行动开始的点上恢复运行。应用程序和服务器过程将从同一时间点上恢复运行。从表面上看,就好像在快照活动期间按下了一个暂停键一样。对于服务器的网络客户机看来,就好像网络服务暂时中断了一下一样。对于适度加载的服务器来说,这段时间通常在30到120秒。     

    热快照拷贝     在这种状态下,发生的所有的写操作都立即应用在一个虚硬盘上,以保持文件系统的高度的一致性。服务器提供让持续的虚拟硬盘处于热备份模式的工具,以通过添加REDO日志文件在硬盘子系统层上复制快照拷贝。  一旦REDO日志被激活,复制包含服务器文件系统的LUN的快照是安全的。在快照操作完成后,可以发出另一个命令,这个命令将REDO日志处理提交给下面的虚拟硬盘文件。当提交活动完成时,所有的日志项都将被应用,REDO文件将被删除。在执行这个操作过程中,会出现处理速度的略微下降,不过所有的操作将继续执行。但是,在多数情况下,快照进程几乎是瞬间完成的,REDO的创建和提交之间的时间非常短。热快照操作过程从表面上看基本上察觉不到服务器速度下降。在最差情况下,它看起来就是网络拥塞或超载的CPU可能造成的一般服务器速度下降。在最好情况下,不会出现可察觉到的影响。   与镜像、复制的区别 在与广大存储管理员进行交流时,他们问到最多的一个问题是:快照与镜像以及复制的区别有哪些呢? 笔者认为镜像、快照和复制是三种不同的功能。   镜像是通过从一个I/O创建两个I/O来复制数据。磁盘镜像通过OS或卷管理软件在主系统上创建。磁盘镜像是依靠平台和本地连接特性的本地选件。镜像可用于DAS和SAN并且大多数NAS支持它。存储转发式镜像磁盘子系统(例如,EMC SRDF, IBM PPRC, Hitachi TrueCopy)主要用于SAN产品。     复制是通过网络传输数据对象(文件、表格等)。传输是从系统到系统进行的,而不是在存储设备之间或子系统之间进行。复制一般也针对具体平台,因此用于Windows 2000复制产品的运行方式与Unix平台存在很大不同。

快照(Snapshot)的更多相关文章

  1. LVM快照(snapshot)备份

    转载自:http://wenku.baidu.com/link?url=cbioiMKsfrxlzrJmoUMaztbrTelkE0FQ8F9qUHX7sa9va-BkkL4amvzCCAKg2hBv ...

  2. db2开启监控monitor 查看快照snapshot

    ths   https://blog.csdn.net/huaishu/article/details/9671771 #查看监控器 db2 get monitor switches #打开监控器db ...

  3. DataGuard快照(snapshot)数据库

    在Dataguard中,可以将standby备库切换为snapshot快照数据库,在切换为snapshot数据库后,备库将置于可读写的模式.可用于模拟业务功能测试.在使用完成之后,可以将快照数据库切换 ...

  4. db2 快照 SNAPSHOT

    打开和关闭快照缺省情况不打开 DB2 监控,必须在连接或实例级别上进行设置.有一系列监视器开关来决定是否监控某种数据元素.还预留了一个内存堆,用于包含为监控而存储的信息.1:在instance级别上设 ...

  5. 快照(Snapshot)技术发展综述

    快照(Snapshot)技术发展综述 刘爱贵 摘要:传统数据备份技术存在备份窗口.恢复时间目标RTO和恢复时间点RPO过长的问题,无法满足企业关键性业务的数据保护需求,因此产生了数据快照技术.本文对快 ...

  6. maven(15),快照与发布,RELEASE与SNAPSHOT

     发布RELEASE 用户A将代码打包发布到RELEASE仓库,具体操作参考上篇文章.用户B使用时,需要在pom.xml添加JAR包的依赖坐标.如果用户A将版本从1.0升级为2.0,用户B使用时也 ...

  7. Java-Maven-Runoob:Maven 快照(SNAPSHOT)

    ylbtech-Java-Maven-Runoob:Maven 快照(SNAPSHOT) 1.返回顶部 1. Maven 快照(SNAPSHOT) 一个大型的软件应用通常包含多个模块,并且通常的场景是 ...

  8. VirtualBox的快照功能

    VirtualBox是非常好用的一个虚拟机软件,无论是性能还是易用性不比商用的Vmware差.VirtualBox最初是Sun公司的产品,由于Sun被Oracle收购,现在也归Oracle了.除了虚拟 ...

  9. LVM快照备份与恢复

    简介   最近在做数据备份方面的工作,用到两个工具,一个是dd,而另一个是lvm的快照(snapshot).由于数据比较大,直接是用dd非常耗时,而lvm的快照可以在几秒内轻松搞定,而且可以达到实时的 ...

  10. KVM-克隆和快照管理

    kvm 虚拟机有两部分组成:img镜像文件和xml配置文件 /etc/libvirt/qemu #xml配置文件目录,存在虚拟机所有的详细信息 1.kvm虚拟机克隆 克隆命令 virt-clone - ...

随机推荐

  1. CentOS Linux 语言环境设置

    程序运行使用一套语言需要有字符集(数据)和字体(显示),Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境. 一.locale详解 在 Li ...

  2. 利用boost做string到wstring转换,以及字符集转换 - Error - C++博客

    利用boost做string到wstring转换,以及字符集转换 - Error - C++博客 利用boost做string到wstring转换,以及字符集转换 #include <boost ...

  3. GNU/Linux Distribution Timeline v12.10

    GNU/Linux Distribution Timeline v12.10 原图下载 GNULinux Distribution Timeline 12.10.png GNU/Linux Distr ...

  4. StarTeam SDK 13 下载安装

    SDK 13据称兼容 StarTeam 11. 下载地址是:ftp://us.ftp.microfocus.com/Starteam/st-sdk-13.0-readme.htm Java用户可以选在 ...

  5. #include <fstream>

    1 fstream 2 ifstream 3 ofstream 4 seekg 5 seekp 6 tellg 7 tellp 1 fstream 打开输入输出文件流 #include <ios ...

  6. 复习day12-23

    获取请求中的内容: request.getParameter(); get方式因为在地址栏所以需要转码: String name = new String(req.getparameter().get ...

  7. cocos2d-x for wp8 设置横竖屏

    在主project文件(xxx.cpp , xxx为你的项目名)中, 函数名为void xxx::SetWindow(CoreWindow^ window) 相关代码片例如以下: <pre na ...

  8. html5滑动手势

    <div id="divMove" style="height: 100px;"></div> <div id="sli ...

  9. 图片的像素和Android的dp值之间的关系。

    这是一个困扰我很就得问题.今天在我的反复摸索下,总结出了一些个规律. 以下测试以魅族mx5为例. 手机参数:5.5英寸:高:1920:宽1080. /** * 获得屏幕的宽度 * * @param c ...

  10. Java 基本日期类使用——格式化(二)

    Java日期格式化主要有以下几种方式:java.text.DateFormat以及其子类java.text.SimpleDateFormat; DateFormat 是日期/时间格式化子类的抽象类,它 ...