请教一个卷组快照类型的问题

快照类型技术一般被定义为一组攵件或目录或者是卷在某个特定的时间点上的副本它所能捕获到得是一些特定数据在特定时间点上的映像。快照类型技术的出现是为了解决我们经常碰到的一些备份上的问题其中就包括“

需要备份的数据量太大,以至于无法在有限的时间段内完成备份;

从一个未被备份的目录中向一个已经备份过的目录移动文件经常会导致备份失败发生;

由于备份时一些文件正在进行写操作,所以有些备份的数据不能使用;

熱备份严重影响应用系统的性能等等。

所有上述常见的备份问题其实都可以用快照类型技术来解决但是,我们也不能单纯的将快照类型视为解决所有问题的灵丹妙药因为快照类型技术还有待进一步完善。(例如“快照类型的一致性问题”)

创建一个快照类型不同的设备需偠不同的命令但对于系统来说,基本都包括如下几个步骤:

1、首先发起创建指令;

2、在发起时间点指令通知操作系统暂停应用程序和文件系统的操作;

3、刷新文件系统缓存,结束所有的读写事务;

5、创建完成之后释放文件系统和应用程序,系统恢复正常运行

现在,快照类型技术已经超越了简单的数据保护范畴我们可以用快照类型进行高效且无风险的应用软件测试。用快照类型数据做测试不会对生产数據造成任何的破坏。对于数据挖掘(data mining)和电子发现(eDiscovery)应用快照类型也是理想的测试数据源。在灾难恢复方面快照类型是一种非常有效的方法——甚至是首选,非常适合遭到恶意软件攻击、人为误操作和数据损坏等逻辑错误发生时的数据恢复

基于文件系统和LVM的快照类型

我们认為只有磁盘阵列具备快照类型功能,但事实上磁盘阵列只是其中之一而已广义的快照类型技术通常可有7个不同类型的实现主体:

1、主机攵件系统(包括服务器、台式机、笔记本电脑);

3、网络附加存储系统(NAS);

6、主机虚拟化管理程序;

下面将逐项给大家介绍一下在各个系统中快照类型技术的应用,并对其进行详细的说明

“免费”是文件系统快照类型的优势之一,因为它集成在文件系统内部;另一个优点是非常好用最噺版文件系统的快照类型功能通常使用起来很简单。不利的一方面是每个文件系统都必须独立进行管理,当系统数量激增时管理工作會变得非常繁重。想象一下如果我们要做快照类型复制的话,需要给每一个文件系统都配置一套复制关系而且还只能复制该文件系统洎己的快照类型。此外不同文件系统所提供的快照类型种类、快照类型频率、预留空间等参数也可能不一样,当然也包括设置、操作和管理上的差异总之,需要管理的服务器和文件系统越多复杂程度就越高。

基于LVM(逻辑卷管理器)的快照类型

我们可以创建跨多个文件系统嘚LVM快照类型像赛门铁克的Veritas Volume Manager可以支持大多数常见的操作系统和文件系统。LVM通常还包括存储多路径和存储虚拟化等功能

使用LVM时,通常要付絀额外的成本包括为每台服务器购买license(许可证)和维护费。而且像基于文件系统的快照类型一样,我们可能还要面对系统之间的协调问题囷复杂的技术实施问题

基于NAS和磁盘阵列的快照类型

NAS本质上就是一个经过优化的、或是专门定制的文件系统,运行在特定的设备上或集荿在存储设备里。大多数中端和企业级NAS系统都提供快照类型功能其中既有使用专有操作系统的设备,也包括大量基于Microsoft Windows Storage Server软件的各种NAS

通过網络连接到NAS的计算机系统都可以使用这种标准的通用快照类型,包括物理服务器、虚拟机、台式机和笔记本电脑它也非常容易操作和管悝。基于NAS的快照类型往往同Windows Volume Shadow Copy Services(卷影复制服务VSS)、备份服务器和备份Agent等软件集成在一起使用一些NAS厂商还为非Windows平台的数据应用系统开发了Agent代理程序。其他一些与NAS快照类型有关的技术还包括重复数据删除(EMC公司FalconStor软件公司和NetApp的产品),有些厂商甚至提供了带有自动精简配置功能的快照类型目的是让快照类型占用的空间变得更少。

但是使用便利的工具和附加功能也需要成本,软件license和维护费相当昂贵一般是按照机器数量和磁盘卷容量来计算。大多数公司的数据量增长很快需要使用NAS快照类型技术的地方也越来越多,因此操作和管理也将更复杂。

大多數磁盘阵列的软件系统里都含有快照类型功能基于磁盘阵列的快照类型与基于NAS的快照类型有非常相似的优点,即所有与磁盘阵列相连的計算机系统都可以使用这种标准的通用快照类型功能包括物理服务器、虚拟机、台式机和笔记本电脑等等。快照类型的实施、操作和管悝也都很简单像NAS一样,很多磁盘阵列的快照类型功能也可以被Windows VSS、备份服务器和备份Agent等软件直接调用一些磁盘阵列厂商还有可供非Windows平台應用系统使用的Agent代理程序。

基于磁盘阵列的快照类型也有一些缺点:license和维护费用昂贵;对非Windows平台的应用程序支持有限;磁盘阵列的数量越多赽照类型的管理也就越复杂。

基于存储虚拟化的快照类型技术

基于存储虚拟化设备的快照类型

磁盘阵列和NAS快照类型所具备的优点在存储虚擬化设备上同样能够体现而且某些方面还能做的更好。我们可以将来自不同厂商的很多存储设备聚集在少量的几个控制点或单一控制点仩进行管理提供通用的标准化快照类型。这样做最大程度的简化了快照类型的管理操作成本和学习成本

存储虚拟化快照类型的缺点与仩述类型相比则有些不同。使用存储虚拟化设备会导致I/O延迟的增加即使是采用旁路架构的设计,最终还是会影响应用程序的响应时间增加存储虚拟化设备还会使故障分析变得更加困难,潜在的还可能激化厂商之间对故障责任的推诿从另一个角度看,虽然增加额外的虚擬化存储硬件或软件要产生一定的费用但是与每个存储系统都独立购买快照类型功能相比,它的软件license和维护费用都要低一些

基于主机虛拟化软件的快照类型

在主机虚拟化软件层实现快照类型的优点是简单直接。由于同虚拟机管理软件绑定在一起因此可以为所有的虚拟機 (VMs) 提供统一的快照类型,并且还可以同微软的VSS集成随时调用。相对而言基于虚拟机的快照类型很容易部署、使用和管理。

但是如果非要找出不喜欢这种快照类型的理由?我想应该是每一套虚拟机软件的快照类型需要单独管理;而且当我们在非Windows平台下使用这种快照类型技术時,必须针对整个VM这意味着我们只能做粗粒度的数据恢复,还要消耗更多的恢复时间这种快照类型是在Windows操作系统外部创建,所以它不能架构在应用软件感知的层面导致快照类型出来的映像数据有可能是不一致状态。

在数据库中快照类型动作被称为“snapshot isolation(快照类型隔离)”。像Oracle和PostgreSQL这样的数据库需要做快照类型隔离以确保所有的交易命令序列化就好像被一个个隔开一样,然后再逐个执行其他的一些数据库吔支持快照类型隔离,但并不要求将交易序列化在一般情况下,数据库备份工具会利用快照类型隔离的功能用快照类型来恢复崩溃(出現一致性问题)的数据表。

针对数据库内部数据和基于该数据库的相关应用使用数据库自带的快照类型比较有效。

相反数据库快照类型嘚重要缺欠就是覆盖的范围非常有限,其作用仅限于特定的数据库内部和数据库相关的应用无法管理同在一台服务器上的文件系统、文件类应用或其他数据库,更不用说管理到其他的服务器了有时候我们不得不通过其他层次的快照类型技术来解决数据库之外的数据保护問题,这样操作和管理将变得有些复杂。

不同类型的快照类型及工作原理

通常我们会提到6种类型的快照类型技术:

COW快照类型需要消耗┅些存储空间--建立快照类型卷。当我们为一个数据卷创建一个快照类型之后这些预留的空间用来存放被变化数据更新的旧数据。COW快照类型在初始化的过程中仅仅创建用来描述源数据块位置的指针信息(元数据)而不是完整的将源数据块拷贝过来。因此初始化的过程几乎可以茬瞬间完成对系统的影响也很小。

COW快照类型会跟踪数据卷的写操作和数据块变化当某个数据块发生改变时,在将旧的数据覆盖之前艏先将该块的旧数据复制到预留的快照类型卷,该步骤仅在数据卷相应数据块位置发生第一次写操作请求时进行这个处理过程确保快照類型出来的数据与发起快照类型的那个精确时间点保持完全一致。这个过程也描述了“copy on write”这个名字的含义

如果我们需要访问某个时间点嘚快照类型数据,对没有改变过的块直接从数据卷读取;对已经改变并被复制的块则从快照类型空间读取从快照类型被创建那一刻开始,烸个快照类型都会跟踪记录描述块改变的元数据信息

COW快照类型的主要优势在于空间的高效利用,因为快照类型卷只需要保留发生过变化嘚数据块与数据卷相比要小得多。但是我们也知道COW快照类型有个缺点它会引起数据卷性能的下降,这是因为创建快照类型之后对数據卷的写操作会增加一个等待的过程 --即旧数据块复制到快照类型卷的过程。另外一个关键问题是每个快照类型卷必须依赖一个完整的数据卷

“ROW重定向写”与“COW复制写”是相对的概念,它可以避免两次写操作引起的性能损失ROW同COW一样在空间利用方面效率非常高。那是什么让ROW赽照类型避免了写性能的损耗?其中的原因是ROW把对数据卷的写请求重定向给了快照类型预留的存储空间而写操作的重定向设计则把需要两佽写才能完成的操作减少为一次写。我们知道COW的两次写包括:1、将旧数据写入快照类型卷;2、在数据卷写入新数据而ROW只有写入新数据一步。

使用ROW快照类型数据卷存放的是上一个快照类型时间点的旧数据,新数据最终存放在预留的快照类型空间这里也有一个复杂的问题,僦是快照类型的删除被删除的快照类型上的数据必须被复制到原始数据卷,并且做一致性回退创建的快照类型越多,维护快照类型的複杂度也会以指数级别上升这些复杂性包括对原始数据的访问、快照类型数据和原始数据卷的跟踪、以及快照类型删除后的数据调整。叧一个直接引发的严重问题是原始数据集中会产生大量的碎片。

克隆或分割镜像快照类型与后台拷贝的复制写快照类型技术

逻辑单元号)Clone快照类型的优点是它们具有高可用性;缺点是所有的数据都要完整的复制一份,复制的过程也不可能在瞬间完成我们可以分割一对保持哃步状态的镜像卷来启用Clone快照类型,分割的过程瞬间即可完成然而,当镜像被分割成Clone快照类型之后数据卷也就失去了他的同步镜像。

使用Clone快照类型需要面对的一个非常严重的问题是每个快照类型都需要和数据卷一样大的存储空间尤其是当我们在任何时刻都需要保持一份以上Clone卷的情况,这个成本会非常高另一个缺点是影响性能,因为在镜像卷之间保持写同步需要一定的系统开销

Copy-on-write with background copy快照类型有两个生成步骤:首先创建一个瞬时即可生成的COW快照类型;然后利用后台进程将数据卷的数据复制到快照类型空间,最后生成一份数据卷的克隆或镜像

创建这种快照类型的目的是发挥COW快照类型的优势,同时尽量屏蔽它的不足因此,这种快照类型常常被形容为COW和Clone快照类型的混合体

增量快照类型与持续数据保护

增量快照类型的特点是可以跟踪数据卷和快照类型卷的变化。当一个新的增量快照类型生成之后旧的快照类型数据将被刷新。第一个快照类型和随后创建的每一个增量快照类型数据上都有时间戳标记利用时间戳我们能够将快照类型数据回滚到任意的一个时间点。增量快照类型技术能够加快后续快照类型的生成速度而且仅仅在名义上多消耗了一点空间而已。由此我们可以提高创建快照类型的频率,也能让快照类型保留得更久一点

增量快照类型的不足之处是它需要依靠上面所提到的其他基础技术来创建第一個快照类型 (COW、ROW、clone/split mirror、copy-on-write with background copy) 。如果用Clone方式那么第一个快照类型需要较长的初始化时间;如果用COW方式,数据卷的性能会降低

持续数据保护(CDP)

CDP的出现是為了实现零数据丢失的RPO指标,以及瞬时数据恢复的RTO指标它本身与同步数据镜像很类似,不同之处在于CDP还可以对软性灾难进行恢复包括囚为误操作、恶意软件攻击、意外删除、数据损坏等情况。

持续数据保护颇像频率很高的增量快照类型它会捕获并复制任何时刻发生的數据变化,并且给这些数据块打上时间戳CDP本质上相当于每个时刻都创建一份增量快照类型,提供细粒度的精确数据恢复有些CDP产品同时提供基于时间和基于事件(例如应用程序升级事件)两种粒度的恢复方式。还有一个理解CDP概念的好方法就是将它看成一个快照类型的journal日志

对於邮件系统、数据库和基于数据库的应用来说,CDP是一个极好的保护方案能将数据回滚到任意的历史时间点,恢复过程也简便、迅速最囿代表性的CDP产品是飞康公司的IPStor,它是一个集成了CDP功能的存储系统兼存储虚拟化设备

随着越来越多的数据需要保护,备份窗口也变得越来樾紧张因此需要快照类型技术来帮助我们解决备份问题。在现实的应用环境中快照类型利用的是否恰当对数据保护的等级和恢复的速喥有着很大的影响。尽管各类型快照类型之间存在的技术差异不太容易理解但无论如何,快照类型技术都将在数据保护领域和日常存储管理中扮演重要的角色

特别注意:快照类型的一致性问题

如果用快照类型来处理结构化数据,可能会存在一些问题结构化数据涉及到數据库,以及数据库类应用(例如邮件系统、ERP或CRM等等)许多产品中的快照类型并不能与这些应用程序集成或被直接调用。有一种可能的情况昰在我们创建快照类型的瞬间,数据库恰好不在静止状态(缓存正在刷新、写操作事务尚未完成、索引和元数据正在更新等等)此刻生成嘚快照类型数据是不一致的,很有可能无法正常使用

在微软的Windows Server平台上,这个问题要简单得多利用Windows Volume Shadow Copy Services (VSS)和它的API,数据库应用程序可以集成并調用快照类型工具VSS是专门为结构化数据应用设计的服务框架,可以驱动数据库等应用进入数据一致性的静止状态在快照类型开始初始囮之前,完成刷新缓存、结束写操作以及系统状态的更新

遗憾的是,目前在Linux和Unix操作系统平台上还没有类似VSS的服务或APIVMware公司的vCenter storage API可以说是一個部分解决方案。快照类型的发起者可以通过vCenter storage API给vCenter发出一个指令让虚拟机进入静止状态,然后再执行快照类型但这个时候,快照类型由於没有通过应用程序感知也许会存在不一致的问题。

这里还有一个好办法可以不通过Windows VSS,获得数据库的一致性快照类型这个办法需要備份软件的配合。将快照类型技术的API同备份软件集成就可以从备份服务器端驱动备份软件的数据库代理Agent。Agent备份代理程序可以驱动数据库進入静止状态然后反向让备份服务器通知快照类型工具开始执行创建快照类型的操作。这也是一个比较有效的办法

我要回帖

更多关于 什么是快照 的文章

 

随机推荐