Oracle rac asm 扩容-使用udev方式绑定multipath多路径设备
环境介绍:
故事发生在Oracle 11.2.0.4 RAC/ Linux 6.8 的数据库集群服务器上。
DATA/ ARCH/ 磁盘组空间不足,进行扩容。
首先,如果要在线使用udev方式扩容asm,建议先备份两个节点所有在用网卡信息,避免bug误删除网卡信息。备份至/tmp目录下。(包括the ifcfg-eth0 (public), ifcfg-eth1 (private) and ifcfg-eth2 (backup)),注意11.2.0.3及以后在linux上的bug,见如下官网解释:
Network interface going down when dynamically adding disks to storage using udev in RHEL 6 (文档 ID 1569028.1)
Applies to:
Oracle Database - Enterprise Edition - Version 11.2.0.3 and later
Oracle Net Services - Version 11.2.0.4 to 11.2.0.4 [Release 11.2]
Linux x86-64
Symptoms
Dynamically added new disks to storage using udev rules(as per the docs note 414897.1, 1528148.1, 371814.1 etc).
During start_udev, udev has deleted the public network interface and this caused the listener to crash, and clusterware moved all services, scan listeners and the VIP on node 1 to node 2.
Changes
Trying to add disk to storage using udev
Cause
udev has deleted the public network interface.
Solution
As per RHEL you are advised to set HOTPLUG="no" for the network configuration scripts.
Add HOTPLUG="no" to the ifcfg-eth0 (public), ifcfg-eth1 (private) and ifcfg-eth2 (backup) network config files in /etc/sysconfig/network-scripts directory.
建议先做数据库备份。
1.停止数据库及集群服务
su - grid
srvctl stop listener
srvctl stop database -d jyrac
rac1/rac2
su - root
/u01/11.2.0/grid/bin/crsctl stop crs
####################### rac1/rac2 begin ##############################
2.网卡信息修改
注意:如果是使用网卡绑定,比如绑定后的网卡为bond0,则要在bond0的配置文件里添加hotplug配置信息,在eth0里添加不起作用。(实战中所有在用网卡均添加)
备份所有网卡信息至/tmp 目录
rac1/rac2
cp ifcfg-eth0 /tmp/ifcfg-eth0bak
cp ifcfg-bond0 /tmp/ifcfg-bond0bak
cp ifcfg-eth1 /tmp/ifcfg-eth1bak
...
实际:
[root@jyrac1 network-scripts]# cp * /tmp/wkbak
[root@jyrac1 network-scripts]#
[root@jyrac2 network-scripts]# cp * /tmp/wkbak/
[root@jyrac2 network-scripts]#
修改网卡信息
HOTPLUG="no"
重启网络服务
service network restart
[root@jyrac1 network-scripts]# service network restart
Shutting down interface bond0: [ OK ]
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface bond0: Determining if ip address 192.168.20.11 is already in use for device bond0...