存储双活是否需要写缓存功能,如果开启,极端情况下如何保障数据一致性?

存储双活是否需要写缓存功能,如果开启,极端情况下如何保障数据一致性。

参与19

6同行回答

zhongshizhongshi产品总监XSKY
首先需要明确,是存储本身的写缓存技术,而不是OS操作系统、Raid卡、HDD磁盘等写缓存;因为存储双活技术中,其实关键点就是保证数据一致性,而写缓存技术就是核心必须开启;传统存储双活场景如果没有写缓存可以说是无法完成的,因为HDD的性能延迟相比网络传输层还要高一个级别,不依靠写...显示全部

首先需要明确,是存储本身的写缓存技术,而不是OS操作系统、Raid卡、HDD磁盘等写缓存;因为存储双活技术中,其实关键点就是保证数据一致性,而写缓存技术就是核心必须开启;传统存储双活场景如果没有写缓存可以说是无法完成的,因为HDD的性能延迟相比网络传输层还要高一个级别,不依靠写缓存几乎无法满足应用双活的需求,所以一般都是用不掉电内存来作为写缓存保证数据一致性;近些年随着网络、固态硬盘和内存硬盘的发展,有很多存储厂商已经可以做到脱离内存来实现双活写缓存,也能够实现数据一致性,而因为固态介质性能够好,实现方式也从原来的以日志一致为主,变成了日志+数据均一致的方式,给双活场景在容灾恢复时增加了更多的可用性;这里就不讨论异步一致双活场景了。

收起
软件开发 · 2022-09-23
浏览617
sxtycxxsxtycxx 解决方案经理人工智能(计算机视觉)
存储双活是必须要开启写缓存功能,写缓存的开启会提升写返回的性能,而且大部分双活要求前端应用也需要支持双写或是有存储层将IO流复制能两份如果出现故障后,写到缓存内的数据可以通过远程复制功能将数据复制到目的端同时前端应用也需要支撑重试机制功能,就是说前端应用如果发...显示全部

存储双活是必须要开启写缓存功能,写缓存的开启会提升写返回的性能,而且大部分双活要求前端应用也需要支持双写或是有存储层将IO流复制能两份
如果出现故障后,写到缓存内的数据可以通过远程复制功能将数据复制到目的端
同时前端应用也需要支撑重试机制功能,就是说前端应用如果发现未返回,需要重新连接和写入的操作,

收起
互联网服务 · 2022-08-09
浏览588
yulu4314yulu4314技术支持长春
按照存储厂商设计,开启缓存功能可以加快速写,同时还可以降低意外宕机造成的数据丢失。显示全部

按照存储厂商设计,开启缓存功能可以加快速写,同时还可以降低意外宕机造成的数据丢失。

收起
系统集成 · 2022-07-01
浏览616
一般的集中存储都是有写缓存的,而且所有写缓存都是需要镜像保护的,写操作写到本地缓存和镜像缓存之后,才会返回给主机,要写成功都写成功,要不成功都不成功,所以不会造成数据不一致的问题。双活更进一步,是需要在本地存储的写缓存和对端存储的写缓存都写成功以后,才返回给主机,不管...显示全部

一般的集中存储都是有写缓存的,而且所有写缓存都是需要镜像保护的,写操作写到本地缓存和镜像缓存之后,才会返回给主机,要写成功都写成功,要不成功都不成功,所以不会造成数据不一致的问题。

双活更进一步,是需要在本地存储的写缓存和对端存储的写缓存都写成功以后,才返回给主机,不管本地存储还是异地存储,在接受到写 I/O 后,都在存储内部的镜像缓存对儿写入数据成功后才返回给主机结果。

收起
硬件生产 · 2022-06-29
浏览662
Andy_wuAndy_wu存储工程师某大型股份制银行
通常是需要开启写缓存功能,因为双活本身为了数据安全,一般要求强一致性写,也就是每个写操作必须到双活的两端落缓存才算写成功,如果不开启写缓存,那写性能影响就会很大;落对端写缓存就算返回成功,也就产生了另外一个数据一致性的问题,万一对端存储突然异常了,这个时候数据一致性怎...显示全部

通常是需要开启写缓存功能,因为双活本身为了数据安全,一般要求强一致性写,也就是每个写操作必须到双活的两端落缓存才算写成功,如果不开启写缓存,那写性能影响就会很大;落对端写缓存就算返回成功,也就产生了另外一个数据一致性的问题,万一对端存储突然异常了,这个时候数据一致性怎么保证呢?这个一般各厂家都有一套存储控制器之间的写缓存空间镜像两副本甚至多副本的保护机制,确保写的数据任何时候均有2份甚至多分冗余。

常见的HDS、EMC都有写缓存镜像2副本,华为存储有3副本,如果其中一个副本出现问题,还可以持续在其他节点继续腾挪空间临时新增一个副本保护,确保整个过程中数据的可用及一致性。

收起
银行 · 2022-06-27
浏览686
匿名用户匿名用户
首先,需要开启缓存功能,否则对性能影响特别打;其次,从大部分存储采用的是双写技术,从服务器端开始双写;如果只有一方成功,存储双活功能会去检查另一节点是否活着以及链路情况,如果确认是另一台存储down了或者链路断了,确定是只写一个节点,否则会丢掉这个IO(包含写成功那个存储上的),重...显示全部

首先,需要开启缓存功能,否则对性能影响特别打;其次,从大部分存储采用的是双写技术,从服务器端开始双写;如果只有一方成功,存储双活功能会去检查另一节点是否活着以及链路情况,如果确认是另一台存储down了或者链路断了,确定是只写一个节点,否则会丢掉这个IO(包含写成功那个存储上的),重新写IO;

收起
政府其它 · 2022-06-22
浏览720

提问者

wuliaohao
系统运维工程师福建海峡银行
擅长领域: 存储灾备双活

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2022-06-21
  • 关注会员:7 人
  • 问题浏览:2259
  • 最近回答:2022-09-23
  • X社区推广