前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【DB笔试面试725】在Oracle中,什么是GPnP?

【DB笔试面试725】在Oracle中,什么是GPnP?

作者头像
小麦苗DBA宝典
发布2020-01-20 17:02:13
1.5K0
发布2020-01-20 17:02:13
举报

题目部分

在Oracle中,什么是GPnP?

答案部分

网格即插即用(Grid Plug and Play,GPnP)是Oracle 11gR2 RAC提供的新组件,该组件的功能由gpnpd.bin守护进程实现。GPnP可以提供一个动态的GI环境,能随着负载的增加而动态改变GI环境。GPnP能非常容易地添加、替换或者移除集群中的节点,就像电源插头一样即插即用。

GPnP主要由GPNPD、mDNS、SCAN和GNS组成。mDNS(Multicast Domain Name Service)负责在节点内部进行IP的解析,在添加节点的时候不需要手动修改每个节点的/etc/hosts文件。GPNPD服务提供的是集群配置信息管理,新的节点添加进来会根据现有的GPnP profile配置信息来配置新的节点,同时更新所有节点的GPnP profile文件。一旦新添加的节点加入到集群,SCAN机制动态地将连接分配给该节点,所有的客户端都不需要进行任何配置的变更,就能实现节点的负载均衡。GNS(Grid Naming Service)能动态地为新添加的节点分配VIP地址,利用DHCP管理公共网络中的IP地址。这些服务共同构成了“网格即插即用”的特性。

GPnP profile存储了整个集群的配置信息,它是一个XML文件,该文件中包括了集群名称、网络类型(public/private)、ASM和CSS的存储信息、数字签名,以及ASM实例的SPFILE文件位置等。在集群中,CSS、GPnP等服务的启动都依赖于GPnP profile文件,该文件引导节点加入集群。如果GPnP profile文件被破坏或丢失,那么集群将无法正常启动。在集群启动期间,CSS守护进程将使用GPnP profile文件中的DiscoveryString参数发现表决磁盘文件,所以,若DiscoveryString参数配置不正确,则CSS守护进程无法启动,进而导致整个CRS无法启动。

GPnP profile文件默认的保存位置是:

代码语言:javascript
复制
$GRID_HOME/gpnp/$HOSTNAME/profile/peer/profile.xml
$GRID_HOME/gpnp/profiles/peer/profile.xml  --全局备份

不能手动修改profile.xml文件,否则可能导致集群不能正常运行,可以使用命令gpnptool来修改该文件,使用命令“gpnptool get”可以获取profile.xml文件的内容。当集群配置发生变化时(例如,oifcfg改变网络信息、ASM添加存储等),所有节点的该文件会被自动更新(通过gpnpd.bin进程复制GPnP profile到所有的其它节点。注意:gpnpd是一个多线程的进程)。

profile.xml文件的内容如下所示(注意,这些内容其实只有1行):

代码语言:javascript
复制
<?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-pnp.org/2005/11/gpnp-profile gpnp-profile.xsd" ProfileSequence="12" ClusterUId="3eed96ebd74fef99bf93e7032daeee32" ClusterName="node-cluster" PALocation=""><gpnp:Network-Profile><gpnp:HostNetwork id="gen" HostName="*"><gpnp:Network id="net1" IP="192.168.1.0" Adapter="eth0" Use="public"/><gpnp:Network id="net2" IP="9.9.9.0" Adapter="eth1" Use="cluster_interconnect"/></gpnp:HostNetwork></gpnp:Network-Profile><orcl:CSS-Profile id="css" DiscoveryString="+asm" LeaseDuration="400"/><orcl:ASM-Profile id="asm" DiscoveryString="/dev/asm*,ORCL:ARCHDISK,ORCL:DATADISK,ORCL:OVDISK" SPFile="+OCR/node-cluster/ASMPARAMETERFILE/REGISTRY.253.936729105"/><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>zKokirQPReHpvj1wK31zrSOnwKE=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>NU+AVQ8RtyvhVqGi1sdsBdtRqia29V3ES6F6BSymX0uRkrpMQR7ooTNHDX6gAaxUhFv1D5lf6e2+W/08oQuBwlwXg7j5MwJT5/WkZO8NFKkzNbmwW7zzVoV9izCQJ//DQoqb/YObwvykuvnhGtqivZ95g3imfOMeAo5Fzpq1FS8=</ds:SignatureValue></ds:Signature></gpnp:GPnP-Profile>

如果GPnP出现问题,那么可以使用cluvfy comp gpnp组件验证命令检查在集群中所有节点网格即插即用的完整性。

代码语言:javascript
复制
cluvfy comp gpnp [-n node_list] [-verbose]

& 说明:

有关GPnP的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2141232/

本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档