gpnp Tools 使用方法小节

来源:互联网 发布:c语言算法描述举例 编辑:程序博客网 时间:2024/06/12 03:34


首先,gpnp profile(这是个xml文件,而对于gpnp的 wallet文件,我们并不做过多的介绍)用于存放构建集群的bootstrap 信息,或者可以称为构建集群的最基本的信息,其中包括,集群名称,集群GUID, ASM discovery string, 公网和私网信息等等。所以,当我们在启动集群的某一个节点时,需要读取这个文件(默认文件名为<gi_home>/gpnp/<node_name>/profiles/peer/profile.xml),从而获得构建集群的基本信息。另外,由于这个文件中保存的是整个集群的基本信息,所以这个文件在所有节点之间都应该是相同的。同时,我们还需要一个守护进程,也就是gpnpd.bin(资源名为 ora.gpnpd) 来对gpnp profile 进行维护。举个例子,一个3节点的集群,其中节点3由于一些问题暂时没有启动,而在此期间,集群的私网配置发生了改变,之后,节点3启动,在启动的过程中,节点3的gpnpd进程需要和其他节点的gpnpd进程通信,获得最新版本的gpnp profile。




参考文章:
《11gR2新特性---Gpnp守护进程》
https://blogs.oracle.com/Database4CN/tags/gpnp




我们知道,11gr2 修改网络配置,都必须在集群开启的状态下,使用oifcfg或者其他srvctl等命令。


如果网络状态已经改变,无法开启集群,除了将网络恢复到原来的状态,还能如何?
这就引入了gpnptool工具,这个工具可以在不开启集群的情况下修改集群bootstrap的信息。包括:
1) Cluster Name
2) Network Profile
3) CSS-Profile tag
4) ASM-Profile tag






下面的示例就是在集群已经关闭,但是私有网已经变化无法正常开启crs,而使用gpnptool工具来修改配置信息的示例:


以下为gpnpprofile的示例信息:
<?xml version="1.0" encoding="UTF-8"?>


-<gpnp:GPnP-Profile PALocation="" ClusterName="dsdb11g-cluster" ClusterUId="aa0494cef6b5ef5cff657765a26907cd" ProfileSequence="13" xsi:schemaLocation="http://www.grid-pnp.org/2005/11/gpnp-profile gpnp-profile.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:orcl="http://www.oracle.com/gpnp/2005/11/gpnp-profile" xmlns:gpnp="http://www.grid-pnp.org/2005/11/gpnp-profile" xmlns="http://www.grid-pnp.org/2005/11/gpnp-profile" Version="1.0">




-<gpnp:Network-Profile>




-<gpnp:HostNetwork HostName="*" id="gen">
--网络信息,包括共有以及私有网卡的配置信息。
<gpnp:Network id="net1" Use="public" Adapter="net0" IP="10.8.28.0"/>


<gpnp:Network id="net4" Use="cluster_interconnect" Adapter="net2" IP="192.168.99.0"/>


</gpnp:HostNetwork>


</gpnp:Network-Profile>
--cssprofile的信息。
<orcl:CSS-Profile id="css" LeaseDuration="400" DiscoveryString="+asm"/>
--磁盘信息,包括discovery 信息以及asm spfile 所在位置。
<orcl:ASM-Profile id="asm" DiscoveryString="/dev/raw/*" SPFile="+DATA1/dsdb11g-cluster/asmparameterfile/registry.253.918380117"/>




-<ds:Signature xmlns:ds="http://www.w3.org/2000/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>Vs9jpO31IQw2RpAq3W4bGbwq3EE=</ds:DigestValue>


</ds:Reference>


</ds:SignedInfo>


<ds:SignatureValue>FvquupL+1aQKqTNjLw5R0q9IYXd/d7rSfHtUvLVnydpEW4OnFeRiGRLQ0XPFZ0+4a3FH2eaTVptJw6GSL9rtb78C/Av2xQvL5DzXAaKuq56FYS43eLqK3FtcfrMNFLS69F7sY6QXpYv89P5gHB3gCK4QwmsBeXPWpo6reH9ZUKI=</ds:SignatureValue>


</ds:Signature>


</gpnp:GPnP-Profile>
复制代码






我们要修改
<gpnp:Network id="net4" Use="cluster_interconnect" Adapter="net2" IP="192.168.99.0"/>
这一条,可能有人会问,为什么不直接修改xml文件呢。
我也尝试过,但是这个gpnpprofile因为比较重要,每修改一处都有相应的文档编号生成,并且如上面的资料所说有固定的后台进程维护。
所以就算自己修改以后,还是会出现开启集群的时候,xml文件回复为未修改前的内容。




下面只列举了网络相关的说明
gpnptool help
-[pid:]net            Profile Tag: <Network> children of <HostNetwork Id="pid">, optional
                         -[id:]net_ip          Profile Tag: <Network [Id="id"]  IP="<val>">, optional
                         -[id:]net_use         Profile Tag: <Network [Id="id"]  Use="<val>">, optional
                         -[id:]net_nt          Profile Tag: <Network [Id="id"]  NameTempl="<val>">, optional
                         -[id:]net_aip         Profile Tag: <Network [Id="id"]  AutoIP="<val>">, optional
                         -[id:]net_ada         Profile Tag: <Network [Id="id"]  Adapter="<val>">, optional


cd /u01/app/11.2.0/grid/gpnp/dsdb11g1/profiles/peer
cp profile.xml profile.bak
固定步骤,移除标识信息
gpnptool unsign -p=profile.bak


要修改的内容
gpnptool edit -net4:net_ip='192.168.77.0' -p=profile.bak -o=profile.bak -ovr




固定步骤,wallet标识配置文件
gpnptool sign -p=profile.bak -w=file:/u01/app/11.2.0/grid/gpnp/dsdb11g1/wallets/peer/ -o=profile.new
固定步骤,替换现有的profile
mv profile.new profile.xml




两个节点都按照上述步骤修改后


start the crs


集群正常开启。




后续希望可以可用这个工具将已安装好集群软件以及数据库软件的模板做出来。


其他参考文章:
集群启动顺序说明
https://www.linkedin.com/pulse/gpnp-profile-internals-oracle-rac-nitish-anand-srivastava


http://oracleinaction.com/edit-gpnp-profile/




http://www.hhutzler.de/blog/fix-a-wrong-entry-profile-xml-and-redistribute-the-fixed-profile-with-gpnptool-put/

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孩子心里素质差怎么办 三年级语文太差怎么办 宝宝一年级很笨怎么办 一年级孩子太笨怎么办 孩子学习脑子笨怎么办 四年级孩子数学差怎么办 中考考不好了怎么办 初中没学高中怎么办 数学基础差该怎么办 三年级数学成绩差怎么办 夫妻差6岁怎么办 初一数学很差劲怎么办 三年级孩子成绩差怎么办 初中数学成绩不好怎么办 大人不会算数学怎么办 小学初数学不好怎么办 初中生数学计算能力差怎么办 初中生数学计算差怎么办 初一数学没救了怎么办 五年级英语不好怎么办 三年级孩子学习差怎么办 孩子三年级学习成绩差怎么办 三年级字写不好怎么办 7小孩表达能力差怎么办 孩子考了低分怎么办 初一考300分怎么办 小学三年级成绩不好怎么办 五年级考几分怎么办 思想晚熟的人怎么办 孩子学不好数学怎么办 做作业速度慢怎么办 孩子碎头发太多怎么办 孩子碎发太多怎么办 孩子的作业太多怎么办 爸爸是乙肝孩子怎么办 孩子出生没有奶怎么办 顺产后没有奶水怎么办 还在经常逃课怎么办 老板不重视自己怎么办 孩子不听话爱撒谎怎么办 老师针对我孩子怎么办