现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

胡茂华:彻底掌握存储和备份区别

2016-03-18 10:58 工业·编程 ⁄ 共 5396字 ⁄ 字号 暂无评论

一直以来,存储和备份是两个相近的概念,但是又有很大区别的。如果不是专业的技术专家,是比较难搞清楚这两者之间区别,特别是云的出现,这两个概念往往容易混在一起看。本文从几个方面快速对比下存储和备份这两个概念的区别和发展,以及演变趋势。

1. 备份是不能独立数据容器存在,永远构建于存储之上

存储是数据保存容器的统称,比如软盘,光盘,磁盘,磁盘阵列,中小规模业务用的NAS,专业的磁带库,专业的光纤存储网络SAN。存储容量从几MB,到上100TB,甚至P级。最近几年出现新的一种方案,云存储,其本身也分为个人用途和企业用途的。个人数据存储用途比如百度网盘, 360网盘,DropBox等,通称保存个人的一些资图片,文档等;企业用途的如AWS的S3, 阿里云的OSS,以及七牛云存储,又拍云,金山云的云存储等,通常用于关键业务系统,比如用户产生的文档,图片,视频等数据存储。云存储有个好处是可以动态扩展存储空间,平台提供商由于采用低成本硬盘等方案,采用分布式技术,把本身廉价的硬盘聚集起来,构建成1个具备较高可靠性的存储方案; 一些大平台,当具备规模效应后,平摊到用户,TCO成本会低不少,这是传统存储方案比较软肋的一个地方。

备份是一种数据保护的机制和方案,其实现必须依赖于具体的存储容器。目前在备份这块的市场有非常多的品牌,如Symantec 的NBU ,CommVault的备份产品,IBM的TSM,EMC的NetWorker,还有专注混合云数据备份保护服务的多备份。备份通常用于保护业务系统产生的核心数据或个人重要的数据。一般的备份系统,通常会与硬件存储设备搭配组合成备份方案。多备份目前是构建在阿里云存储,AWS的S3,七牛,以及金山云,百度云等云存储之上,所有备份的数据会存储在这些大存储平台上。

2. 存储通常解决地理空间的访问问题;而备份解决地理空间上的冗余保存问题

我们工作用的WORD软件,如果没有数据存储介质,编辑产生的文档无法保存,配上IDE或SATA硬盘后,应用软件产生的数据可以很快保存在硬盘上。这是一个简单的硬盘存储支持软件工作的例子。一旦本地硬盘如果坏掉,努力工作一周的成功,可能得重新再来。

通常的重要业务系统架构设计的时候,会充分考虑存储方案的构成,什么样的业务系统,在几个位置,数据如何分布,需要的容量,扩展需求等进行规划设计,重点解决业务系统不断增长的数据存储问题。一般会就近业务应用服务器来部署存储架构。不管是云存储,还是传统的存储架构,都有1个目标,让业务系统,在不同的位置和存储在空间上的访问是稳定连续进行的。

数据在一个地方始终是不可靠,机房断电,线路故障,硬件故障,火灾等,特别对于重要业务系统,如支付系统,一旦业务系统为了保持业务连续访问,考虑到了多个地点的数据镜像,就有一点备份的味道。云存储目前在空间数据冗余保存方面,一般也有做数据垮地区的冗余保存,防止灾难的发生。

备份在此基础上,进一步封装逻辑,对数据在不同的地方,可以订制不同的复制策略。较重要的数据,通常可以在1个地方进行冗余,比如用户产生的日志,图片等可以冗余1份;对于更关键的数据,如用户注册数据,数据存储索引数据,交易数据,金融系统相关数据等,必要时得多地冗余。云存储的出现,使得基于云的备份方案,实现起来更加容易,轻易按需构建不同的地理位置的通道,只要你愿意,数据备份到全球几十个地区的云存储中心都可以。这一切可以用最简单的手动复制方案,也可以用自动管理的方案,比如多备份等。

3. 存储通常解决连续数据读写,保存问题 ;备份解决时间版本冻结和回溯问题

保存1个word文档,上传完一部电影,修改一个帖子,发送1条微信消息,这些要么被顺序写入硬盘,要么被写入专业的数据库或文件系统。这是存储典型的一个应用场景,就是不断响应从业务或软件发送的数据保存需求,文档,电影,帖子最后只会有最新的一个状态,历史的状态一直被最新的状态覆盖。

既然有新增,那就也有删除,也有修改,所以存储并不识别上层软件的意图,可能是正常,也可能是恶意入侵,或误操作,新增和删除同样在底层会进行操作。部分存储设计,带有一定的备份恢复能力,当然要想使用备份恢复能力,可能比部署一套备份方案,来的成本会更大。我们都知道恢复一个硬盘的数据,通常得数上千块,硬盘不值钱,但里面的数据值钱。

解决新增,删除,修改等有意无意的行为对数据存储系统带来的影响,这时候得专业功能-备份上场。备份系统最主要考虑的一个功能就是时间线版本冻结和回溯。每次对存储系统的备份,都会形成1个当前备份时刻的数据镜像版本,恢复的时候就可以直接选择对应的版本恢复,数据就回到从前那一时刻状态。当然不同的产品实现备份方案不一样,对于基于混合云架构的多备份来说,版本理论上可以一直保持下来,想怎么恢复,就怎么恢复。另外,不同的实现,镜像的一致性结果不尽相同。对于一致性要求高的场景,版本可能会冻结写请求,如数据库备份直接加写锁,这时候对业务会有短时间影响;如果你说自己是土豪出得起价,需要对业务系统几乎无干扰,几十上百万无所谓,则可以购买比较牛的连续数据保护方案(CDP),如国外的飞康CDP。

4. 存储通常面向硬件故障为安全设计目标;备份解决软硬件故障在内的多种因素引起的数据安全问题

在我们日常概念中,存储就等于安全,特别是云计算概念出现后,包括周边的一些技术高手也有类似看法,实际上这是一个误区。

从最常用的机械硬盘开始,通常围绕温度,读写寿命,抗冲击力等设计,一些硬盘在读写超过几百TB后,就开始工作不正常,SSD硬盘在环境温度变化,可能也会引起数据有效性变化。随着存储安全技术的加强,出现了冗余整理的技术,把多块硬盘进行聚合,数据写入多块硬盘;提高了单块硬盘的可靠性。进入到NAS,SAN等专用存储解决方案后,通过冗余阵列,通道冗余,快照镜像等技术,进一步提高了存储容量和整个读写环节的可靠性。但这些都是围绕硬件故障或存储区域故障进行设计。云存储,包括对象存储和弹性块存储,核心设计目标依然是数据在硬件或存储节点或区域系统出问题时候,有能力从其它节点恢复。

备份系统一个重要设计思想就是围绕恢复设计。备份把数据从1个节点,一个系统复制到另外一个节点,一个系统,规避了硬件、软件在同一时期发生问题的可能性;备份系统通常会在数据存储这里增加高级别的冗余配置,或冗余复制,或低成本的算术冗余数据分布。备份系统通过时间版本化,空间冗余分布进一步规避了因为各种有意,无意的数据读写动作,包括人为操作,系统故障,软件缺陷,黑客入侵,病毒,自然灾难等,引起的数据丢失,新增,修改等问题。一些设计得比较好的方案,会轻松还原数据。即时在备份系统软件出现问题,也能把数据通过一定的流程还原回去。多备份在业务系统出现问题后,甚至可以在选定数据库表或某1个文件独立恢复;如果数据采用混合云模式,数据再TB级别,也可以在极其短暂的情况下恢复到业务系统中。

5. 存储通常关注访问性能指标设计;备份重点关注一次备份和恢复的时间开销

电脑从IDE硬盘,升级到SSD硬盘,操作系统启动速度,软件运行的速度明显不一样。业务系统从普通的硬盘存储,过度到专业级SAN全光纤存储,甚至对数据进行上几百GB的全内存加速,目的就是为了提高数据读写的速度,提升终端用户的体验。所以,存储系统通常会围绕IOPS指标来选型,场景不一样IOPS的选择也不一样。当然价格也不一样。云存储涉及到的弹性块存储,以及对象存储都有同样的考量指标 ,目标笔者了解到的是,弹性块存储通常在几十MB左右,而结合SSD方案的,则可以到上百MB。云存储为了提高读的能力,通常结合了CDN技术。部分厂家还提供了上传加速,比如七牛。

备份系统,非常关注一次备份和恢复的时间窗口,主要原因在于大部分备份系统是构建在生产主系统之上。通常备份越快,对业务系统的影响越小。业务系统的场景非常复杂,有的是文件大,如视频,图片,系统压缩文件,如多备份不少客户是数据库压缩后的文件进行备份,但单个文件得几百GB ;有的客户是海量的文件,如邮件系统,规模上TB级,数量也在亿级别。如何在最短之内把数据备份完成,通常是一个比较辣手的问题。在这块包括先压缩后备份,先归档再备份,或者直接快照后再备份等各种方案都有。基本上总结起来就包括文件系统级的,IO块级别的,或者快照级别的备份。文件系统级实施简单,价格低,性能受限文件系统IO能力;IO块级别实施复杂,价格贵,通常需要变化存储架构;快照级别可能对存储架构会有调整,适合规模小一点的。传统主流大厂的方案一般都会有以上几个组合。多备份目前聚焦在文件系统对象级,IO块和快照方案作为辅组;结合变扫描边备份,实时发现,智能压缩,自适应CPU硬件加密等方案,尽可能减低处理时间。依赖备份方案,恢复的机制相应也不一样,恢复速度也不一样; 对于纯粹的备份来说,按照备份对象序列差异式的恢复变化的内容,依然是一个可靠与速度平衡的解决思路,且在目标系统可用的情况下,是非常合适的一个方案。如果对于做了异地备份的情况,灾难式的恢复通常会受限于网络通道。

6. 存储通常以数据规模变”大”为美,而备份通常以最大程度把数据变“小”为美

这里的变大,是指存储解决的问题是如何存储超大规模的数据。在我们日常话题中,通常沟通交流的是谁家的硬盘支持1TB,2TB,4TB等,业务系统支持多少用户规模,产生了多少TB数据,数据库存储规模如何等, 衡量一个存储系统设计的是否好,就是在大规模数据下,系统反应良好,用户感觉流畅。而支持这一目标,通常会说存储服务器支持的硬盘块数,单块硬盘的容量,当然IO通道能力也是配套指标。

为了支持足够的大,配上专门的存储交换机,快速把大容量存储阵列映射到不同的服务器上;而数据集中存储在SAN网络中,有的高达几百TB甚至PB级别。即使这样,支持压缩的特性也能派上用场,特别巨大的数据量,对存储的数据默认进行压缩或去重,降低数据占用空间。云存储的出现,更是把容量推向了几乎无限;单个云平台或者准确受限于存储机房区域的容量和区域的数量。由于动态扩容特性,当存储网络不够时,在IDC空间足够的情况下,可以不断增加节点完成存储节点的增加。

通常当数据足够大,数据足够久的时候,数据就需要归档备份起来。而备份就是解决如何保持完整的数据同时,能更好的减低存储开销。所以,一般来说,由于备份会采取在原端去重,或存储端全局去重等技术,保持最小的备份空间。同时包括压缩等方案,也会自动在备份流程中引入。在传统的实施方案中,由于要定期作全量,数据会变得很大,所以一般保留3个月,或半年,或按年做次全量等策略 ; 在快照模型下,由于产生的数据规模比较大,通常云主机对云磁盘采取的快照备份一般也保持几个快照。传统备份产品也有全增量策略,只是结合硬件存储方案,使用和管理成本依然还是比较高; 多备份采取的全增量策略,优势主要集中在混合云索引增量模型,数据保持最小增长规模可靠存储的同时,还可以保持更简单的快速恢复体验,大规模数据备份非常省空间。

存储和备份的差异总结

存储主要重点解决原始产生数据的正常存放和读取问题,包括媒介,以及存放读取方法,

比如数据通过文件系统或专门的访问接口保存在U盘,硬盘,光盘,磁盘阵列,NAS,SAN存储网络,云存储等。一般个人存储和企业存储在读写性能,安全,可靠性,可管理性,服务质量承诺等方面存在本质区别。正如硬盘,网盘永远是解决个人照片,非敏感资料等存储需求,而SAN,NAS,企业级云存储服务则是企业重要资料存取方案。性能,容量,规避单节点,单区域依然是最求的最大设计目标,备份依然不是其重点解决点; 进一步,基于云存储的模型,产生了用于保存相对冷数据的服务,包括Google,AWS,还有阿里云的归档服务。这为历史累计不常用的数据归档备份打下了基础,但普通个人或企业也难于直接使用。

备份则通过定期或实时复制技术,应对各类人为,软件故障,系统故障,自然灾难引起的数据丢失,损坏,出错等问题

U盘备份,硬盘备份,磁带备份,光盘备份,本地备份,异地备份,云备份,本地与云结合的混合云模式备份等类型,以及CDP 实时备份保护等。手动复制到U盘,硬盘构成一个最简单的备份方案。但涉及到大规模数据,保护服务或系统数量增加,以及资料的敏感控制,生产系统资源占用控制管理等需求,只要用专业的保护方案才能解决。

最新的系统与数据备份保护趋势将逐步超出备份范畴,智能化数据管理,数据保护虚拟化,以及和各种云环境的融合,与数据安全的融合将是重要的发展方向 ;备份即是立即可用的服务,备份即是保护服务,备份即是数据虚拟化,备份即是数据服务,备份即是数据迁移服务等是重要的数据管理和数据应用发展方向。目前巨头和多备份等一些创新类企业等已经在加快迈向这个趋势。

作者简介:

胡茂华:多备份联合创始人& CEO ,曾就职于腾讯、盛大(旅游)、1号店,历任总监、CTO、技术副总裁;曾全面负责过腾讯网运维平台建设、门户产品的研发及管理,有丰富的海量服务系统建设、运维经验以及产品管理经验,曾任2008北京奥运会腾讯技术保障团队副组长;在盛大集团全资子公司盛大旅游公司全面负责其技术团队组建以及旅游社区游玩网和LBS产品切客的研发管理工作;在1号店负责电商核心系统ERP的研发管理和公司运维部的管理工作。

给我留言

留言无头像?