综述
http://www.dostor.com/article/2013-09-04/7686494_2.shtml
存储极客 | 多方位全面保护数据库
https://forum.huawei.com/enterprise/zh/thread/580881001087909888
EMC DataDomain AppSync
不足:阵列复制只负责维护源端存储和目标端存储之间的一致性,而上面数据的有效性(比如数据库是否能正常打开)则不负责。因此该技术许多时候要结合快照一同使用。
来自 <https://forum.huawei.com/enterprise/zh/thread/580881001087909888>
https://www.cnblogs.com/yanshuaiz/p/14644344.html
https://www.cnblogs.com/yanshuaiz/p/14644344.html
EMC AppSync数据保护软件
请参阅《AppSync Support Matrix》
比较完美的做法就是在主 机安装一个快照的agent,最好是多路径软件具备这个功能(据说华为已经整合在一起了),在高端存储要做快照的时候,对主机的快照agent说,别动, 要照相了。主机agent接受到摄影师的命令后,把ORACEL主机缓存的内容flush一下到陈列来,然后hold住,阵列也尽快把cache的内容 flush到硬盘里,ORACLE用到的所有硬盘一块喊”茄子“,摄像师一按快门,一幅完美的快照就产生了。
http://www.dostor.com/article/2013-09-04/7686494_2.shtml
快照如果需要保证一致性,那么第一层可以在FS层进行Flush之后做快照,这样可以保证FS一致性,但是不能保证应用程序层的一致性,要做到后者,那么需要在应用层进行cleanup,然后做快照。
实现着两层的一致性需要在主机端安装一个Agent来与FS或者应用通信协调,在用户决定执行快照时,通知FS或者APP来执行Cleanup。Microsoft提供了VSS服务,所有不同厂商的应用、存储、Agent都可以基于这个服务平台来实现APP层面的一致性。至于容灾,容灾时只要保证完全同步,那么就不会有问题,但是代价也是巨大的。在异步时,只能够通过一致性组的方式来保证时序一致性,但是却不能保证上层逻辑一致性,如果连时序一致性都无法保证,那么Open成功的几率会很低。
保证了时序一致性的前提下,能不能Open,也要看造化,能Open,则通过Replay来恢复一致性但是却丢失了数据,如果还不能Open,那么只能是恢复到容灾端最后一个绝对一致的快照了。
作者:张冬
https://www.zhihu.com/question/26714368/answer/33768225
https://www.cnblogs.com/luxiaodai/p/13453066.html
但是快照会存在不一致的问题,如何解决?
既然快照无异于一次磁盘掉电,那么利用快照恢复数据之后,文件系统可以进行一致性检查,数据库也会利用日志来使数据文件处于一致。
在微软的Windows Server平台上,利用Windows Volume Shadow Copy Services (VSS)和它的API,数据库应用程序可以集成并调用快照工具。
VSS是专门为结构化数据应用设计的服务框架,可以驱动数据库等应用进入数据一致性的静止状态,在快照开始初始化之前,完成刷新缓存、结束写操作以及系统状态的更新。
遗憾的是,目前在Linux和Unix操作系统平台上还没有类似VSS的服务或API。VMware公司的vCenter storage API可以说是一个部分解决方案。快照的发起者可以通过vCenter storage API给vCenter发出一个指令,让虚拟机进入静止状态,然后再执行快照。但这个时候,快照由于没有通过应用程序感知,也许会存在不一致的问题。
另外,现在主流的快照解决方案是在主机上安装一个代理,执行快照前,先通知文件系统将缓存中的数据全部Flush到磁盘,然后立即生成快照。
https://www.cnblogs.com/luxiaodai/p/13453066.html#_label1
应用一致性快照
Nutanix Guest Tools (NGT)
Nutanix Guest Tools(NGT) 类似于 vmtools 打快照
存储和数据库不得不说的故事
https://developer.aliyun.com/article/78934?spm=a2c6h.12873639.article-detail.38.24b637c5v2rz04&scm=20140722.ID_community@@article@@78934._.ID_community@@article@@78934-OR_rec-V_1>
存储只能保证IO一致性,不能保证事务一致性,这个要靠数据库自身的日志系统。
存储采用快照、克隆、远程复制技术保障数据的物理安全;多个卷之间可以设置为一致性组来保障IO一致性;但是存储无法保障数据库的事务一致性;只能依靠数据库的检查点;比如先在Oracle中运行”Begin backup”,等到IO完全刷到盘后,创建快照,然后”End Backup”恢复正常IO;这个快照就是一个完整的数据库,可以直接Mount的。
所以中高端阵列都提供Oracle OEM管理的插件,从数据库角度发起备份和恢复,存储只是在底层发挥性能和容量利用率的优势。
来自 <https://developer.aliyun.com/article/78934?spm=a2c6h.12873639.article-detail.38.24b637c5v2rz04&scm=20140722.ID_community@@article@@78934._.ID_community@@article@@78934-OR_rec-V_1>
灾备难点攻克系列之 数据库复制技术的痛点分析
来自 <https://www.talkwithtrend.com/Article/178125>
CSDN:容灾方案技术及应用【11】
来自 <https://blog.csdn.net/cuichongxin/article/details/114032212>
Nutanix数据保护(Data Protection)
来自 <https://www.kclouder.cn/nutanix-data-protection/>
基于Ceph快照的异地灾备设计
来自 <https://blog.51cto.com/zhanglida66/1920528>
架构总体上还是集中式的结构,包含4种不同角色的进程:Scheduler、Backup、Proxy和Agent。Agent进程部署在每台数据库服务器中,用于感知应用;Scheduler进程主要负责备份、还原、主备切换等任务的调度工作以及所有Backup进程的管理;Backup部署在集群的每个节点,只负责备份或者还原两个任务的数据传输;Proxy进程的功能是转发Agent和Scheduler间的消息,因为Agent跑在前端网络而Scheduler跑在灾备网络,两者无法直接连通。
备份还原
为解决数据完整性问题,Agent提供了一组API接口,允许应用程序以插件的方式提供对应的驱动程序,只有提供了驱动的应用程序才允许备份。
应用程序可以拥有自己独有的保障数据完整性的方法,Agent不关心具体机制,只负责将备份准备、开始、完成以及恢复准备、开始、完成的消息通知给驱动。此外,Agent还提供一个数据通道用于保存驱动程序的私有数据,这些数据在备站点还原时将重新传递给驱动,驱动可以根据这些私有数据来保证应用程序还原到给定的状态。
https://blog.51cto.com/zhanglida66/1920528