GPnP?
11gR2에서 부터 OCR과 Voting Disk를 ASM에 저장할 수 있는데, 문제는 클러스터웨어에선 CRSD, CSSD 프로세스를 시작하려면 OCR 및 Voting Disk가 필요한데 이들이 ASM에 있다는 것이다. CRSD, CSSD는 즉 ASM이 시작되기 전에 OCR, Voting Disk가 필요한 것이다. 이 문제를 해결하기 위해 오라클은 11gR2에서 이른바 OLR이라는 다른 클러스터 구성 파일이 도입하였다. GPnP profile은 다음과 같은 위치에 존재하는 작은 파일이다.
$GRID_HOME/gpnp//profiles/peer with name profile.xml.
각 노드는 GI 홈에 이 파일의 자체 사본을 가지고 있고, 클러스터의 각 노드는 이 프로필의 로컬 복사본을 유지 관리하며 mdns 데몬과 함께 GPnP 데몬에 의해 유지 관리된다. GPnP 데몬은 클러스터의 모든 노드에서 GPnP 프로필의 동기화를 보장하며 GPnP 프로필은 클러스터웨어에서 노드의 올바른 전역 특성을 설정하는 데 사용된다.
OLR에는 클러스터웨어 초기 시작 순서에서 오라클 HA 서비스가 사용하는 중요한 보안 정보가 저장되어있다. 보팅 이스크를 찾기 위해서는 OLR에 있는 정보고 GPnp구성 파일이 필요하다 만약 이 정보들이 ASM에 저장되어 있을 경우 클러스터 동기화 데몬은 GPnP 프로필에 있는 탐색(discovery string)을 사용하여 정보를 찾는다.
GPnP가 사용되는 방식
ASM 이 올라와 있지 않아도 kfed utility 로 우리는 voting disk를 읽을 수 있다.
다음 스텝으로 클러스터웨어는 모든 노드가 업데이트 된 GPnP프로파일을 가지고 있는지 확인하고 노드들은 GPnP 구성에 따라 클러스터에 조인된다. 노드가 시작되거나 클러스터에 추가될 때마다 시작 노드의 클러스터웨어 소프트웨어는 GPnP 에이전트를 시작하고 다음 작업을 수행합니다.
1.노드가 이미 클러스터의 일부인 경우 GPnP 에이전트는 해당 노드의 기존 프로필을 읽는다.
2. 노드가 클러스터에 추가되는 경우 GPnP 에이전트는 멀티캐스트 프로토콜(nDNS에서 제공)을 사용하여 다른 기존 노드에서 에이전트를 찾고 다른 노드의 GPnP 에이전트로부터 프로필을 가져옵니다.
이제 OHASD는 ASM 인스턴스를 시작하고 ASM은 이제 초기화되어 작동 중인 CSSD로 작동할 수 있습니다.
ASM 인스턴스는 특수 코드를 사용하여 디스크 그룹에 저장된 ASM SPFILE의 내용을 찾습니다.
다음으로 OCR 또한 ASM에 있기 때문에 ASM spfile의 위치를 알아야합니다. ASM SPfile을 검색하는 순서는 다음과 같다.
- GPnP Profile
- ORACLE_HOME/dbs/spfile
- ORACLE_HOME/dbs/init
ASM spfile 은 ASM 안에 있다. 그라나 ASM을 시작하기 위해 우리는 spfile이 필요하다 오라클은 GPnP Profile 로부터 spfile의 위치를 알고 기본 위치에서 spfile flag를 읽은 다음 ASM을 시작한다.
따라서 GPnP프로필을 사용하면 여러 정보가 저장된다. OLR의 정보와 함께 GPnP 프로필 정보에는 충분한 정보가 있다.
여러 작업을 자동화하기에 충분하거나 관리자가 편해졌고 OCR에 대한 의존도가 점차 낮아졌지만 지워지진 않는다.
GPnP Profile이 포함하는 정보
GPnP profile defines a node’s metadata about:
- Cluster Name
- Network interfaces for public and private interconnect
- ASM server parameter file Location and ASM Diskstring etc.
- CSS voting disks Discovery String
- Digital Signature Information
[grid@paw-racnode1 peer]$ pwd
/u01/app/11.2.0/grid/gpnp/paw-racnode1/profiles/peer
[grid@paw-racnode1 peer]$ gpnptool get
Warning: some command line parameters were defaulted. Resulting command line:
/u01/app/11.2.0/grid/bin/gpnptool.bin get -o-
<?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=”5″ ClusterUId=”1c12005940a3efa8bf244ccd47060927″ ClusterName=”paw-rac-cluster“ PALocation=””><gpnp:Network-Profile><gpnp:HostNetwork id=”gen” HostName=”*”><gpnp:Network id=”net1″ IP=”192.168.75.0″ Adapter=”eth0″ Use=”public”/><gpnp:Network id=”net2″ IP=”10.0.0.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/oracleasm/disks” SPFile=”+DATA/paw-rac-cluster/asmparameterfile/registry.253.919259819″/><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>HIz8dOjUIFB32YPkmXW2HMVazoY=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>L6GOD0rB03Hp+NoKVcIHb9/Rp3xznBKpUJGfixN/27Qo6IL8/4HkjSnzsbHf1IuK1SQfqV5624tygB0x9HJfVcW+k6E6cQWwAgZOzpPR3ltctD7XeikkXtt5TOWQ6boMvCKJ5mOwzGzuj4S/qDu7lWPBHM9EPzHAEn/8NOlDcDo=</ds:SignatureValue></ds:Signature></gpnp:GPnP-Profile>
Success.
언제 GPnP Profile을 업데이트 하나?
GPnP 데몬은 profile 이 변경되면 복제한다.
- 첫 설치
- system booting
- standard cluster 툴을 사용한 시스템 업데이트
프로파일은 클러스터가 설치되면서 변경될 때마다 다음 설정 툴을 사용해 변경에 대해 자동으로 업데이트가 된다.
- oifcfg (Change network),
- crsctl (change location of voting disk),
- asmcmd (change ASM_DISKSTRING, spfile location) etc.
[grid@paw-racnode1 peer]$ pwd
/u01/app/11.2.0/grid/gpnp/paw-racnode1/profiles/peer
[grid@paw-racnode1 peer]$ gpnptool get
Warning: some command line parameters were defaulted. Resulting command line:
/u01/app/11.2.0/grid/bin/gpnptool.bin get -o-
<?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=”5″ ClusterUId=”1c12005940a3efa8bf244ccd47060927″ ClusterName=”paw-rac-cluster“ PALocation=””><gpnp:Network-Profile><gpnp:HostNetwork id=”gen” HostName=”*”><gpnp:Network id=”net1″ IP=”192.168.75.0″ Adapter=”eth0″ Use=”public”/><gpnp:Network id=”net2″ IP=”10.0.0.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/oracleasm/disks” SPFile=”+DATA/paw-rac-cluster/asmparameterfile/registry.253.919259819″/><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>HIz8dOjUIFB32YPkmXW2HMVazoY=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>L6GOD0rB03Hp+NoKVcIHb9/Rp3xznBKpUJGfixN/27Qo6IL8/4HkjSnzsbHf1IuK1SQfqV5624tygB0x9HJfVcW+k6E6cQWwAgZOzpPR3ltctD7XeikkXtt5TOWQ6boMvCKJ5mOwzGzuj4S/qDu7lWPBHM9EPzHAEn/8NOlDcDo=</ds:SignatureValue></ds:Signature></gpnp:GPnP-Profile>
Success.
[grid@paw-racnode1 peer]$ gpnptool getpval -asm_spf
Warning: some command line parameters were defaulted. Resulting command line:
/u01/app/11.2.0/grid/bin/gpnptool.bin getpval -asm_spf -p=profile.xml -o-
+DATA/paw-rac-cluster/asmparameterfile/registry.253.919259819
[grid@paw-racnode1 peer]$ gpnptool getpval -asm_dis
Warning: some command line parameters were defaulted. Resulting command line:
/u01/app/11.2.0/grid/bin/gpnptool.bin getpval -asm_dis -p=profile.xml -o-
/dev/oracleasm/disks
[grid@paw-racnode1 peer]$ gpnptool find
Found 2 instances of service ‘gpnp’.
mdns:service:gpnp._tcp.local.://paw-racnode2:64098/agent=gpnpd,cname=paw-rac-cluster,host=paw-racnode2,pid=6444/gpnpd h:paw-racnode2 c:paw-rac-cluster
mdns:service:gpnp._tcp.local.://paw-racnode1:55790/agent=gpnpd,cname=paw-rac-cluster,host=paw-racnode1,pid=6677/gpnpd h:paw-racnode1 c:paw-rac-cluster
'Oracle > Admin' 카테고리의 다른 글
[Oracle] ADRCI (0) | 2024.08.17 |
---|---|
[Oracle] OCR VIGING DISK 재구성 (0) | 2024.08.14 |
[Oracle] PASSWORD_VERIFY_FUNCTION (4) | 2024.08.13 |
[Oracle]ORA-08104 (0) | 2024.08.01 |
[Oracle] Row Size 구하기 (2) | 2024.07.24 |