如何做到读写分离,提升IO读写效率?如何设计双活存储高可用,防止仲裁防脑裂?

参与19

4同行回答

chenmingfuchenmingfu  基础架构组长 , 西部某城商银行
1.存储双活后,还有一个难点就是热点数据的跨站访问,实施了数据库和存储层同时双活,会出现数据竞争的问题,这样也降低了IO效率。这时候就要通过锁预取和缓存策略,通过较小的控制报文,向锁权限缓存节点申请写权限,并利用锁预取将部分区间的写权限缓存到本地。这样,后续的连续写I/O...显示全部

1.存储双活后,还有一个难点就是热点数据的跨站访问,实施了数据库和存储层同时双活,会出现数据竞争的问题,这样也降低了IO效率。这时候就要通过锁预取和缓存策略,通过较小的控制报文,向锁权限缓存节点申请写权限,并利用锁预取将部分区间的写权限缓存到本地。这样,后续的连续写I/O操作可快速的命中在本地,减少跨站点的数据传输和交互,做到读写分离,从而提升IO读写性能。
 

2.AA模式的双活存储,在某些特定的多重故障下,仲裁机制会优先保证数据的一致性,可能会将双活存储上的所有LUN都停止主机访问。所以,在设计仲裁模式的时候,强烈建议建立选择独立的第三方站点作为仲裁机,但也不能完全避免上述情况,所以,还要考虑强制启动,而强制启动端的存储作为同步源端,会在链路恢复后同步增量差异数据。

收起
银行 · 2020-11-19
浏览2143
要做读写分离首先要明确为什么要做读写分离。读写分离是一种技术手段,而单纯的依赖技术手段是无法解决所有问题的,如果应用的读写比例严重失调,那么需要和应用开发部门相互协调。读写分离的重点和本质,其实就是数据的同步。为了实现数据的实时同步,现有的技术可以在多个层面实...显示全部

要做读写分离首先要明确为什么要做读写分离。读写分离是一种技术手段,而单纯的依赖技术手段是无法解决所有问题的,如果应用的读写比例严重失调,那么需要和应用开发部门相互协调。

读写分离的重点和本质,其实就是数据的同步。为了实现数据的实时同步,现有的技术可以在多个层面实现读写分离。例如,基于操作系统层、基于存储层进行复制或者基于应用分发或者基于数据库自身的能力的技术,都可以实现数据的读写分离。由于在数据同步的过程中,通常会涉及业务数据选择以及源端多种类型整合的问题,因此通常不建议使用操作系统层和存储层的复制来实现,在金融行业,比较多的是用数据库来实现读分离。例如Oracle基于日志的复制技术等等。

收起
IT咨询服务 · 2020-11-19
浏览2115
jxnxsdengyujxnxsdengyu  系统工程师 , 江西农信
双活的两个存储都可以同时对主机提供读写服务,也可以选择一个存储作为写存储服务,另一个存储作为读存储服务,实现读写分离,这样的好处可以减少双活存储的写I/O竞争,降低写I/O时延。双活存储高可用的话,需要设置第三仲裁站点,可以用磁盘或者虚拟机来做仲裁,仲裁机制根据存储双活方...显示全部

双活的两个存储都可以同时对主机提供读写服务,也可以选择一个存储作为写存储服务,另一个存储作为读存储服务,实现读写分离,这样的好处可以减少双活存储的写I/O竞争,降低写I/O时延。双活存储高可用的话,需要设置第三仲裁站点,可以用磁盘或者虚拟机来做仲裁,仲裁机制根据存储双活方案可以选择静态优先+动态仲裁双重机制来保障脑裂或者故障后的双活存储。

收起
银行 · 2020-11-19
浏览2032
zzy3620zzy3620  系统环境管理 , 某城商行
读写分离,可以采用存储复制技术完成,也可以采用数据库软件复制技术完成,为保证数据的较高实时性,需要用两个不同的服务器挂载双活lun或者采用数据库集群,或者adg方案实现,为了保证好的IO读写效率,需要保障双活存储间的网络带宽和低延时。为避免脑裂,存储建议采用fc和ip网络多种仲...显示全部

读写分离,可以采用存储复制技术完成,也可以采用数据库软件复制技术完成,为保证数据的较高实时性,需要用两个不同的服务器挂载双活lun或者采用数据库集群,或者adg方案实现,为了保证好的IO读写效率,需要保障双活存储间的网络带宽和低延时。为避免脑裂,存储建议采用fc和ip网络多种仲裁探活机制,利用第三方站点进行检测判决。

收起
银行 · 2020-11-19
浏览1983

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2020-11-09
  • 关注会员:5 人
  • 问题浏览:4707
  • 最近回答:2020-11-19
  • X社区推广