暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Private IP错误导致CRS无法启动的故障处理

原创 subverter 2024-04-07
660

1、由于Private IP错误,在启动CRS时会报如下错误。

2、故障处理

由于通过oifcfg正常修改Private IP的前提是两个节点CRS必须启动,因此这条路已经变为死循环。

另一条路是通过gpnptool进行极端情况下恢复

GPNPD(Greater Pittsburgh Nonprofit Partnership)
进程的主要的作用是在集群各个节点中同步GPnP profile文件,在Clusterware中,CSS、GPnP
等服务的启动都需要依赖于GPnP  profile文件。而GPnP profile文件是一个xml文件,它存
储 的 位 置 是 在 : $GRID_HOME/gpnp/<hostname>/profile/peer/profile.xml ,
$GRID_HOME/gpnp/profile/peer/profile.xml(全局备份,最原始的配置信息)。GPnPD进程写
的trace文件会存放在$GRID_HOME/log/<hostname>/gpnpd/gpnpd.log。 
有几个重要的信息存储在GPnP profile文件: 
a、网络接口和IP地址(公网和私网) 
b、ASM diskstring和spfile信息 
GPnP profile保存的是RAC的配置信息,包括集群名称、网络类型信息(public/private)、
ASM和CSS的存储信息、安全的数字签名,以及ASM实例的SPFILE文件位置。当集群配置
发生变化时,所有节点的该文件会被自动更新。在安装、系统引导或者当使用标准的集群工
具更新期间,这些活动包括:oifcfg 改变网络信息、crsctl 改变css设备、ASM额外的存储
等,会通过gpdpd进程复制GPnP profile到所有的其他节点。

2.1先强制关闭所有节点的CRS

# crsctl stop crs -f

2.2 以排他模式和不启动crsd进程的方式启动crs

# crsctl start crs -excl -nocrs 

2.3备份gpnp配置信息 

# mkdir /u01/gpnp 
# gpnptool get -o=/u01/gpnp/profile.xml 

#more /u01/gpnp/profile.xml 注意标红的地方就是琨哥修改错误的Private IP信息

<?xml version="1.0" encoding="UTF-8"?><gpnp:GPnP-Profile Version="1.0" xmlns="http://www.grid-pnp.org/2005/11/gpnp-profile" xmlns:gpnp="http://www.grid-pnp.org/2005/11

/gpnp-profile" xmlns:orcl="http://www.oracle.com/gpnp/2005/11/gpnp-profile" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.grid-p

np.org/2005/11/gpnp-profile gpnp-profile.xsd" ProfileSequence="6" ClusterUId="7c7d4290ac6c6f8ebf8f594b3523d464" ClusterName="hlesdb2-cluster" PALocation=""><gpnp:Netwo

rk-Profile><gpnp:HostNetwork id="gen" HostName="*"><gpnp:Network id="net2" IP="10.135.17.0" Adapter="bond0" Use="public"/><gpnp:Network id="net3" Adapter="eth3" IP="17

2.16.17.130" Use="cluster_interconnect"/></gpnp:HostNetwork></gpnp:Network-Profile><orcl:CSS-Profile id="css" DiscoveryString="+asm" LeaseDuration="400"/><orcl:ASM-Pro

file id="asm" DiscoveryString="/dev/mapper/*" SPFile="+OCR_VOTE/hlesdb2-cluster/asmparameterfile/registry.253.857395487"/><ds:Signature xmlns:ds="http://www.w3.org/200

0/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/

xmldsig#rsa-sha1"/><ds:Reference URI=""><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><ds:Transform Algorithm="http:/

/www.w3.org/2001/10/xml-exc-c14n#"> <InclusiveNamespaces xmlns="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="gpnp orcl xsi"/></ds:Transform></ds:Transforms><ds

:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds:DigestValue>C4s+NZHYprAYsjH4XFfuAH7H+XE=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:Signa

tureValue>MlmlDcPhXkY2vmzaYUe8CWumsgbMfu64uKRL6om595IYTwAwrsJ02jNr455SNM/DLD8uIyPXJ9kNKxnaaU8LJXmt7CWzXX8Z+IvWlvHx7eHJPQ0kWmsy+xjVvUMmBAkxkorvow6LjJkMkfHEWW/oe9U6uPnXw

IyKzTQWGJcl71Y=</ds:SignatureValue></ds:Signature></gpnp:GPnP-Profile>

2.4查看gpnp配置信息

# gpnptool  get 

次步骤查出的信息和备份出配置文件应该一模一样。

2.5修改备份的gpnp配置信息

a.备份配置文件: 
# cp /u01/gpnp/profile.xml /u01/gpnp/p.xml 

b.获取当前的序列号(每次修改并写回gpnp中会有一个序列号作为标识)

# gpnptool getpval -p=/u01/gpnp/p.xml -prf_sq -o- 

6

c.获取共有网络和私有网络标识id
# gpnptool getpval -p=/u01/gpnp/p.xml -net -o- 
net2 net3

d.修改配置文件中的序列号(原序列号值加1)和私网的实际网段(subnet)信息: 
# gpnptool  edit  -p=/u01/gpnp/p.xml  -o=/u01/gpnp/p.xml  -ovr  -prf_sq=7
-net3:net_ip=192.168.100.0 
Resulting profile written to "/u01/gpnp/p.xml". 
Success.

e. 查看配置文件是否修改成功

# more /u01/gpnp/p.xml 

f. 验证序列号是否修改完成
# gpnptool getpval -p=/u01/gpnp/p.xml -prf_sq -o- 
7

g. 用私钥重新标识配置文件
# gpnptool sign -p=/u01/gpnp/p.xml -o=/u01/gpnp/p.xml -ovr -w=cw-fs:peer 
Resulting profile written to "/u01/gpnp/p.xml". 
Success. 

h. 回写配置文件信息到gpnp profile
# gpnptool put -p=/u01/gpnp/p.xml 

i.启动crsd进程
# crsctl start res ora.crsd -init 
CRS-2672: Attempting to start 'ora.crsd' on 'hlesdb01'
CRS-2676: Start of 'ora.crsd' on 'hlesdb01' succeeded 
# crs_stat -t 
CRS-0184: Cannot communicate with the CRS daemon.

j. 查看和修改私有网络配置

# oifcfg getif

bond0 10.135.17.0 global public

eth3 192.168.100.0 global cluster_interconnect

PRIF-30: Network information in OCR profile needs to be synced with GPnP profile.

注意此时标红的信息,这是因为我们手工修改了GPNP profile,但是OCR中的信息还是错误的,所以不一致。

下一步就是要恢复OCR。

2.5恢复OCR

a.查看OCR自动备份信息

$ocrconfig –showbackup

hlesdb01 2014/09/12 14:35:51 /u01/app/11.2.0/grid/cdata/hlesdb2-cluster/backup00.ocr

hlesdb01 2014/09/12 08:35:50 /u01/app/11.2.0/grid/cdata/hlesdb2-cluster/backup01.ocr

hlesdb01 2014/09/12 02:35:50 /u01/app/11.2.0/grid/cdata/hlesdb2-cluster/day.ocr

hlesdb01 2014/09/12 02:35:50 /u01/app/11.2.0/grid/cdata/hlesdb2-cluster/week.ocr

b.停CRS,并启动到排他模式

#crsctl stop crs -f

#crsctl start crs -excl -nocrs

c.从备份恢复OCR信息

# ocrconfig -restore /u01/app/11.2.0/grid/cdata/hlesdb2-cluster/backup00.ocr

d.恢复完后检查OCR信息

#ocrcheck

Status of Oracle Cluster Registry is as follows :

Version : 3

Total space (kbytes) : 262120

Used space (kbytes) : 3160

Available space (kbytes) : 258960

ID : 878197920

Device/File Name : +OCR_VOTE

Device/File integrity check succeeded

Device/File not configured

Device/File not configured

Device/File not configured

Device/File not configured

Cluster registry integrity check succeeded

e. 查看和修改私有网络配置

# oifcfg getif

bond0 10.135.17.0 global public

eth3 192.168.100.0 global cluster_interconnect

这次没有再出现错误信息

f.正常重启CRS

#crsctl stop crs

#crsctl start crs

OK,大功告成,CRS和数据库都已经正常启动!

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论