GPnP Profile 文件的作用:
GPnP Profile 文件是一個保存于?$GRID_HOME/gpnp/<hostname>/profiles/peer?目錄下的小型 XML 文件,名稱為 profile.xml。
其用于正確描述 RAC 每個節點的全局特性。每個節點上都會保存一個本地的 GPnP Profile,并且由 GPnP 守護進程(GPnPD)維護。
GPnP Profile 包含的內容:
GPnP Profile 的功能類似于 SPFILE,其用于保存啟動數據庫集群程序所需的必要信息,如下表所示。
GPnP Profile 參數 |
集群名稱(Cluster name) |
網絡類型,包含業務及心跳網絡(Network classifications, Public/Private) |
用于 CSS 進程的存儲(Storage to be used for CSS) |
用于 ASM 的存儲(Storage to be used for ASM : SPFILE location, ASM DiskString etc) |
數字簽名信息(Digital signature information):GPnP Profile 對安全十分敏感,其可識別根分區的信息,并且保存了數據簽名的配置權限。 |
GPnP Profile 信息的更新:
GPnP Profile 將會在以下情況被更新。
(1).GPnP 守護進程(GPnPD)將在軟件安裝、系統啟動或 Profile 更新時復制 Profile 的變化,以此實現所有節點 GPnP Profile 的同步更新。
(2).當由 oifcfg、crsctl、asmcmd 等命令更改集群配置時,GPnP Profile 都將被同步更新。?
集群軟件對?GPnP Profile 配置信息的應用原理:
啟動集群軟件時,需要訪問仲裁盤(Voting Disk)。當仲裁盤為 ASM 磁盤時,以上仲裁盤的信息需要從 GPnP Profile 中讀取,其中 GPnP Profile 對仲裁盤信息描述如下。
<orcl:CSS-Profile id=”css” DiscoveryString=”+asm” LeaseDuration=”400″/>
即使 ASM 實例沒有啟動,仲裁盤的信息依舊可以通過?kfed?功能讀取。(he voting disk is read using kfed utility? even if ASM is not up.)
隨后,集群軟件將檢查是否所有的 RAC 節點都更新了 GPnP Profile 信息,并且 RAC 各節點將依據 GPnP 的配置信息加入集群中。當一個節點加入集群或在集群中啟動時,集群軟件將在節點上啟動 GPnP agent。當節點已經在集群內部時,GPnP agent 將讀取已存在于節點內的 GPnP profile。當節點被新加至集群時,GPnP agent 將通過組播協議(mDNS)定位到一個已存在于集群的節點的 GPnP agent,并且從該源端的 agent 上獲取 GPnP profile。
隨后,CRSD 進程將需要讀取 OCR 信息以啟動節點上的多個資源,并根據資源狀態更新 OCR 信息。(Next CRSD needs to read OCR to startup various resources on the node and hence update it as status of resources changes.)因為?OCR 信息保存于 ASM 磁盤內,所以 CRSD 讀取 OCR 信息前需獲知?ASM Spfile 參數文件的路徑。需要在不同的參數文件中查找 ASM Spfile 路徑,因此查找文件的順序如下:(1).GPnP Profile;(2).ORACLE_HOME/dbs/spfile<sid.ora>;(3).ORACLE_HOME/dbs/init<sid.ora>
?
GPnP Profile 維護工具:
可使用 gpnptool 工具對 GPnP Profile 進行維護,常見命令如下。
(1).$>?gpnptool get:讀取 GPnP Profile 內容(How to read the profile)
(2).$>?gpnptool lfind:查看運行于本地節點的 GPnP 守護進程(How to find GPnP Deamons are running on the local node)
(3).$>?gpnptool find:查看基于 mDNS 協議可以探測到的所有 GPnP 守護進程(How to find all RD-discoverable resources of given type)
(4).$>?gpnptool getpval -<parameter_name>:查看 GPnP Profile 中對應參數的值,其中 <parameter_name> 為參數名稱。
Oracle-11g-R2 RAC 環境下 GPnP Profile 文件