一、定义:

  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. 什么是Maven快照(SNAPSHOT)

    本文来说下Maven的SNAPSHOT版本有什么作用 文章目录 问题 解决 正式版本"abc-1.0" 快照版本"abc-1.0-SNAPSHOT" 本文小结 ...

  2. Linux 快照 (snapshot) 原理与实践(二) 快照功能实践

    文章目录 0. 概要 1. 准备演示数据 2. 创建 snapshot-origin 目标 3. 创建 snapshot 目标 4. 验证 COW 操作 4.1 第一次写数据 4.2 第二次写数据 5 ...

  3. Linux 快照 (snapshot) 原理与实践(一) 快照基本原理

    文章目录 0. 背景 1. 如何理解快照(snapshot)? 2. 快照 (snapshot) 的原理 2.1 全量快照 1. 克隆 (Clone) 2. 镜像分离 (Split Mirror) 2 ...

  4. Stream Processing:Apache Flink快照(snapshot)原理

    本文将要讲解的是Apache Flink分布式流处理的轻量异步的快照原理.网上已经有几篇相关的博文,而本文的不同之处在于,它不是论文的纯粹翻译(论文地址),而是用自己的语言结合自己的理解对其原理的阐述 ...

  5. linux快照软件哪个好,Linux下的快照snapshot的实现

    最近的移植工作碰到了关于快照的问题,windows在这方面真是强大,留给了用户很多好的接口.而Linux下只能针对LVM卷建立快照,还好有一个比较强大的lvm管理器.不过lvm管理需要你安装,而且很多 ...

  6. Hbase快照Snapshot 数据备份、恢复与迁移

    场景 hbase数据迁移时我们需要统计迁移时的数据量,以确保迁移后的数据的完成,但是如果hbase表数据持续增加的话,迁移时无法统计出准确的数据量,此时我们使用快照的方式进行数据迁移,以确保迁移的数量 ...

  7. collection中cell选中状态下分享图片的快照snapshot

    总结要点 注意: 1:shouldPerformSegue(withIdentifier:sender:) -> bool 方法控制segue的效能 2: let index = selecte ...

  8. 【Elasticsearch】es 快照 snapshot 操作实战

    文章目录 1.概述 1.1 备份到哪里 3.实践 3.1 获取仓库信息 3.2 创建一个仓库 3.3 获取指定仓库的信息 3.4 修改仓库属性 3.5 删除仓库 3.6 创建快照 3.6.1 增量快照 ...

  9. DTC及故障快照snapshot小记

    故障快照及DTC存储记录 DTC主要涉及到19 01根据掩码读取DTC个数,19 02根据掩码读取DTC故障码,19 04读取故障产生时的环境参数,如时间,电池电压,车速,发动机状态等等.根据快照号, ...

  10. Redis快照(Snapshot)特点

    特点 这种方式可以将某一时刻的所有数据都写入硬盘中,当然这也是redis的默认开启持久化方式,保存的文件是以.rdb形式结尾的文件因此这种方式也称之为RDB方式.

最新文章

  1. 如何以及为什么使用Android Visibility Listeners
  2. matlab 读取csv_利用Pytorch进行数据加载1--CSV文件的读取和显示
  3. PHP快速导入,php快速导入大量数据的实例方法
  4. 怎么修改ipv4服务器,如何修改ipv4 wins 服务器地址
  5. 从草根到百万年薪程序员的十年风雨之路,吊打面试官系列!
  6. 安装ipython(一分钟读懂)
  7. cdr多页面排版_比AI更好用的文字排版软件推荐!
  8. excel使用教程_【免费】人人入手的办公软件(excel,ppt,word)——安装包/教程/模板合集...
  9. 计算机附件中小工具使用方法,计算机系统工具的使用方法
  10. 这些免费版音视频格式转换器哪个最好用
  11. java digestutils.md5hex_linux下md5sum和DigestUtils.md5Hex的关系 博客分类: java
  12. 什么是支付通道,一篇文章了解支付通道理念
  13. 2021-12-15 股票模拟交易心得10
  14. 自动化早已不是那个自动化了,谈一谈自动化测试现状和自我感受……
  15. 该怎么学好软件工程这门课?
  16. TV服务器的安装维护和调试,广电机顶盒安装调试教程及系统设置密码
  17. 一个可以在线编写matlab的网站,你了解吗?
  18. Windows/Linux在Python下使用Metis
  19. 百度云生态分享日| 网络技术及应用主题沙龙圆满落幕
  20. 汽车美容会员管理软件用什么好-云上铺

热门文章

  1. 解决 meterpreter 使用shell后 shell内中文乱码的问题
  2. python异常处理与导入模块与导入包
  3. docker部署服务实现文件上传到本地问题解决
  4. VS2012打开项目 提示Asp.net4.0未在web服务器上注册的解决方案
  5. VirtualBox 4.3“不能为虚拟电脑 打开一个新任务”解决方案 - 转
  6. VMware中解决ubuntu不能连接网络问题。(亲测有效)
  7. 在JavaScript中从base64字符串创建Blob
  8. 远程源已存在于“ git push”到新存储库中
  9. 通过按Enter阻止用户提交表单
  10. 如何在Shell脚本中漂亮地打印JSON?