oracle gpnp介绍

文章讲述了GridPlugAndPlay(gpnp)的组件gpnpwallet和gpnpprofile的作用,以及gpnpd守护进程在集群配置变更时的同步流程。gpnpprofile存储启动集群所需信息,gpnpd通过多线程处理本地和远程节点的配置更新。
摘要由CSDN通过智能技术生成

全称grid plug and play。

目的:

1)将集群的基本配置信息保存在本地,以便在启动集群时能够从本地文件中获得足够的信息,而不再需要完全依赖OCR

2)通过和mdnsd进行通信,更灵活的识别集群中的节点,使集群结构更加灵活,而不再需要从OCR中获取节点列表

gpnp组件由2部分组成:gpnp walletgpnp profile

gpnp wallet

功能是保存需要访问的gpnp profile文件的客户签名信息,当客户访问gpnp profile时通过wallet中的签名信息进行验证,确保只有指定的客户能访问profile文件。这部分内容不需要用户配置,在安装gi时,oracle会自动完成签名信息的初始化。

gpnp的wallet文件可在<gi home>/gpnp/wallets/peer下找到

gpnp profile

是一个xml文件,用于保存启动(bootstrap)集群节点时所需的必要信息。gpnp profile中的信息类似数据库bootstrap时所需要的信息。

gpnp profile保存在路径<gi home>/gpnp/profiles/peer下

可通过gpnptool工具来获取gpnp profile的内容

profilesequence表示该gpnp profile的序列号,该文件做一次修改,序列号+1.

clusteruid表示集群的global id。12c开始gi通过clusteruid来唯一标识一个集群。随机生成,无法修改。

clustername表示集群名称。12c前gi通过集群名称来标识集群。

gpnp:network id="net1" IP="*.*.*.0" adapter="eth0" use="public"表示集群公网信息。use用于区分网络,这个选项只能是public或者cluster_interconnect。

gpnp:network id="net2" IP="*.*.*.0" adapter="eth1" use="cluster_interconnect"表示集群的私网信息。id表示网络资源的名称,ip指定子网信息,adapter为网卡信息。

orcl:CSS-profile id="css" discoverystring="+asm" leaseduration="400" 其中id="css"表示这部分信息是css需要的。discoverystring="+asm"表示表决盘(VF)保存的路径,cssd在启动时会在这个路径下扫描表决盘,上面例子中,cssd会扫描ASM的disk_string发现表决盘。leaseduration="400"定义了节点号的租借有效期。

orcl:ASM-profile id="asm" discoverystring="" SPFile="+DATA/test-cluster/asmparameterfile/register.253.827833411"

其中 id="asm"表示这部分信息是ASM需要使用的。spfile指定了asm实例启动时需要访问的spfile位置。

问:

gpnp profile中部分信息是集群信息(集群名称、公网私网定义等等),那么这些信息改变后,如何实现信息的同步?

gpnpd守护进程

gpnp是一个多线程的进程,主要线程包括:

gpnp主线程(clsgpnpd_mainwork):该线程负责主要工作,例如,访问gpnp profile,对该文件进行读取。

push线程(clsgpnpd_pushthread):当本地gpnp profile发生改变or需要向远程节点推送gpnp profile,该线程负责传输gpnp profile。

派遣线程(clsgpnpd_dispathThread):该线程负责接受gpnpd收到的各种信息并分派给对应的线程。

OCR线程(clsgpnp_ocrDetectThread):该线程在发现OCR中相关的信息发生改变时通知派遣线程。

可回答上面的问题:

在集群部分信息发生变更时,本地gpnpd的派遣线程通知所有远程节点的派遣线程,发生了配置改变本地gpnpdpush线程将新版本的gpnp profile发送给所有远程节点远程节点的派遣线程收到信息后,开始接收新版本的gpnp profile

gpnpd被启动时:

1)gpnpd的主线程访问gpnp profile,并加载到cache中打开。如果本地的gpnp profile丢失,可以通过OLR中的信息重新构建gpnp profile。

2)派遣线程向集群的所有节点发送信息,并确认最新的gpnp profile位置。

3)拥有最新版本gpnp profile的节点向该节点发送信息。

4)本地节点收到最新版本的gpnp profile后,开始向外提供服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪灵骅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值