3par peer persistence与XP7双活在RAC环境下的比较

par不支持严格意义的存储双活,但是它的PeerPersistence功能在存储双数据中心的配置中,非常有意思。在此我们以RAC应用为例对其做一个分析。

先上一张架构图,看明白这个架构是怎么回事。

这个架构里面有两个模块:一个是上面的服务器+ORACLE RAC构成的,由RAC向外提供服务,并管理服务器集群应对可能的物理设备故障,还实现了负载均衡分配;另一个是由3par存储和SAN网络交换机以及运行在虚拟机之上的仲裁服务器构成,存储空间通过peer persistence展现给服务器和RAC软件。

如果看过我之前的文章,会有一个感觉:它和HP XP7的双活方案很像耶!XP7的虚拟磁盘阵列是存储到主机的中间层,3par Peer Persistence也是中间层,而且都有仲裁机制。为什么它不是双活呢?

这就要谈到3par Peer Persistence与HP XP7对主机IO路由的分配了:

l  XP7的虚拟磁盘阵列中的会把接收到的IO根据一定的(比如本地存储优先)把IO发送到两个磁盘阵列中去。一个LUN在两个磁盘阵列的镜像可以同时处理主机发来的IO,没有主从的区别。XP7实际是LUN在两个阵列上的镜像都可以处理主机IO,但是它们的WWN是一样的,那么主机是如何知道哪个LUN在本地的呢?

l  3par Peer Persistence设置的LUN存储有主从区别,主机来的IO都会先到主存储,再由主存储同步到从存储。对于主机,存储路径的管理和切换,通过ALUA协议来实现。

下面这张图显示了两者在IO路径上的不同,对于3par,两条黄色IO路径在正常状态下是非激活状态的,没有IO流过;对于XP7则不然,两条黄色路径处于激活状态,分担部分绿色路径上的IO。

3par的peer persistence没有了黄色路径,又是如何管理阵列的呢?它通过ALUA (AsymmetricLogical Unit Access异步逻辑单元访问)协议,把主阵列设置为主动/优化(active/optimized)状态,把从阵列设置为主动/非优化(active/unoptimized)状态。这样主机自然把IO都发送到主阵列上去了。当主阵列出现故障时,peerpersistence又会反过来把从阵列设置为主动/优化(active/optimized)状态,把主阵列设置为主动/非优化(active/unoptimized)状态。图示如下:

至此,是否可以说XP7的双活是否一定优于3par的peer persistence呢?表面上看是的,原因如下:

1.        由于两个阵列同时处于激活状态,切换会很快,理论上主机和RAC软件无感知。

2.        在XP7的双活情况下,两个阵列同时处理主机IO,均衡负载。

现在,我们对两种情况分别作更深入的分析:

1.        存储切换速度问题,需要分两种情况讨论

l  正常情况下的手工切换:双活切换速度很快,基本在几秒内完成,前端业务不会有感知;ALUA方式的切换速度稍慢,延迟可以达到几十秒,前端业务会稍有卡顿。

l  非正常情况下的自动切换:两种方式都需要时间来判断对等磁盘阵列的状态(为了防止反复切换,这个时间阀值不会很短),查询并设置仲裁机构,这些动作完成都需要几十秒的时间,所以两者时间区别不会太大。

2.        两个阵列同时处理主机IO,均衡负载问题:

l  虽然两个阵列可以同时处理主机IO,但是为了保持数据一致,这些IO中的写操作必须同步到另外一个阵列上。也就是说下图中的第2和第3步骤无法节省。只有第1和第4步骤节省了传输时间。但是,双活因为复杂的锁机制带来了阵列内部软件处理时延。这个时延是否能够抵消第1和第4步骤的传输时间节省,值得商榷。还有一点需要特别注意的是:随着系统负荷增长,IO流量越大,处理时延越长。

l  一般而言,一个阵列上往往存有多个应用的数据,把这些应用数据分组,分别设置不同主存储可以达到手工负载均衡的效果。但是要注意:一个应用的数据必须设置到一个组里面,不可以通过分组设置不同的主存储。

时间: 2024-10-14 09:33:58

3par peer persistence与XP7双活在RAC环境下的比较的相关文章

RAC 环境下修改归档模式

RAC环境下的归档模式切换与单实例稍有不同,主要是共享存储所产生的差异.在这种情况下,我们可以将RAC数据库切换到非集群状态下,仅仅在一个实例上来实施归档模式切换即可完成RAC数据库的归档模式转换问题.本文主要描述了由非归档模式切换到归档模式,而由非归档切换的归档步骤相同,不再赘述. [sql] view plain copy print? 1.主要步骤: 备份spfile,以防止参数修改失败导致数据库无法启动 修改集群参数cluster_database为false 启动单实例到mount状态

RAC 环境下的重要参数

Oracle 数据库启动时会根据参数文件中提供的相关参数启动Oracle实例.这些参数包括数据库名字.sga,pga的分配,控制文件的位置,undo,process等等.Oracle RAC数据库同样依赖于这些参数.除了所有单实例情形下的参数值外,RAC数据库还多出了一些重要的参数.本文主要描述RAC环境下的相关参数. 一.单实例下参数文件的重要参数  db_name  db_block_size  Control Files name and location  Initialization

RAC 环境下参数文件(spfile)管理

RAC环境下,初始化参数文件与但实例下参数文件有些异同,主要表现在初始化参数可以为多个实例公用,也可以单独设置各个实例的初始化参数.对于那些非共用的初始化参数则必须要单独设置,而共用的则可以单独设置,但一般不建议这么用.本文描述RAC 环境下参数文件(spfile)的相关管理工作. 有关RAC环境下的重要参数描述,请参考:RAC 环境下重要参数 [python] view plain copy print? 1.参数文件的位置 SQL> show parameter instance_name

利用XAG在RAC环境下实现GoldenGate自动Failover

概述 在RAC环境下配置OGG,要想实现RAC节点故障时,OGG能自动的failover到正常节点,要保证两点: 1. OGG的checkpoint,trail,BR文件放置在共享的集群文件系统上,RAC各节点都能访问到 2. 需要有集群软件的来监测OGG进程,以及发生故障时,自动在正常节点重启OGG(failover) Oracle Grid Infrastructure Standalone Agents (XAG)搭配Oracle支持的集群文件系统,可以实现OGG的自动failover,本

【RAC】在RAC环境下需要惟一设置的重要参数列表

在RAC环境中的数据库参数的设置需要多加关注.在RAC环境中大部分参数要求各节点实例设置一样,然而个别的参数是每个实例特有的,需要单独设置. 1.需要设置为相同值的参数什么样的参数在RAC环境的多实例中需要设置为相同值?那些在创建数据库时至关重要的初始化参数以及会影响特定数据库操作的初始化参数必须具有相同的值.例如下面的这些参数,在RAC环境中每个实例中都需要进行统一设置:ACTIVE_INSTANCE_COUNTARCHIVE_LAG_TARGETCLUSTER_DATABASECONTROL

【RAC】RAC环境下归档日志格式约定

归档日志的格式是由LOG_ARCHIVE_FORMAT参数决定的,因此了解该参数所定义的内容即可.Oracle官方文档中有关归档日志格式描述信息请参考“LOG_ARCHIVE_FORMAT”(http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams103.htm#REFRN10089) 1.系统默认的归档日志格式如下[email protected]> show parameter log_archive_

Oracle RAC环境下配置statspack

Statspack是Oracle 9i时代的产物,对于监控与分析数据库性能有着跨里程碑的意义,是AWR的前身.在Oracle 10g后AWR取代了statspack.尽管如此,awr异常或者需要调试包license的情况下statpack依旧是不错的选择.然而在RAC环境中,statspack并不支持,需要单独的进行配置以及使用job来进行管理.本文描述的则是通过在RAC环境下创建service,以及job来达到各节点同时产生snapshot的效果. 一.演示环境 suse11a:oracle:

【OGG】RAC环境下配置OGG单向同步 (四)

[OGG]RAC环境下配置OGG单向同步 (四) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① RAC环境下配置OGG单向同步 注意:本篇BLOG中代码部分需要特别关注的地方我都用黄色背景和红色字体来表示,比如下边的例子中,thread 1的最大归档日志号为33,thread 2的最大归档日志号为43是需要特别关注的地方. List of Archived Lo

【OGG】 RAC环境下管理OGG的高可用 (五)

[OGG] RAC环境下管理OGG的高可用 (五) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① RAC环境下管理OGG的高可用 注意:本篇BLOG中代码部分需要特别关注的地方我都用黄色背景和红色字体来表示,比如下边的例子中,thread 1的最大归档日志号为33,thread 2的最大归档日志号为43是需要特别关注的地方. List of Archived L