深入解析HP unix系统下oracle两种集群模式原理


  本文标签:HP UNIX Oracle 集群

近日,由于 名目中的需求对HP UNIX下的Oracle的集群模式进行了探究  。Oracle 占有VG共享存储模式和独占模式两种集群模式,本文 联合在实际 名目, 详尽介绍了实现oracle数据库服务器的双机热备和动态负载 均衡的过程,具体如下:

1、双机热备(VG共享存储模式)及负载 均衡 方案

双机热备的 含意便是设置两台互为备份的服务器,而且在同一 工夫内惟独一台服务器运行  。当浮现意外状况时候,其中一台运行着的服务器浮现意外故障而 无奈启动时,另一台备份的服务器就会自动的并迅速的启动运行,从而 保障整个 利用系统的 畸形运行  。双机热备的工作机制实际上是为整个网络系统的 核心服务器提供了一种故障自动 复原 威力  。

  这里需求清晰阵列盘信息、双机软件信息、HP unix双机系统集群技术 品位构架、负载 均衡和单点故障自动切换:

1)阵列盘便是盘阵上的硬盘,便是双机热备要用到的物理存储  。

2)操作系统双机软件:roseha,IBM的AIX小机的HACMP,HP-UNIX的SG(MC/service guard)  。windows的mscs等等  。这里用HP-UNIX的SG(service guard)  。

3)oracle数据库集群软件Serviceguard Extension for RAC

4)HP unix双机系统集群技术 品位构架由HP unix 11.31操作系统、HP UX service guard 集群组件、Oracle数据库集群等三 部分构成,请看示 用意“HP unix双机系统集群技术 品位构架”  。

a)HP unix 11.31操作系统主要信息内容是由系统内核和卷组治理器构成  。在安装数据库集群软件(Serviceguard Extension for RAC)和操作系统集群软件(service guard)的时候,需求 批改HP unix的内核参数信息,所以这里信息 比较主要  。

b)MC/service guard 是HP RX系列服务器的高可用性集群,在计算机软硬件浮现故障时候, 可以 接续执行 利用系统服务,是一种基于 利用的可 迁徙 步骤  。

c)卷组治理器是治理阵列盘,便是盘阵上的硬盘,便是双机热备要用到的物理存储  。在HP UX系统中对应关系是这样:LUN——VG(逻辑磁盘)——对应多个LV(逻辑卷),并挂在文件系统和未 格局化裸 设施(raw device)——共享存储裸 设施(shared raw device)  。


图 1 HP unix双机系统集群技术 品位构架

5)本次 施行负载 均衡 方案是 构建在 加强网络数据 解决 威力,自动调节 利用服务对两台节点上数据库的响应 申请,分别对共享存储数据的读写服务操作,实现添加数据吞吐量和 普及效率  。

6)单点故障自动切换:2台主机(node1:40、node2:42)衔接共享裸 设施存储,同时惟独一台主机对一个物理 设施进行读写操作  。系统定时发送heartbeat信息,一旦node1 产生故障,系统自动切换到node2上  。

首先进行相应的网络规划,每台主机需求有4个局域网IP和2个私有IP,公共ip地址和浮动ip地址要在同一网段  。如下表: 

节点

主机名

IP

形容

1

node1

10.150.70.40

公共ip地址,治理用

1

node1-vip

10.150.70.41

浮动ip地址,提供对外的数据库服务

1

node1_priv

192.168.10.31

心跳ip地址,节点间通信和数据同步用

2

node2

10.150.70.42

公共ip地址,治理用

2

node2-vip

10.150.70.43

浮动ip地址,提供对外的数据库服务

2

node2_priv

192.168.10.32

心跳ip地址,节点间通信和数据同步用

  随后以本次双机集群设置为例(如图示:集群硬件故障时-单点故障自动切换示 用意- 畸形状态),node1包括一个 利用服务包、一个浮动IP(node1-vip)和若干系统 历程及 利用占用的硬盘  。同样,node 2也包括一个 利用服务包、一个浮动IP(node2-vip)和若干系统 历程及 利用占用的硬盘  。node1-vip、node2-vip地址是固定的,node1、node2 可以 保障各自 巩固的为前端消费者提供服务所对应的数据服务  。同时,集群系统中没有任何一台机器都在时刻运行,没有闲置,各自运行自己的 利用,资源利用得到 正当配置,性能得到最大 施展  。

假如node1在集群系统中浮现软硬件或者网络故障,MC/service guard自动将程序包操纵权转移给node2  。 保障 利用服务 接续进行,同时所有负载压力加载到node2上  。(如图示:集群硬件故障时-单点故障自动切换示 用意-切换状态)


 图2 集群硬件故障时-单点故障自动切换示 用意( 畸形状态)


图3 集群硬件故障时-单点故障自动切换示 用意(切换状态)

1.1 HP unix阵列盘信息

HP unix阵列盘信息:一共有10个磁盘 设施: /dev/dsk/ c0t6d0、/dev/dsk/ c1t2d0、 /dev/dsk/ c2t6d0、/dev/dsk/ c5t15d0、 /dev/dsk/c4t15d1、/dev/dsk/ c4t15d2、/dev/dsk/ c4t15d3、/dev/dsk/ c4t15d4、/dev/dsk/c4t15d5、/dev/dsk/c4t15d6  。

Class     I  H/W Path       Driver S/W State   H/W Type     Description

=======================================================================

disk      0  0/0/0/2/0.6.0  sdisk   CLAIMED     DEVICE       HP 300 GMBA3300NC

                           /dev/dsk/c0t6d0     /dev/rdsk/c0t6d0 

                           /dev/dsk/c0t6d0s1   /dev/rdsk/c0t6d0s1

                           /dev/dsk/c0t6d0s2   /dev/rdsk/c0t6d0s2

                           /dev/dsk/c0t6d0s3   /dev/rdsk/c0t6d0s3

disk      1  0/0/0/2/1.2.0  sdisk   CLAIMED     DEVICE       HL-DT-STDVD-RAM GH40L

                           /dev/dsk/c1t2d0   /dev/rdsk/c1t2d0

disk      2  0/0/0/3/0.6.0  sdisk   CLAIMED     DEVICE       HP 300 GMBA3300NC

                           /dev/dsk/c2t6d0     /dev/rdsk/c2t6d0 

                           /dev/dsk/c2t6d0s1   /dev/rdsk/c2t6d0s1

                           /dev/dsk/c2t6d0s2   /dev/rdsk/c2t6d0s2

                           /dev/dsk/c2t6d0s3   /dev/rdsk/c2t6d0s3

disk      3  1/0/12/0/0/0/0.1.0.255.14.15.0  sdisk   CLAIMED   DEVICE   HITACHI DF600F

                           /dev/dsk/c4t15d0   /dev/rdsk/c4t15d0

disk      4  1/0/12/0/0/0/0.1.0.255.14.15.1  sdisk   CLAIMED   DEVICE   HITACHI DF600F

                           /dev/dsk/c4t15d1   /dev/rdsk/c4t15d1

disk      5  1/0/12/0/0/0/0.1.0.255.14.15.2  sdisk   CLAIMED   DEVICE   HITACHI DF600F

                           /dev/dsk/c4t15d2   /dev/rdsk/c4t15d2

disk      6  1/0/12/0/0/0/0.1.0.255.14.15.3  sdisk   CLAIMED   DEVICE   HITACHI DF600F

                           /dev/dsk/c4t15d3   /dev/rdsk/c4t15d3

disk      7  1/0/12/0/0/0/0.1.0.255.14.15.4  sdisk   CLAIMED   DEVICE   HITACHI DF600F

                           /dev/dsk/c4t15d4   /dev/rdsk/c4t15d4

disk      8  1/0/12/0/0/0/0.1.0.255.14.15.5  sdisk   CLAIMED   DEVICE   HITACHI DF600F

                           /dev/dsk/c4t15d5   /dev/rdsk/c4t15d5

disk      9  1/0/12/0/0/0/0.1.0.255.14.15.6  sdisk   CLAIMED   DEVICE   HITACHI DF600F

                           /dev/dsk/c4t15d6   /dev/rdsk/c4t15d6

1.2 存储规划 

HITACHI DF600F(日立存储)磁盘阵列划分为7个vDisk(LUN)所有映射到两台主机  。

具体划分如下: 

vDisk序号

容量/单位

磁盘 设施

VG(逻辑磁盘)

用处 注明

3

1GB

/dev/dsk/c4t15d0

/dev/datavg

ASM spfile

4

1GB

/dev/dsk/c4t15d1

/dev/datavg

OCR

5

1GB

/dev/dsk/c4t15d2

/dev/datavg

ORC镜像

6

1GB

/dev/dsk/c4t15d3

/dev/datavg

RAC表决盘

7

1GB

     /dev/dsk/c4t15d4

/dev/datavg

RAC表决盘镜像1

8

1GB

/dev/dsk/c4t15d5

/dev/datavg

RAC表决盘镜像2

9

700GB

/dev/dsk/c4t15d6

/dev/vg00/lvoracle

ASM 磁盘

1.3 VG共享模式(shared)状态

VG同时在两台的主机上(40和42)被激活  。在 利用Oracle OPS时,这里卷组被以一种共享的 模式激活,数据的 完全性必须由 利用程序来 保障  。

由于操作系统 本身 无奈 保障数据的 完全性,所以设成共享模式激活的卷组必须 使用裸 设施,这样OS不会对该 设施进行缓冲,而 彻底交给 利用程序 解决  。

利用VG的共享 模式需求安装MC/SG OPS edition.,其操纵命令是vgchange –a s/n  /dev /datavg  。

VG对应多个LV(逻辑卷,并挂在文件系统和共享裸 设施(shared raw device)  。这里对应系统VG逻辑磁盘是:/dev/datavg,包括oracle数据库安装、 晋级、加载信息等文件存储位置,都在这个/dev/datavg逻辑磁盘下,并划分进行相应的LV逻辑卷  。以下是系统中oracle数据库文件对应的存储位置  。

ll /dev/datavg/r*

crw-r-----   1 oracle     dba      64 0x020008 Sep 24 16:37 /dev/datavg/rdb_control01

crw-r-----   1 oracle     dba      64 0x020009 Sep 24 16:37 /dev/datavg/rdb_control02

crw-r-----   1 oracle     dba      64 0x02000a Sep 24 16:37 /dev/datavg/rdb_control03

crw-r-----   1 oracle     dba      64 0x020020 Sep 24 16:37 /dev/datavg/rdb_fwms_01

crw-r-----   1 oracle     dba      64 0x02001e Sep 24 16:37 /dev/datavg/rdb_lcam_01

crw-r-----   1 oracle     dba      64 0x02001f Sep 24 16:37 /dev/datavg/rdb_lcam_02

crw-r-----   1 oracle     dba      64 0x020014 Sep 24 16:37 /dev/datavg/rdb_redo1_01

crw-r-----   1 oracle     dba      64 0x020015 Sep 24 16:37 /dev/datavg/rdb_redo1_02

crw-r-----   1 oracle     dba      64 0x020016 Sep 24 16:37 /dev/datavg/rdb_redo1_03

crw-r-----   1 oracle     dba      64 0x020017 Sep 24 16:37 /dev/datavg/rdb_redo1_04

crw-r-----   1 oracle     dba      64 0x020018 Sep 24 16:37 /dev/datavg/rdb_redo1_05

crw-r-----   1 oracle     dba      64 0x020019 Sep 24 16:37 /dev/datavg/rdb_redo2_01

crw-r-----   1 oracle     dba      64 0x02001a Sep 24 16:37 /dev/datavg/rdb_redo2_02

crw-r-----   1 oracle     dba      64 0x02001b Sep 24 16:37 /dev/datavg/rdb_redo2_03

crw-r-----   1 oracle     dba      64 0x02001c Sep 24 16:37 /dev/datavg/rdb_redo2_04

crw-r-----   1 oracle     dba      64 0x02001d Sep 24 16:37 /dev/datavg/rdb_redo2_05

crw-r-----   1 oracle     dba      64 0x02000c Sep 24 16:37 /dev/datavg/rdb_sysaux01

crw-r-----   1 oracle     dba      64 0x02000d Sep 24 16:37 /dev/datavg/rdb_system01

crw-r-----   1 oracle     dba      64 0x02000e Sep 24 16:37 /dev/datavg/rdb_temp01

crw-r-----   1 oracle     dba      64 0x02000f Sep 24 16:37 /dev/datavg/rdb_temp02

crw-r-----   1 oracle     dba      64 0x020010 Sep 24 16:37/dev/datavg/rdb_undo1_01

crw-r-----   1 oracle     dba     64 0x020011 Sep 24 16:37 /dev/datavg/rdb_undo1_02

crw-r-----   1 oracle     dba     64 0x020012 Sep 24 16:37 /dev/datavg/rdb_undo2_01

crw-r-----   1 oracle     dba     64 0x020013 Sep 24 16:37 /dev/datavg/rdb_undo2_02

crw-r-----   1 oracle     dba     64 0x02000b Sep 24 16:37 /dev/datavg/rdb_users01

crw-r-----   1 oracle     dba     64 0x020026 Sep 24 16:37 /dev/datavg/rlvexp

crw-r-----   1 oracle     dba         64 0x02002b Sep 24 16:37 /dev/datavg/rlvwz_01

crw-r-----   1 oracle     dba         64 0x02002c Sep 24 16:37 /dev/datavg/rlvwz_02

crw-r-----   1 oracle     dba         64 0x02002d Sep 24 16:37 /dev/datavg/rlvwz_03

crw-r-----   1 oracle     dba         64 0x02002e Sep 24 16:37 /dev/datavg/rlvwz_04

crw-r-----   1 oracle     dba         64 0x02002f Sep 24 16:37 /dev/datavg/rlvwz_05

crw-r-----   1 oracle     dba         64 0x020030 Sep 24 16:37 /dev/datavg/rlvwz_06

crw-r-----   1 oracle     dba         64 0x020031 Sep 24 16:37 /dev/datavg/rlvwz_07

crw-r-----   1 oracle     dba         64 0x020032 Sep 24 16:37 /dev/datavg/rlvwz_08

crw-r-----   1 oracle     dba         64 0x020033 Sep 24 16:37 /dev/datavg/rlvwz_09

crw-r-----   1 oracle     dba         64 0x020034 Sep 24 16:37 /dev/datavg/rlvwz_10

crw-r-----   1 oracle     dba         64 0x020035 Sep 24 16:37 /dev/datavg/rlvwz_11

crw-r-----   1 oracle     dba         64 0x020036 Sep 24 16:37 /dev/datavg/rlvwz_12

crw-r-----   1 oracle     dba         64 0x020037 Sep 24 16:37 /dev/datavg/rlvwz_13

crw-r-----   1 oracle     dba         64 0x020038 Sep 24 16:37 /dev/datavg/rlvwz_14

crw-r-----   1 oracle     dba         64 0x020021 Sep 24 16:37 /dev/datavg/rlvwz_15

crw-r-----   1 oracle     dba         64 0x020022 Sep 24 16:37 /dev/datavg/rlvwz_16

crw-r-----   1 oracle     dba         64 0x020023 Sep 24 16:37 /dev/datavg/rlvwz_17

crw-r-----   1 oracle     dba         64 0x020024 Sep 24 16:37 /dev/datavg/rlvwz_18

crw-r-----   1 oracle     dba         64 0x020025 Sep 24 16:37 /dev/datavg/rlvwz_19

crw-r-----   1 oracle     dba    64 0x02003f Sep 24 16:37 /dev/datavg/rlvwz_archives01

crw-r-----   1 oracle     dba    64 0x020039 Sep 24 16:37/dev/datavg/rlvwz_archives02

crw-r-----   1 root       oinstall    64 0x020004 Sep 24 16:37 /dev/datavg/rora_crs01

crw-r-----   1 root       oinstall    64 0x020005 Sep 24 16:37 /dev/datavg/rora_crs02

crw-r-----   1 oracle     dba         64 0x020007 Sep 24 16:37 /dev/datavg/rora_pwd

crw-r-----   1 oracle     dba         64 0x020006 Sep 24 16:37 /dev/datavg/rora_spfile

crw-r-----   1 oracle     dba      64 0x020001 Sep 24 16:37 /dev/datavg/rora_vote01

crw-r-----   1 oracle     oinstall    64 0x020002 Sep 24 16:37 /dev/datavg/rora_vote02

crw-r-----   1 oracle     oinstall    64 0x020003 Sep 24 16:37 /dev/datavg/rora_vote03

2、双机热备(VG独占模式) 方案

此类是纯 利用服务器的集群,即各个 利用服务器都 拜访统一的数据库服务器,但彼此间并不需求文件共享存储等,这种集群是 比较 方便的  。

2.1 VG独占模式(exclusive)状态

当2台主机共享一个VG时, 可以在2台主机上激活VG,那么其中 随便一台主机都 可以对数据进行 批改,而 其余的主机却不晓得数据已被转变,这样数据的 完全性 无奈 保障  。

所以在Cluster环境下,将共享VG的属性置为exclusive模式  。这样,当一台主机已经以exclusive模式激活VG之后,在 其余的主机上 无奈再激活这个VG,这样就 保障了数据的 完全性  。 利用VG独享 模式需求安装MC/SG,其操纵命令是vgchange –c y/n vgXX  。

3 两种模式优缺陷

a)不采纳共享的存储 设施,只通过软件 模式实现双机热备  。

长处:节约了高昂的存储 设施投资  。本机数据 可以直接在多台主机间流动  。

缺陷:会产生数据的前后不 统一、或者会影响数据库读取的速度  。闲置服务器资源  。

举例:假如在服务中断时切换到备份服务器,则可能有少量已经在主机 实现的事务在备机上尚未实现  。而与备份数据的 复原不同,备机启动后,后面的操作已经进行, 因此 迷失的数据包要找回就相当难  。故此种 模式 实用于关于 迷失少量数据不是十分敏感的系统  。 

b)采纳共享的存储 设施,通过软件 模式实现双机热备  。

长处: 可以在无人值守的状况下提供 快捷的切换,而且不会有数据 迷失 景象  。

缺陷:购买存储 设施 花费会 比较高  。

举例:当前双机热备主流 模式是这种软硬件 联合 模式,本次测试 施行内容也是HP UX共享存储的双机热备框架  。