oracle asm 分布式存储,分布式数据中心数据库和存储部署解决方案

文/耿加申

建设分布式双活数据中心是需要网络系统、存储系统、计算资源甚至包括应用系统等多个IT系统之间紧密合作才能实现的。用户所有的业务系统同时在两个数据中心运行,包括前端的全局负载均衡、服务器前端的负载均衡、服务器集群HA技术,后端的数据库系统和存储系统技术,同时为用户提供服务。当某个数据中心的应用系统出现问题时,由另一个数据中心的应用来持续的提供服务。本文主要介绍在网络双活已经Ready情况下,数据库和存储双活部署的最佳实践方案。

一、数据库分布式双活技术

双活数据库备份技术的主、备数据库能够同时承担生产业务并且实现备份功能,即主-主方式的数据库双活技术,极大提高数据库的利用效率。用户要实现数据库的双活,需要在主备数据中心同时安装两套数据库系统,并且实现数据库的同步功能。常见的双活技术通常使用集群方式提供,以下以业界比较成熟的Oracle RAC为例作以介绍。

(如图1所示)Oracle RAC(Real Application Clusters,实时应用集群)不仅仅是个组件,它不是单单由某项特性组成,而是一堆特性应用(Oracle Clusterware、RAC、ASM等)的集合,因此应该被称之为一种体系。该体系实现了多个实例同时访问和管理同一数据库,多个实例可以存在于不同节点,也可以在相同的节点上(从提升性能的角度来看,并不推荐这样),彼此通过内网连接交换数据,并且能够实现自动负载均衡,如果其中某个节点发生故障,RAC能够通过后台的监控进程将连接自动切换到另外一个或多个节点上,从而实现应用的无缝切换,对实例的高可用提供保护,使Oracle RAC 同时具备HA和LB的特性。

远距离集群中的 Oracle RAC 提供了一种横向扩展性能以及利用多个站点的存储和服务器资源的方法,而且与单站点 Oracle RAC 安装相比,还提高了整个站点的可用性和数据中心维护操作的恢复能力。

9c62a86dde885a3a7c53c18ffbe00e0c.png

图1 RAC多实例

l 网络部署方式

(如图2所示)在整个RAC环境中,需要在两个数据中心部署RAC节点,共存在四个网络环境(如图2所示):

¡ Public网络对应公有IP,用于对外提供数据查询服务,服务器维护,数据库维护等;

¡ Virtual网络对应虚拟IP,用于提供应用连接,一般应用程序使用的是该IP;

¡ Private网络对应私有IP,用于传输RAC节点之间心跳报文cache fusion数据块传递,对速度要求很高;

¡ 存储网络由存储设备、HBA卡、光纤交换机等组成。

91a7a7dd7cb70769f6bef9055b4d72e8.png

图2 RAC双节点网络

l 业务访问流程

(如图3所示)在一个典型的多节点RAC系统集群环境中,数据是放在共享存储上的,客户端通过指定的虚拟IP连接。集群收到应用程序访问数据库的请求后,利用DLM机制进行多个节点间并发访问的控制,把请求发送到其中一个节点,节点收到请求后,通过Cache Fusion机制获取读写权限,如果节点有权限访问共享存储,节点会对共享存储进行读写,读写数据完成后返回给客户端。当应用访问数据库RAC集群时,由下面两种机制来保证访问数据的可用性:

¡ 并发控制。由于每个节点对数据有相同的访问权利,这就要求集群对这种有对等权限的并发访问有控制机制,在Oracle RAC中,利用DLM (Distribute Lock Management,分布式锁管理器)机制进行多个节点间并发访问的控制,协调节点间资源的竞争,保证并发的有效性,保护共享数据的安全。

¡ 分布式缓存。使用Cache Fusion模型,是实现RAC的根本的技术,它使各实例可以将它们的数据缓存合并为一个共享的全局缓存,保证缓存的一致性,减少共享磁盘IO的消耗。当上层应用访问RAC节点是,RAC使用 Cache Fusion,优先从缓存中读写数据,仅当该数据块不在全局共享的缓存中,才会执行磁盘读写操作。

ec23cfe38ddc81f32a8351c75d836729.png

图3 RAC多节点访问

l 主备数据中心故障切换

当其中一个数据中心的数据库RAC节点出现故障时,另外一个数据中心的RAC节点还可以提供服务。Oracle RAC 同时具备HA和LB,而其高可用性的基础是Failover(故障转移),通过TAF(Transparent Application Failover)技术,集群中任何一个节点的故障,连接其用户会被自动转移到健康节点,用户感觉不到这种切换。对于应用程序而言,这个迁移过程是透明的,不需要用户的介入。迁移过程如下:

(如图4所示)假设有一个两个节点的RAC,正常运行时每个节点上都有一个VIP:VIP1和VIP2。当节点2发生故障,RAC 会做如下操作:

¡ RAC的Failover 机制会把节点2的VIP2转移到节点1上,这时节点1的PUBLIC 网卡上就有3个IP 地址,即VIP1、VIP2、Public IP1;

¡ 用户对VIP2的连接请求会被IP层路由转到节点1;

¡ 节点1上只监听VIP1和Public IP1的两个IP地址,并没有监听VIP2,故应用层没有对应的程序接收这个数据包;

¡ 客户端能够立即接收到这个错误,然后客户段会重新发起向VIP1的连接请求,完成故障切换。

660a622db34b50699fa292571e440c9d.png

图4 RAC故障转移

在集群环境中,节点间需要某种心跳了解彼此的健康状况。这个心跳是通过两个数据中心的网络来传输的,如果心跳出了问题,每个节点都会认为其他节点都不存在了,自己是唯一的幸存者,从而控制整个集群,由于数据是共享的,势必会破坏共享数据的完整性和一致性。这时候Voting Disk表决盘被引入,所有节点都可以访问表决盘,通过投票机制,获得最高票数或者最早到达的获得投票的幸存,其他节点被踢出。在Oracle RAC中Voting Disk用来记录节点间成员的状态,出现脑裂时,仲裁哪个分区获得控制权,其他的分区被剔除。

二、存储分布式双活技术

分布式双活数据库部署需要共享存储的支撑,理想的方案是EMC VPLEX,可以实现不同存储异构的双活。VPLEX 体系结构将横向扩展集群与分布式缓存一致性相结合,实现了数据中心内、跨数据中心的 EMC 和非 EMC 平台之间的数据移动性。其具有以下特点:

¡ 分布式存储双活集群技术,对应用提供统一的访问入口;

¡ VPLEX后端连接存储类型可以兼容不同厂家;

¡ EMC VPLEX Metro在多个数据中心实现同步数据复制技术;

¡ VPLEX AccessAnywhere集群技术可用于对分布式卷进行远程读/写访问,可以在同步距离内的位置之间访问和共享数据;

¡ 给远距离的两个数据中心提供一个共享的存储,两边能同时读写同一份数据,简化扩展 Oracle RAC跨数据中心的部署;

VPLEX 产品线包括 VPLEX Local(单站点 SAN 联合)、VPLEX Metro(支持往返延迟高达 5 ms 的同步分布式卷,约相距不超过 100 公里)以及 VPLEX Geo(支持往返时间高达 50 ms 的异步分布式卷)。将 VPLEX Metro 与远距离集群中的 Oracle RAC(扩展 Oracle RAC)结合使用,可以简化 SAN 基础架构,同时减少与扩展 RAC 部署模式关联的部分存储管理复杂性。

l 网络部署方式

(如图5所示)在VPLEX环境中,分别需要在两个数据中心部署VPLEX,同时在第3个站点部署Witness,共存在两个网络环境(如图5所示)。

¡ IP网络:三方站点互连使用的IP网络,使用Witness提供网络管理和防止脑裂发生。

¡ 存储网络:由存储设备,HBA卡,光纤交换机等组成,需要专用光纤线路连接。

ee11e5ece91d335ab75a1834d28c67fc.png

图5 VPLEX双中心组网

l 业务访问流程

存储对读数据的处理过程如下:

¡ 当主机发出一个读请求,VPLEX搜索其本地缓存;

¡ 如果数据被找到,返回到主机;

¡ 如果数据在本地缓存中没有找到,VPLEX搜索全局缓存;

¡ 无论从本地缓存或全局缓存,它如果不能找到读数据,则直接读取后端存储。在这些情况下,无论是全局还是本地缓存都进行更新。

存储对写数据的处理过程如下:

¡ 对于VPLEX Local和Metro,所有写操作都是通过后端存储的缓存,只有数据写入到后端阵列,主机的写操作才算完成;

¡ 对于VPLEX metro,每次写都是在集群中进行复制。其中一个副本,写入到本地后端阵列,而另外一个被写入到远程VPLEX,再把它写入到远程的后端磁盘。主机只有在这两个写入都完成后才会得到确认。

l 主备数据中心故障切换

(如图6所示)当一个数据中心的存储不能对外提供访问时,VPLEX会实时把IO的请求定向到另外一个数据中心,不会影响到上层应用的访问。当后端存储失败,VPLEX集群继续服务所有的IO,因此Oracle RAC不会知道存储不可用了。

3380f079f2da8aa62040bc5fc1da2a0d.png

图6 VPLEX存储故障切换

(如图7所示)当后端存储和VPLEX集群其中之一出现故障,VPLEX Witness会继续让另外一个站点的VPLEX提供服务,Oracle 使用Transparent Application Failover 功能,允许客户端自动的重新连接到健康的VPLEX 集群上。

41b9d5e70631779f921a887b0acf411c.png

图7 VPLEX存储和集群故障切换

如果两个 VPLEX 集群中间的网络出现故障,可以通过预先配置分离规则,优先级高的VPLEX站点如果无法检测到对方节点,则该节点继续服务,另外一个停止服务。或者通过在第三站点部署VPLEX Witness,当出现网络故障时,由Witness判断哪个节点可以提供服务。VPLEX Witness 通过管理 IP 网络连接至两个 VPLEX 集群。为了让 VPLEX Witness 能够正确区分各种故障情况,需要在在第三个数据中心部署 VPLEX Witness。

三、Oracle RAC和 VPLEX Metro 联合部署方式

Oracle RAC系统与EMC VPLEX技术相结合,是部署双活数据中心的理想选择。EMC VPLEX 的功能包括异构存储系统以及分布式双活的共享存储,可与 Oracle RAC 的固有功能共同提供高可用性和可扩展的数据库访问。(如图8所示)Oracle RAC 与 EMC VPLEX结合部署,简化了数据库体系结构,提高基础架构效率。

d2d33a06b0001a804eb2c4b615f7ce8d.png

图8 Oracle RAC 与 EMC VPLEX综合组网

通常,扩展 Oracle RAC 的部署重点是为其中一个 Oracle集群表决磁盘部署第三个站点。(如图9所示)借助 VPLEX,集群表决磁盘本身驻留在 VPLEX 虚拟卷上,仅VPLEX Witness部署在独立故障域中,由于 VPLEX Witness 控制表决磁盘的访问, VPLEX Witness 可提供脑裂检测保护并保证 VPLEX Metro 和 Oracle 集群的行为一致。

由于所有 Oracle集群节点都需要访问所有 Oracle集群配置文件和数据库设备,因此 Oracle 集群配置文件和Oracle 数据库都使用 VPLEX 分布式卷。

8d4720f2601ae2f98d71a3f3c7ed6fea.png

图9 VPLEX脑裂检测

l 网络部署方式

¡ RAC集群互连:用于RAC心跳和Cache Fusion,对速度要求很高。

¡ IP网络:三方站点互连使用的IP网络,用于提供网络管理和防止脑裂发生。

¡ 存储网络:由存储设备、HBA卡、光纤交换机等组成,需要专用光纤线路连接。

l 故障切换

¡ 后端存储失败。当站点A的存储发生致命故障后,分布式镜像卷只是少了镜像的一半,容灾站点的存储承担起读写IO的工作,站点A的主机通过VPLEX的通讯链路从站点B的存储上读写数据,使得整个系统没有发生出错崩溃,也没有业务切换到容灾站点,保证了业务高可用性。由于每个站点都有专门的LOG卷,所以在存储恢复正常后不需要进行全同步,而只需要传输改变量,同步时间大大缩小。

¡ VPLEX失败。当站点A的VPLEX故障后,另外一个站点B的VPLEX继续工作,数据不会丢失,业务可以连接到另外一个站点B的RAC节点正常进行工作。当站点A的VPLEX恢复后,按保护机制的设定,可自动或者手工确认原主站点是否可以工作。

¡ RAC主机失败。当站点A的RAC1主机发生故障后,VPLEX和存储都没故障发生。因此只发生应用切换事件。

¡ 站点间的网络失败。VPLEX可以设置优先级别,当两台VPLEX通讯发生故障时,根据定义的优先级别的策略决定其中一台VPLEX保持服务,而另一台就要停止工作,或者由Witness来决定哪台VPLEX继续工作,保证了数据的一致性和安全性。

¡ 站点失败。站点A的RAC、VPLEX、存储都出现故障,连接站点A的RAC1的业务全断,而连接站点B的RAC2的应用还是可以保持正常工作无中断,站点A的RAC1上的业务重新连接到RAC2后可以继续正常工作。

l 该方案带来的好处

联合部署方式使得网络、存储和站点故障期间保证连续的数据库可用性,横向扩展体系结构以及两个站点对同一数据库的完全读写访问权限,并且简化远程 Oracle RAC 部署,主要体现在:

¡ 集群节点只需连接至本地 VPLEX 集群,不需要跨站点连接;

¡ 通过使用分布式卷和 VPLEX Witness 部署 Oracle 表决磁盘,无需在第三站点部署 Oracle voting disk 表决磁盘和集群配置文件,简化了基础架构要求;

¡ 减少对 Oracle 集群节点 CPU 周期的占用以及与基于主机的镜像关联的占用,由 VPLEX 提供的硬件 RAID 和底层物理阵列提供这项功能;

¡ 能够创建可将多个数据库或应用程序文件作为一个单元进行保护的一致性组;

¡ 在存储硬件更新和迁移期间,VPLEX 卷不要求暂停应用程序或进行 LUN ID 更改。

四、结束语

分布式数据中心要想实现对用户提供真正的双活服务,需要部署应用、存储、网络的综合双活方案。企业通过部署ORACLE RAC数据库的双活技术和EMC VPLEX存储的双活技术,以及使用H3C的双活数据中心网络方案,完美的给用户提供了一整套的双活解决方案,避免了以前备份数据中心只能备用不能使用的资源浪费,有力的保证了企业的业务系统高可靠运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527723.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle中存储过程可见权限,Oracle数据库存储过程与权限

在执行存储过程时,我们可能会遇到权限问题 ● 定义者权限存储过程 ● 调用者权限存储过程 在数据库中创建存储过程时,定义者权限是缺省模式 当指定AUTHID CURRENT_USER关键字后,便是调用者权限存储过程 他俩之间最根本的差异在于role能否在存…

magento php 所需模块,magento博客 - Magento2 创建基本模块

我们将在Magento 2中创建一个简单的模块,完成后,模块将在自定义前端路由的内容中显示“Hello world!”。先决条件毋庸置疑,您需要最新的Magento 2版本在我们开始Magento 2模块开发之前,有两件事是人们经常忘记的&#…

手机安装linux不root权限管理,不root手机也能使用linux环境并安装msf等工具

抵挡不住物理键盘的诱惑在key2首发的时候下手了。黑莓的天性,不能root。之前用nexus习惯用linux deploy搭建的kali环境需要root权限,所以虽然key2敲命令很爽,但是不能使用linux deploy真的很可惜。然后找到了termux这个轻量化的神器。无需roo…

linux中group命令详解,linux groupmod命令参数及用法详解

需要更改群组的识别码或名称时,可用groupmod指令来完成这项工作。接下来是小编为大家收集的linux groupmod命令参数及用法详解,希望能帮到大家。linux groupmod命令参数及用法详解groupmod(group modify)功能说明:更改群组识别码或名称。语 …

实时屏幕监控 linux面板,分享|LXDE、Xfce 及 MATE 桌面环境下的又一系统监视器应用:Multiload-ng...

Multiload-ng 是一个 GTK2 图形化系统监视器应用,可集成到 Xfce、LXDE 及 MATE 的桌面面板中, 它 fork 自原来的 GNOME Multiload 应用。它也可以运行在一个独立的窗口中。Multiload-ng 的特点有:支持以下资源的图形块: CPU&#…

盒子 Box

UVa1587 思路&#xff1a; 1.输入每个面的长宽并将每个面较长的一边放在前面 2.判断是否存在三对面分别相等 3.判断是否存在三组四棱相等 #include <stdio.h> #include <stdlib.h> #define maxn 100int cmp(const void* e1, const void* e2) {return (int)(*(d…

android 复用标题栏,Android基础---使用ToolBar教你打造一个通用的标题栏

现在项目中一般都会使用标题栏&#xff0c;谷歌在2014年推出了新的app bar---ToolBar&#xff0c;代替了以前使用的ActionBar。在做项目中会经常用到这个ToolBar&#xff0c;虽然用的很多&#xff0c;但是自己对它如何用还不是很明白&#xff0c;今天就来简单的学习下这个控件的…

android html 显示表格边框,tablelayout表格布局详解

如果你已经下载好MT4软件(很多专业外汇平台都有提供下载的)&#xff0c;在手机桌面找到图表打开&#xff0c;然后选择好交易商&#xff0c;输入账号密码就可以了。TableLayout怎样实现表格布局表格布局的子对象不能指定 layout_width 属性.宽度永远是 MATCH_PARENT。不过子对象…

华为注册鸿蒙商标与三海经,华为注册了一本《山海经》?除了鸿蒙商标,还有很多...

原标题&#xff1a;华为注册了一本《山海经》&#xff1f;除了鸿蒙商标&#xff0c;还有很多5月25日消息 昨天IT之家报道&#xff0c; 国家知识产权商标局网站显示&#xff0c;&#xff0c;适用于第9类别和第42类别。申请日期为2018年8月24日。此前传闻称&#xff0c;华为OS操作…

android开机渲染视频太久,Android过度渲染优化解决方案

过度绘制是发生的每一次应用要求系统上别的画的东西。“调试GPU透支”工具覆盖上你的屏幕的色彩显示多少次像素被重绘。通过查看GPU透支来改善应用程序的渲染时间。方法1&#xff1a;打开手机设置—>开发人员工具选项—>调试GPU过度绘制—>显示GPU视图更新&#xff0c…

小米android停止,小米由于错误而停止将Android 10推广到MiA3

当小米上周宣布将为Mi A3和Redmi Note 8用户推出Android 10更新时&#xff0c;用户为最终升级他们的设备(至少在软件方面)感到非常兴奋。但是&#xff0c;这种喜悦似乎是短暂的。用户抱怨说&#xff0c;尽管收到更新通知&#xff0c;但他们仍无法下载更新。有些人甚至看到更新在…

html两张图片无缝合成一张,怎么用PS把两张图片合成一张 PS无缝拼图边缘如何处理...

PS怎么把两张图片合成一张&#xff1f;PS无缝贴图怎么用&#xff1f;PS无缝拼接要用什么工具&#xff1f;PS无缝拼图快捷键是什么&#xff1f;PS无缝拼图有色差怎么办&#xff1f;PS把两张图片合成一张边缘怎么修&#xff1f;PS无缝拼接图片边缘如何处理&#xff1f;PS把一张图…

html 属于mvvm框架,前端MVVM框架avalon揭秘 - HTML编译器

MVVM试图更加清晰的讲用户界面(UI)开发从应用程序的业务逻辑与行为中心分离&#xff0c;由于&#xff0c;不少这样的模式的实现都须要利用声明式数据绑定来实现讲View(视图)工做从其余层分离css因此出现了一大堆自定义的声明式的语法&#xff1a;html如:Avalonnode顾名思义,自定…

html的opacity标签,css中opacity是什么意思

css样式 给div样式opacity:0 是什么意思透明度 注意 ie低版本要实现透明度必须用ie特有的滤镜 而非简单的opacityCSS中 not(.active) { opacity: 0.3; } 是什么意思css的opacity让div和里面的div透明了怎样才让div里面的div不透明&#xff1f;不透明度会作用于整个元素以及它所…

frm考试可以用计算机,FRM考试,考生自己可以携带计算器吗?

因为FRM考试有大量的计算题&#xff0c;是需要用到计算器的&#xff0c;近日有考生咨询&#xff0c;参加考试&#xff0c;可以自己携带FRM计算器吗&#xff1f;答案当然是肯定&#xff0c;考生是可以携带FRM计算器的&#xff0c;但是要携带协会官方要求的型号&#xff0c;不是什…

不能访问win7计算机,局域网win7无法访问win10,win7访问不了局域网其他电脑

相信大家都遇到过在访问局域网时遇到过很多错误&#xff0c;导致文件无法正常进行共享&#xff0c;共享打印机等情况&#xff0c;那么当我们遇到这样的问题时应该怎么处理呢&#xff1f;接下来是小编给大家介绍的具体解决方法&#xff0c;一起来看看吧&#xff01;方法/步骤1、…

计算机开关机命令,电脑自动关机命令

有的时候我们需要让电脑在一段时间工作而不能关机&#xff0c;但是工作完成之后不关机会造成用电浪费&#xff0c;那么使用自动关机命令&#xff0c;就不用担心电脑一直开着会浪费电啦。那么电脑自动关机命令怎么设置呢&#xff1f;下面给大家介绍一下吧。电脑自动关机命令1、首…

iphone计算机的声音怎么办,苹果耳机插电脑上没声音怎么办_苹果耳机插win10电脑没声音如何解决-win7之家...

通常我们将苹果耳机插入电脑的话是可以听歌或者语音说话的&#xff0c;然而近日有不少小伙伴将苹果耳机插入到win10电脑上要使用的时候&#xff0c;却发现没有声音&#xff0c;遇到这样的问题该怎么办呢&#xff0c;可能是设置有问题&#xff0c;本文给大家讲解一下苹果耳机插w…

电气与计算机学院院长论坛报告,我校电子系举办2019年电子信息学科院长论坛暨工程教育新进展研讨会...

2019年11月24日&#xff0c;由我校电子与电气工程系主办的“2019年电子信息学科院长论坛暨工程教育新进展研讨会”在国际会议厅举行。来自东北大学、电子科技大学、东南大学、西安交通大学、西安电子科技大学、大连理工大学、北京航空航天大学、北京邮电大学、燕山大学、南京邮…

楼梯计算机公式,各种楼梯面积的计算公式汇总

楼梯计算体积踏步体积梯板体积踏步体积三角形面积(1/2*踏步宽度*踏步高度)* 梯板净宽 * 踏步个数踏步个数 踏宽数1踏宽数 楼梯净长/踏步宽度(楼梯净长&#xff1a;等于踏步段水平投影净长&#xff0c;即扣减(墙)后的长度)踏步高度 楼梯高度/(踏步个数1)梯板净宽 楼梯宽度扣…