Oracle数据库集群管理-Oracle11gR2集群心跳单网卡改bond实施方案

该文描述了在Redhat5.8系统上,OracleDatabase11g企业版中,如何将心跳网卡从单网卡改为bonding模式以提高可用性。具体步骤包括备份OCR信息,查看并记录接口信息,添加新接口,关闭集群,配置bonding,重启网络服务和集群,最后删除旧接口。这一变更不影响IP地址,主要涉及eth0和eth3的绑定操作。

1 概述

一旦修改网卡绑定之后,RAC就不能启动,也就不能进行修改,所以我们这里先修改PUBLIC Private配置。修改完之后再绑定双网卡。

为了提高心跳网络的可用性,需要将心跳网卡由单网卡模式改成bonding模式。对应转换关系如下:

原始状态

优化后状态

操作系统版本

Redhat 5.8(64bit  kernel2.6.18-308.el5)

Redhat  5.8(64bit kernel2.6.18-308.el5)

Oracle版本

Oracle Database 11g Enterprise  Edition Release 11.2.0.4.0 - 64bit Production

Oracle  Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

网卡

eth3

eth0

eth3

设备名

eth3

bondha

private  IP

192.168.1.170,

192.168.1.171

192.168.1.170,

192.168.1.171

整个变更,只是将eth0和eth3进行绑定,IP地址不发生变化,对于RAC而言,集群的心跳设备需要更新,变更大致思路如下:

  • 手动备份ocr信息;
  • 查看集群的接口信息并做记录
  • 以root用户添加一个新的接口;
  • 检查集群的接口信息并做记录;
  • 关闭集群;
  • 系统进行bonding;
  • 重新启动集群;
  • 检查集群状态和接口信息并做记录;
  • 确认都正常后,删除老的接口信息;

2 操作步骤


2.1 手动备份ocr

/u01/cluster/bin/ocrconfig -showbackup
/u01/cluster/bin/ocrconfig -manualbackup

2.查看集群的接口信息并做记录

/u01/cluster/bin/oifcfg getif -global

3.root用户添加一个新的接口

/u01/cluster/bin/oifcfg setif -global bondha/192.168.1.0:cluster_interconnect

4.检查集群的接口信息并做记录

/u01/cluster/bin/oifcfg getif -global

5.关闭集群(两个节点都要执行)

/u01/cluster/bin/crsctl stop crs


6.系统进行bonding


一般由系统工程师负责完成。

这里列出节点一

相关配置文件以供参考(节点二只需要修改bondhaIP192.168.1.171即可)

a)    编辑/etc/sysconfig/network-scripts/ifcfg-bondha

DEVICE=bondha

IPADDR=192.168.1.170
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
ONBOOT=yes
BOOTPROTO=static
USERCTL=no
BONDING_OPTS="mode=1 miimon=100 primary=eth0"

b)编辑/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bondha

SLAVE=yes
BOOTPROTO=none

c)编辑/etc/sysconfig/network-scripts/ifcfg-eth3

DEVICE=eth3
USERCTL=no
ONBOOT=yes
MASTER=bondha
SLAVE=yes
BOOTPROTO=none

d)    编辑/etc/modules.conf文件
添加以下行:

alias bondha bonding
options bondha mode=1 miimon=100

e)重启网络服务

service network restart

f)检查网络状态

ifconfig -a

7.重新启动集群(两个节点都要执行)

/u01/cluster/bin/crsctl stop crs

/u01/cluster/bin/crsctl start crs

8.检查集群状态和接口信息并做记录

/u01/cluster/bin/crsctl stats res -t 
/u01/cluster/bin/oifcfg getif -global


9.确认都正常后,删除老的接口信息

/u01/cluster/bin/oifcfg delif -global eth3/192.168.1.0
/u01/cluster/bin/oifcfg getif

<think>我们正在回答用户的问题:如何查看Oracle RAC集群心跳IP(即Private IP)? 根据引用[1]和引用[3],我们可以知道: - 心跳IP(Private IP)是用于节点间通信的,包括心跳同步和Cache Fusion等。 -Oracle RAC中,我们可以通过几种方式来查看心跳IP。 具体方法如下: 1. **使用`oifcfg`命令(Oracle Interface Configuration Tool)** 这是Oracle提供的专门查看和配置网络接口的工具。 ```bash oifcfg getif ``` 这个命令会列出所有配置的网络接口,包括公网和私网(心跳网)。私网接口的类型(if_type)通常是`cluster_interconnect`。 示例输出: ``` eth0 192.168.1.0 global public eth1 10.0.0.0 global cluster_interconnect ``` 其中,`eth1`就是用于心跳的私网接口,对应的网段是`10.0.0.0`。 2. **通过集群资源状态命令`crsctl stat res -t`间接查看** 虽然这个命令主要用来查看资源状态,但其中也会显示VIP资源,而VIP资源会绑定到具体的网卡。我们可以通过查看VIP资源所在的网卡来推断心跳网卡(但注意,心跳网卡通常不绑定VIP,所以这个方法只能作为参考,更推荐使用`oifcfg`)。 不过,我们还可以查看`ora.cluster_interconnect.haip`资源的状态,这个资源会显示当前用于集群互联的IP地址(即HAIP)。命令如下: ```bash crsctl stat res ora.cluster_interconnect.haip -p ``` 在输出中,我们可以查看`USR_ORA_IF`属性,它显示了使用的网络接口,然后通过该接口的IP配置(使用操作系统命令)来查看具体IP。 3. **使用操作系统命令查看** 在Linux系统中,我们可以使用`ifconfig`(或`ip addr`)命令来查看所有网络接口的IP地址。通常,心跳网络会配置在单独的网卡上(比如eth1, bond0等),并且IP地址通常在一个私有网段(如10.x.x.x, 192.168.x.x等)。但需要结合Oracle配置来确定哪些IP是用于心跳的。 4. **查询集群日志或OCR** 我们还可以通过查询集群的OCR(Oracle Cluster Registry)来获取配置信息。使用以下命令: ```bash ocrcheck -config ``` 这个命令会显示OCR的配置,但不会直接显示网络信息。另一种方法是使用`crsctl`查询集群配置: ```bash crsctl get css cluster_interconnect ``` 这个命令可以显示当前使用的集群互联网络(即心跳网络)的子网。 5. **使用Grid用户执行集群验证工具(cluvfy)** ```bash cluvfy comp nodecon -n all -verbose ``` 这个命令会详细检查节点间的连接性,并列出每个节点上的私网IP地址。 综合以上方法,最直接可靠的方式是使用`oifcfg getif`命令。 操作步骤示例(以Grid用户执行): ```bash $ oifcfg getif eth0 192.168.1.0 global public eth1 10.0.0.0 global cluster_interconnect ``` 这里,`eth1`接口的IP网段`10.0.0.0`就是心跳网络。 注意:如果配置了多个心跳网络(冗余),那么会有多个`cluster_interconnect`接口。 引用说明: - 引用[1]指出:Private IP(心跳IP)用于集群间节点心跳同步和Cache Fusion等任务。 - 引用[3]提到了查看公网和私网IP信息的方法。 因此,我们使用`oifcfg getif`命令可以明确区分出私网(心跳)IP的配置。 相关问题: 1. 如何修Oracle RAC的心跳IP地址? 2. 如何为Oracle RAC配置多个心跳网络以实现冗余? 3. Oracle RAC的心跳网络通信出现故障时会有哪些表现? 4. 使用`oifcfg`命令时出现错误如何排查? </think> ### 查看Oracle RAC集群心跳IP的方法 Oracle RAC的心跳IP(Private IP)是节点间通信的核心通道,用于传输心跳信号和Cache Fusion数据[^1]。以下是四种查看方法: --- #### 1. **使用 `oifcfg` 命令(推荐)** 通过Oracle接口配置工具直接查看集群网络配置: ```bash $ oifcfg getif eth0 192.168.1.0 global public # 公网IP eth1 10.0.0.0 global cluster_interconnect # 心跳IP(类型为cluster_interconnect) ``` - **关键字段**: `cluster_interconnect` 标识心跳网络接口 `public` 标识公网接口 - **多网卡冗余**:若配置了多个心跳网卡,会显示多条 `cluster_interconnect` 记录[^1] --- #### 2. **查询集群资源状态** 通过HAIP资源定位实际使用的IP: ```bash $ crsctl stat res ora.cluster_interconnect.haip -p | grep USR_ORA_IF USR_ORA_IF=eth1 # 使用的网卡名称 ``` 然后通过系统命令查看该网卡IP: ```bash $ ifconfig eth1 | grep "inet " inet 10.0.0.11 netmask 255.255.255.0 # 心跳IP地址 ``` --- #### 3. **操作系统层命令** 直接查看网卡配置(需区分网卡用途): ```bash $ ip addr show | grep -A 2 "BROADCAST" 2: eth0: <BROADCAST> ... inet 192.168.1.11/24 # 公网IP 3: eth1: <BROADCAST> ... inet 10.0.0.11/24 # 心跳IP(通常为私有网段) ``` **识别依据**: - 心跳IP通常配置在独立网卡,且位于私有网段(如 `10.x.x.x`、`192.168.x.x`) --- #### 4. **集群验证工具 `cluvfy`** 检查节点连通性时显示IP详情: ```bash $ cluvfy comp nodecon -n all -verbose ... Node Connectivity: Source Node: rac1 Interface: eth1, IP: 10.0.0.11 # 心跳IP Targets: rac2-eth1 (10.0.0.12) # 对端节点IP ``` --- ### 关键区别说明 | **IP类型** | **作用** | 查看方式 | |------------------|----------------------------------|--------------------------| | 心跳IP (Private) | 节点间心跳、Cache Fusion数据交换 | `oifcfg getif` | | 公网IP (Public) | 客户端访问、VIP漂移 | `ifconfig` 公网网卡 | | SCAN IP | 集群统一访问入口 | `srvctl config scan` | > **注意**:从Oracle 11g起,心跳IP必须独立配置以避免公网拥塞导致的集群分裂。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值