Jerry
作者Jerry2017-07-05 10:44
系统架构师, 某金融公司

不同业务场景下的备份系统设计与规划的核心思考

字数 5066阅读 4287评论 0赞 7

数据安全越发重要的今天,备份系统也逐渐被各界重视起来。俗话说万事开头难,一个中大型的备份系统初期建设亦是如此,它的建立受诸多因素的影响:主机、存储、网络、应用等。如何平衡各环境条件、规划备份初期架构成为了一个极具难度的挑战。虽然IT市场中有着不少大集成商,但多数备份系统架构的设计差强人意,这也是导致了不少IT运维人员碰到备份就头疼的原因。

  在本主题的探讨中,我们着重讨论了几个备份初期建设的议题:网络规划、存储IO平衡、备份存储选型、备份技术(重复数据删除)的研讨等。接下来我们针对如下议题逐个总结分析:

【核心议题1】备份系统作为数据安全的最后一根救命稻草,究竟应如何选择?

  在今天,主流的备份软件功能同质化,均能承担数据中心绝大部分数据备份工作。对于备份管理员,挑选一款适合自己使用习惯的备份软件尤为重要。在长期的备份系统设计与实施中,本人建议从三个方面考量:

  1,基于个人维护习惯。适合个人维护习惯的软件,能够最大程度的契合对该软件的学习和使用成本,简单点说就是——上手难度。

  2,基于方案需求。在第二点中,个人建议按照项目首要、次要、必要需求来定性挑选备份软件。再好的软件,无法解决当前问题那也白搭。备份系统相对复杂,且是一个成长型系统,在每个时期均有里程碑目标,只有一步一个脚印,系统才能健壮成长。因为涉及的方方面面多,在其建设初期需要收纳汇总各系统的情况和需求,最后集中考虑。作为备份系统的最终维护管理者,一定要明确当前的需求并分清层次,哪些是急需解决的,哪些是可以凑合的,哪些是不用着重考虑的。

  3,基于产品售后。对于产品售后的定位,就和备份系统一样,一辈子都可能用不上几次,但要有用的时候若是没有,也是麻烦。对于主流的备份软件售后服务口碑也是了然于心,哪家服务不错哪家服务欠佳,任君挑选。

  在此议题中,大家也分享了不少实战经验:挑选备份软件不能单纯依靠产品参数,不能听着吹得天花乱坠的性能就偏听偏信,一切均以实际效果为准…综合而言,是骡子是马,拉出来溜溜。火车不是靠推的,牛皮也不是靠吹的。

【核心议题2】备份架构体系里,如何考虑备份网络的设计,规避集中爆发的备份流量对业务系统的冲击?

【核心议题3】备份系统的设计过程中,如何平衡存储IO和备份性能?

  备份网络设计中,规避备份网络高负载和平衡存储IO和备份性能往往息息相关。在完整的备份系统中,若将一次备份作为参考对象,若源端生产存储IO跟不上,网络资源就会造成闲置;若源端生产存储IO足够,网络资源不足则备份性能大幅降低。

  在我们实际工作中,生产网络和备份网络隔离这点很多前辈已经提及,若是能在备份系统建立之初就进行隔离,那自然是最好,后续的压力也会少许多。但若是不能隔离或不能完全隔离呢?

  在实施过程中,遇到最多的情况可能就是备份初期建设无法完全与生产资源隔离,在这种场景下首先必须承认高负载的备份对生产系统会有影响,而且资源环境愈是不足,影响愈发明显。

  针对此种场景,首先考虑是都可以优化。先从控制备份数据链路入手,减少备份压力对生产的冲击,必要时可采用源端消重技术减少网络负载;
  
  其次,可以考虑备份需求的换位思考,以最小的备份方式换位思考来实现备份需求,如无法一次备份完成则可以拆分为几次备份来完成。

  最后还可以引入备份的特性功能,存储备份完全可以借助快照、块级备份和消重尽可能减轻网络压力。虽然效果并非立竿见影,但也不失为一种方式。

结合议题下众嘉宾分享,总结下备份系统在网络初期建设:

  首先从LAN网说起,若不能完全隔离,个人通常采用的做法就是流量集中化或本地化。

  所谓的集中化就是在每个网络段增设Proxy,让流量集中汇聚在一起,使得备份数据量的流向明晰,便于对于备份链路的控制,也为后期备份网络的分离打好基础。此类设计特别适合金融和运营商的生产系统,网络段泾渭分明,管理和维护都特别方便;

  备份流量本地化,即让备份流量从客户端自身经过交换机到备份介质,不再经过任何主机交互。对于网间交互多的业务系统特别适用,适时将各系统的备份流量错开。

  若是网络负载较高,推荐采用源端消重备份,虽然会占用一部分主机资源,但能够大幅减少网间压力。纵观主流的源端消重产品,对主机的性能影响CPU占用率基本徘徊在10%上下,内存占用不超过500M,基本也在接受范围内。

  对于SAN网络的备份,平衡措施就相对局限很多,针对于大数据量的SAN备份,推荐使用单独的HBA卡进行备份以减小对业务的影响。对于存储IO的压力,没有立竿见影的措施来改善,数据读写的模式极大限制了备份的方式。

  若存储IO较繁忙,在备份软件上配置基于存储快照的备份能稍缓解此种情况。最近几年,基于SAN的源端数据消重备份也逐渐趋于成熟,若是资源允许可以采用此种备份大幅提高备份效率。

【核心议题4】作为备份系统中的一大核心,重复数据删除是每个备份负责人必须重视的技术,你的选择是什么?

  重复数据删除技术,在当前备份系统数据量急剧增大的情景下越来越重要。从此前基于软件的重复数据删除技术,到后来居上的硬件重复数据删除技术,不得不说经过备份系统长期的检验,重复数据删除技术愈发成熟、稳定。在现今大型备份系统中,随着系统的逐渐成长,备份数据量日益增大。在一个备份周期内,备份网络承担数据负载的增长速度远比网络资源的增补程度迅速。因此,利用重复数据删除技术减少备份网络上传输的数据量这样“加量不加价”的解决方案越来越受到各方的青睐。

下面针对重复数据删除技术,作一个全面的解析:

1、在线?离线?

  在线消重,顾名思义是在备份时就进行消重,落盘到备份存储介质的数据都是经过消重处理的数据。离线消重,是指数据备份到备份存储后再进行消重。

  如果在线消重要保持一个高效性能,这就消耗备份系统以及宿主机一部分资源。在线消重技术发展初期,硬件与软件的契合度并不高,导致在线消重备份时需要消耗相当一部分宿主机资源、拉低备份性能。同时重复数据删除技术雏形期,主要以类HASH链表式的消重手段为主,链表式消重技术对主机计算资源与后端存储、备份介质都有一定要求,且HASH链表越长消重越慢。因此,重复数据删除技术在初期并不被人看好。

2、源端消重?目标端消重?

  源端消重,是指备份软件在客户端上获取到备份数据时就开始消重过程,在备份系统内传输的数据均是消重后的数据。源端消重技术由于需要在备份时进行消重,因而需要占用宿主机一部分资源来执行消重。

  目标端消重,是指备份软件已经备份到备份存储,在数据缓存到备份存储里或已存储到备份存储上再进行消重过程。目标端消重技术已在重复数据删除的发展历程上辉煌过一段时间,因为此技术不会消耗源端资源同时也不会降低备份性能,目标端消重性能完全依赖备份存储自身资源和效率。

3、基于类HASH链表式消重?基于CPU-内存式消重?

  类HASH链表式消重是重复数据删除技术发展史上的一大核心技术,即使在今天也占有一定市场。HASH链表式消重,实现方式是将数据切片,然后计算出每块数据片的HASH值之类能唯一标记该数据片的索引值,若在消重的唯一索引链表上命中,则消重。若没有命中则更新索引链表,将数据片经过处理后存储在备份介质上。熟悉了链表式消重的过程,可以很清楚的知道这种技术的弊端就是当索引表非常长后,消重效率会越来越低。

  基于CPU-内存式消重技术,核心代表就是DataDomain。在发展初期,CPU的性能和内存的大小处处受限,此这种技术的发展左右碰壁。但经过摩尔定律的驱使,现在的CPU和内存已经取得卓越的性能,基于CPU-内存式消重技术取得了相当不错的成绩。与类HASH链表式消重不同的是,该技术在消重前会将唯一索引链表直接加载进内存,消重时会直接将备份数据加载到内存,切片,计算每个数据片索引值,然后完成索引值对比、更新,最后处理数据、存储。几乎整个重复数据删除过程都在CPU和内存中完成,现在CPU和内存的处理效率远比数据在磁盘上流动的效率高。经过长时间的发展,基于CPU-内存的消重算法已经臻于完善,对CPU和内存的利用效率完全满足商业标准。现在此种技术已经升级,不仅仅可以基于LAN进行消重备份,而且能支持基于SAN的消重备份了。不得不说,基于CPU-内存式消重技术早已不是当年“吴下阿蒙”。

4、定长消重?可变长消重?

  影响重复数据删除效率的核心因素之一便是消重切片过程中的切片精度。显而易见,若是切片精度越高,那么数据片重复命中率越高,消重效率越好。若对于不同长度的数据片能够动态调整切片精度,适应每份备份数据的情况,那么消重效率更加高效。现在定长消重的精度范围主流水平约在6K或8K(min)、16K(max)左右,可变长消重的精度范围现已突破到4K(min)、16K(max)。

个人对重复数据删除技术的看法:

  个人非常支持重复数据删除技术。虽然存储介质的价格已经非常廉价,但若能在有限的存储介质上实现更高的存储效率,何乐而不为呢?其次重复数据删除技术最大的一个收益点是能降低备份大数据量时对各资源的消耗和依赖。巨量数据的备份不论对生产系统还是备份系统都是一个不小的冲击,况且随着系统的发展,备份系统越来越大,备份的数据越来越多,备份的计划与安排越来越受制于备份数据量的规模。重复数据删除技术提供了一个物美价廉的解决方案,更提高了整个系统的效率。

  也许在很多不太关注重复数据删除技术的工程师心中,重复数据还是那个效率低、成本高的空壳子,但实际上重复数据删除技术早已发展到了一个新的高度。

借个人实施经历中一个真实的案例,看看现如今的重复数据删除技术的性能:

  一台Windows虚拟机存储着490 GB(有效数据)非结构化文件(文件主要为word/Excel/PPT/PDF等),日变化量大约15 GB/DAY,虚拟机的配置为2 * 2.8 GHz CPU,8 GB内存,千兆网卡。部署了一套源端、在线、基于CPU-内存的重复数据删除备份(重复数据删除设备并非物理机而是虚拟机),所有配置均采用默认配置、不作定制优化。首次备份耗时35 min,消重效率87%,消重时CPU消耗上涨5%,内存占用小于200MB,网络负载约3 MB/S左右。第二次备份耗时19min,消重效率98%,CPU、内存消耗与首次备份差不多,但网络负载明显下降,偶尔占用1~2MB/S。

  综合而言,网络规划、存储IO平衡、备份存储选型这几个方面的考量也是备份初期建设首要的制约因素,尤以备份网络规划为甚。在中小型的备份架构中,建议将生产网络和备份网络分离,若不能分离则将备份链路尽可能明晰,避免备份系统成长后备份网络一团乱麻。在大型备份系统中,生产网络和备份网络不仅需要分离,而且需要考量和计算备份网络的性能是否能满足短期内备份需求,否则不久就需扩容。备份系统扩容、改造是一项高危工程,伴随着此项目往往需要停机、重启、增加物理硬件等。因此,备份系统初期建设的优劣直接决定了日后备份系统的可用性与易用性。对于备份存储的选形,主要备份存储可以虚拟磁带库为主,次要备份存储以物理磁带库为主,既满足备份介质离线要求,又能减少备份存储的维护工作量,同时也能降低了物理备份介质在整个备份系统中的制约。在多中心的备份架构中,备份复制与克隆建议选择具有窄带复制能力的备份设备进行任务。

  在服务器与存储技术高速发展的背后,备份系统也衍生出许多特性功能增强了系统的健壮性,块级备份与快照级别备份显著提高了备份各项性能,更强大的重复数据删除技术进一步优化了备份存储的存取、复制与容灾能力。值得一提的是,重复数据删除极大助力了备份性能的大幅攀升。基于CPU-内存的消重技术解决了备份网络中备份巨大数据量的传输问题,同时也提供了基于备份元数据的复制容灾能力,大幅降低了备份对网络的要求限制。然而备份系统仍面对许多挑战,如巨量非结构碎片文件的备份问题,高流数并行备份的性能问题以及备份服务器高可用与分布式部署问题等。

  备份系统的初期建设,是对设计者最直接也是最有难度的综合挑战,它要求设计者具有多方面能力,平衡并综合各方制约融合成一套性能优良、可扩展的高可用架构。这始终是一场持久的战斗,初期建设到优化,优化到升级改造,升级改造后又回到面临新备份组织架构再设计的起点。

  路漫漫其修远兮,吾将上下而求索。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

7

添加新评论0 条评论

Ctrl+Enter 发表

本文隶属于专栏

活动总结
活动总结是社区交流活动内容的总结及延伸,为大家提供了社区专家们丰富且高水平的理论知识、实践经验以及常见问题的最佳解决方法,非常值得大家收藏学习。