当前位置: 首页 > news >正文

影响存储快照使用率的六大因素

前面我们讲了NAS上的用户数据有可能遇到被病毒感染/加密破坏的情况,SAN块存储阵列也不例外。但如果用户配置了快照功能,找到数据被破坏时间点之前创建的快照即可迅速恢复,验证数据的完整性也不需要等待传统备份冗长的恢复过程。从另一个角度来讲,在需要进行各种逻辑层面数据恢复操做之前,手动打一个快照也可以快速“保护现场”。

 

不少人说快照好,而客观上看,定时备份应该还是应用最普遍的数据保护措施,尽管一些提供CDP(持续数据保护)产品宣传他们的RPO和RTO有多么短。

 

对于有些新型备份技术普及的不是太好,原因无外乎两大类:一个是成本;另一个是实际效果,包括部署复杂度、对应用性能影响、能否胜任长期历史数据保护等。

 

其实有些CDP、Near-CDP产品底层也是基于快照,特别是即时挂载恢复的功能。有时候我觉得,朴素而不花哨的技术反而适用性更强。快照的原理讲起来并不复杂,却不是每家都容易做得很好,因为据我们了解各厂商存储快照的使用率相差还是蛮大的,下面就来谈谈影响这一选择的六大因素。



640?wx_fmt=png

快照会不会影响生产存储的性能?


首先我承认有的存储快照会对性能产生明显的影响,一般认为ROW(写重定向)比(COFW)写时复制快照的开销要小。而同样属于ROW快照分类,大家支持的快照频率、数量等方面又有不小的差距。总的来说,影响效率的主要是元数据的管理,通常底层空间完全打散的块级虚拟化(即RAID 2.0类)阵列在这方面表现较好。


640?wx_fmt=1wx_fmt=1wx_fmt=1wx_fmt=1wx_f

上图引用资料有点早,如今最上面的Tier1存储分层往往使用高性能SSD,用RAID 1保证写入效率;Tier3使用大容量NL-SAS硬盘RAID 6比较多。在每种驱动器类型中还可以存在不同RAID类型之间的分层,这是Dell SC的一大特色。


以Dell SC系列来说,早在多年前就将快照(Replay)技术作为自动分层存储数据调度的触发机制。大家应该了解Compellent自动分层技术在业界的地位,用SSD来加速甚至在不同闪存类型的分层,可见其对自身快照技术的性能有足够的信心。


640?wx_fmt=png

快照占用宝贵的生产存储空间,成本上是否划算?


按照常规理解,用于生产业务数据的一级存储,其单位容量成本比用于备份、归档的二、三级存储要高。那么如果在一级存储上保留较多的历史快照数据,甚至用来部分替代备份,会不会划算呢?特别是现在许多备份存储产品还能支持重复数据删除技术。


640?wx_fmt=1wx_fmt=1wx_fmt=1wx_fmt=1wx_f


这时又要提到自动分层存储技术了,还是以Dell SC为例,其快照数据分为“冻结可访问”(仍被活动LUN引用)和“冻结不可访问”数据页面两个区域,可以采用预置或者手动定义的策略来选择它们的存放位置。后者即传统意义上的历史备份数据,通常会放在最底层的大容量廉价NL-SAS硬盘上,RAID 6保护。由于存储快照不像多次全备份之间的冗余数据量比例那么大,再加上压缩技术就能做到不错的TCO了。

 

对于大型一些的存储部署,如果对2U 12个3.5寸盘位的密度不够满意,还有5U 84盘位扩展柜可选(参考《存储极客 | 高密度盘柜难点:评戴尔SCv2080结构设计》),专门适合海量非结构化数据、备份/归档等。


640?wx_fmt=png

快照保护数据的周期有多长?



640?wx_fmt=1wx_fmt=1wx_fmt=1wx_fmt=1wx_f

上图引用自存储极客:多方位全面保护数据库


根据不同的产品定位,Dell SC系列存储支持的快照总数约在4000-32000个之间,一般对于RPO要求较高的用户,其快照间隔可能会设置在5分钟-1小时。按照每个LUN最多1000个快照来计算,5分钟频率最老的一份数据是3天多之前,而1小时则可以保护长达41天的数据。要知道还有许多用户在使用每天一次的快照策略。


640?wx_fmt=png

快照数据的一致性问题


在《GitLab事件思考:是否用的快照恢复?》一文中,我曾讨论过快照的一致性问题、性能问题、容量开销与应对这几个方面。就其中第一点还分为多个卷(LUN)之间的时间点一致性,以及快照数据的应用一致性两个方向,大多数企业级集中存储系统对此都有考虑。


640?wx_fmt=1wx_fmt=1wx_fmt=1wx_fmt=1wx_f上图引用自工程师笔记:SCv2000试用之RAID分层+快照


除了针对Oracle数据库的APM(Application Protection Manager)一致性代理之外,Dell SC ReplayManager对于VMware虚拟机以及微软环境也提供对应的插件/服务来支持。比如Window下的SQL Server、Exchange和Hyper-V等就是与VSS配合来生成一致性快照的。

 

多说一句,在存储写入压力大的环境,有了一致性代理也未必保证每个快照都能完美地打开数据库等应用。不过这个成功率还是比较高,并且即使没有一致性的快照也就相当于主机异常断电的数据状态,麻烦一些但还是有异常恢复的措施。


640?wx_fmt=png

快照可以替代备份用于容灾吗?


尽管企业级存储的可用性和数据可靠性已经相当高,但就像任何数据中心设备那样,面对机房故障、站点级灾难还是无能为力。存储上的快照副本对于前端主机可以做到很好的隔离,但数据毕竟还是位于同一个(或几个)机箱中,达不到异地容灾、高等级保护的要求。


640?wx_fmt=1wx_fmt=1wx_fmt=1wx_fmt=1wx_f


上图引用自《存储极客:大话“双十一”与经济适用型双活》一文,在支持Live Volume双活/同步复制的同时,Dell SC存储还可以将快照保护的数据,通过专线或者广域网异步远程复制到同城灾备机房,乃至数千公里之外的两地三中心部署。

 

这就像一种增量备份的效果,并且复制的两端可以按需保留不同的历史快照数量,定义不同的压缩开关等。值得一提的是,新兴分布式软件定义存储(ServerSAN)大多在原生复制等企业级功能上的支持还不完善。


640?wx_fmt=png

快照要不要买License,会增加存储软件成本吗?


640?wx_fmt=1wx_fmt=1wx_fmt=1wx_fmt=1wx_f


有些存储阵列的快照免费提供的数量很有限,要支持更多就得买License。而Dell SC的快照功能在大多数型号上全免费提供,用于容灾的远程异步复制功能收费但价格不高。

 

最后,希望读者朋友们也能够用好快照,在存储端提高数据保护的效率。

相关文章:

  • 寒假作业02
  • 绝对路径和相对路径
  • rabbitmq延迟消息示例
  • JS易混淆的方法整理
  • 转型成亚洲三大通信展主题 中国企业参与积极
  • 诡异!React stopPropagation失灵
  • Unix环境高级编程(四)数据系统文件和信息
  • 算法初级之二
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • 人民日报发声,区块链成“兵家必争之地”,或成“国家战略”
  • iOS下JS与OC互相调用(八)--Cordova详解+实战
  • itextsharp display:none无效的bug
  • SaaS型平台产品的POS营销经营策略
  • BeanUtils工具类的使用
  • Linux配置虚拟网站主机
  • Android交互
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • Create React App 使用
  • css的样式优先级
  • fetch 从初识到应用
  • JWT究竟是什么呢?
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • overflow: hidden IE7无效
  • spring学习第二天
  • Swift 中的尾递归和蹦床
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • vue-cli3搭建项目
  • 阿里云前端周刊 - 第 26 期
  • 从setTimeout-setInterval看JS线程
  • 工作手记之html2canvas使用概述
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 每天一个设计模式之命令模式
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 昨天1024程序员节,我故意写了个死循环~
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #每天一道面试题# 什么是MySQL的回表查询
  • $ git push -u origin master 推送到远程库出错
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)springboot教学评价 毕业设计 641310
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (区间dp) (经典例题) 石子合并
  • (三)终结任务
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET Core 成都线下面基会拉开序幕
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • 。Net下Windows服务程序开发疑惑
  • //解决validator验证插件多个name相同只验证第一的问题
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——