• RAC 节点未加入集群 – 网格进程间通信 (GIPC)


    GIPC 是用于节点间进程间通信的守护进程。这也支持冗余互连使用。GIPC 守护进程 (gipcd.bin) 有一个端点 'gipcha://nodename:xxx'。您可以在下面的日志条目中看到这一点。

    2019-03-14 23:26:56.429: GIPCGEN:718243584: gipcRequestSaveInfo: 客户端花费了很长时间 2300 毫秒来消费请求 0x7fbc2407e530 [000000001b23a413] { gipcReceiveRequest: peerName 'gipcha://stone:nm2_primcluster/edd1f-195 ',data 0x7FBC24092DF8,LEN 148,OLEN 148,OFF 0,parentEndp 0x7fbc4c065de0,ret Gipcretsuccess(0),OBJFLAGS 0x0,REQFLAGS 0x4} ENDP 0X7FBC4C4C4C4C0POINT goint Point -3ad9',remoteAddr 'gipcha://stone:nm2_primcluster/ed1f-1959-1be4-9d99',numPend 1,numReady 0,numDone 3,numDead 0,numTransfer 0,objFlags 0x0,pidPeer 0,readyRef 0x22973e0,ready 1, wobj 0x7fbc4c067d70, sendp (nil) 状态 0flags 0x20038606, flags-2 0x0, usrFlags 0x0 }

    当一个新节点试图启动 CRS 时,与此端点的连接非常重要。假设有一个两节点集群,并且 node1 已启动并正在运行,并且 node2 正在尝试加入集群。一旦 GIPC Daemon 成功启动 node2,代理就会启动 CSSD (node )。CSSD (node2) 尝试与 CSSD (node1) 建立连接,为此 CSSD (node 2) 需要 RESOLVE 连接字符串的 CSSD (node 1)。CSSD(节点2)要求GIPCD(节点2)解析CSSD(节点1)连接字符串,GIPCD(节点2)尝试连接GIPCD(节点1)。一旦 GIPCD(节点 2)和 GIPCD(节点 1)之间建立了引导连接,那么 GIPCD(节点 2)将解析 CSSD(节点 1)的连接字符串并获取 CSSD(节点 1)的接口详细信息,然后是 CSSD (节点 1)将与 CSSD(节点 1)建立连接。

    节点 2 发送 gipchaUpperConnect 请求

    crsd.trc:2019-03-15 15:26:58.056:GIPCHAUP:991872768: gipchaUpperConnect: 为 umsg 0x7fcc2804fa50 { msg 0x7fcc280ce990, ret gipcretRequestPending (15), 标志 0x6 }, msg30, 0x7fcc280ce990 启动连接'23BB-7DF3-F7DF-0943',DSTPORT'1CE0-223D-0365-C7C7C7',SRCCID 00000000-0666AB136,COOKIE 00007FCC-2804FA50} 0943',对等 ':',srcCid 00000000-066ab136,dstCid 00000000-00000000,numSend 0,maxSend 100,groupListType 1,hagroup 0x6000c50,优先级 0,forceAckCount 0,usrFlags 0x40000,flags 0x400007 'cc 节点 08,50 64 } haName '55a8-1766-1844-5cfb', srcLuid 4f4247aa-20dc01d6, dstLuid 2dc39efd-83d14b11 numInf 1, sentRegister 1, localMonitor 0, baseStream 0x7fcc28037f60 类型 gipchaNodeType12001 (20),nodeIncarnation 6e8cc55a-df0ec036,incarnation 2,cssIncarnation 0,roundTripTime 4294967295 lastSeenPingAck 0 nextPingId 1 latencySrc 0 latencyDst 0 flags 0x80c}

    对于上述请求,节点 2 从节点 1 开始 ACK (gipchaUpperProcessConnectAck)。

    CRSD.TRC:2019-03-15 15:26:58.066:GIPCHAUP:991872768:GIPCHAUPERPROCESSCONNECTACK:CONNACK完成UMSG 0X7FCC2804FA50 {MSG 0X7FCC280CE990,gipccrcces interms gipcrccs(0x7fcc280cem)0.00 certem} 0. 0.00; 23BB-7DF3-F7DF-0943',DSTPORT'1CE0-223D-0365-C7C7C7',SRCCID 00000000-0666AB136,COOKIE 00007FCC-2804FA50} ', peer 'stone:1ce0-223d-0365-c7c7/440a-9c44-76e9-9e73', srcCid 00000000-066ab136, dstCid 00000000-00001e8e, numSend 0, maxSend 100, groupListType 1, hagroup 0xAckCount 05, 优先级05, , usrFlags 0x4000, 标志 0x204 } 节点 0x7fcc280564d0 { 主机 'stone', haName '55a8-1766-1844-5cfb', srcLuid 4f4247aa-20dc01d6, dstLuid 2dc39efd-83d14b11 numInf 1, sendRegister 0,baseStream 0x7fcc28037f60 type gipchaNodeType12001 (20), nodeIncarnation 6e8cc55a-df0ec036, incarnation 2, cssIncarnation 0, roundTripTime 4294967295 lastSeenPingAck 0 nextPingId 1 latencySrc 0 latencyDst 0 flags 0x80c}

    从节点 1(GIPC)开始,它已经处理了 gipchaUpperProcessAccept

    CRSD.TRC:2019-03-15 15:26:58.061:GIPCHAUP:3581314816:GIPCHAUPERPROCESSACACCEPT:完成New Hastream 0x7f2dc003f770 hendp (nil) haNode 0x7f2dc4061f40 numInf 1, contigSeq 1, lastAck 0, lastValidAck 0, sendSeq [1 : 1], 优先级 0, 重复接收 0, 完成接收 0, 完成发送 0, 总发送 0, 总接收 1, 标志 0x1 }用于Hendp 0x7F2DC003F920 [0000000000001E8E] {gipchaendpoint:port'1CE0-223D-0365-C7C7/440A-9C44444444444444444444444444444444-76E-9E73E73',PEER,PEER': groupListType 1,hagroup 0x558d830,优先级 0,forceAckCount 0,usrFlags 0x4000,标志 0x0 }

    如果一个节点无法加入集群并且卡在 CSSD notcoming ONLINE,您需要查看所有其他节点上的 GIPC Daemon 是否在线并且能够与其他实例通信。

    您可能会在 cssd 日志中看到 CRS 在启动 CSSD 时出现以下错误。错误是说缺少 NHB,因此需要在 GIPC 到来之前验证私有互连和多播是否正常工作。

    GIPCHALO:55916864:gipchaLowerSendEstablish:为节点'0x7fa4046ea260 {主机'rac-node-01',haName ...}'
    发送建立消息GIPCHALO:55916864:gipchaLowerSendEstablish:为节点'0x7fa4046d8540 {主机'rac-node-03'发送建立消息, haName ..}'
    CSSD:39119168: clssnmvDHBValidateNCopy: 节点 1, rac-node-01, 有磁盘 HB, 但没有网络 HB, ...
    CSSD:39119168: clssnmvDHBValidateNCopy: 节点 3, rac-node-03, 有磁盘 HB , 但没有网络 HB, ...
    CSSD:29653312: clssnmvDHBValidateNCopy: 节点 1, rac-node-01, 有一个磁盘 HB, 但没有网络 HB, ..
    CSSD:29653312: clssnmvDHBValidateNCopy: 节点 3, rac-node-03, 有磁盘 HB,但没有网络 HB,..
    CSSD:4227856704:clssnmSendingThread:节点 rac-node-01 的连接挂起,编号 1,标志 0x00000002
    CSSD:136706368:clssscWaitOnEventValue:在 CmInfo 状态 val 3 之后,eval 1 等待 1000,cvtimewait 状态为 4294967186

    您可以按照以下步骤操作。

    在幸存的节点上,杀死 gipcd.bin 进程(kill -15 “gipcd.bin ospid”)

    在 11.2 中,evmd.bin、crsd.bin 和 ctssd.bin 进程也将重新启动。Clusterware 将自动重生所有这些。

    在幸存节点上重新生成 gipcd.bin、evmd.bin、crsd.bin 和 ctssd.bin 进程后,验证其他节点是否加入集群。

    您必须确保没有上述过程地位。意味着它没有被杀死或放大,其他节点可能仍会尝试连接到这些进程。

    大多数情况下,GI 会启动,但如果没有启动,请使用 crsctl 命令在其他节点上重新启动 GI。

    如果 GI 仍未启动,则需要重新启动整个集群。大多数情况下滚动重启会起作用,但有可能需要完全关闭/重启

  • 相关阅读:
    Java技术之ThreadLocal的使用
    find and find_by
    vim-config
    把字符串当做js代码执行的方法
    lodop打印设计
    前端使用lodop如何获取打印状态
    lodop第三方插件的使用
    nodejs中http服务器,如何使用GET,POST请求发送数据、npm、以及一些插件的介绍
    nodejs 用http模块搭建的服务器的路由,以及路由代码的重构过程
    nodejs基础 用http模块 搭建一个简单的web服务器 响应JSON、html
  • 原文地址:https://www.cnblogs.com/lkj371/p/16844994.html
Copyright © 2020-2023  润新知