文章
服务器与存储管理
作者:Tim Read
2012 年 5 月发布
第 1 部分 — 示例配置概述要创建 Oracle Solaris Cluster 地理版配置,首先确保在两个集群上都安装了正确的软件包。软件包已经存在于 Oracle Solaris 11 集群上,因为已安装了 ha-cluster-full 组,其中包含 ha-cluster-geo-full 组,如清单 1 所示。
注意:如果选择使用本文作为执行类似过程的指南,需要密切注意各命令运行的节点。因此,本示例步骤中显示的系统提示包括节点名称和用户名以指示命令必须运行在什么位置以及必须由谁来运行。
vzpyrus3a (root) # pkg info ha-cluster-geo-full
Name: ha-cluster/group-package/ha-cluster-geo-full
Summary: Oracle Solaris Cluster Geographic Edition full group package
Description: Oracle Solaris Cluster Geographic Edition full group package
Category: Meta Packages/Group Packages
State: Installed
Publisher: ha-cluster
Version: 4.0.0
Build Release: 5.11
Branch: 0.22
Packaging Date: Sat Oct 22 07:28:36 2011
Size: 5.53 kB
FMRI: pkg: //ha-cluster/ha-cluster/group-package/ha-cluster-geo-full@4.0.0,
5.11-0.22:20111022T072836Z
清单 1. 查看 Oracle Solaris 11 集群上的软件包
查看 Oracle Solaris 10 集群上是否存在 Oracle Solaris Cluster 地理版软件包,如清单 2 所示。
pgyruss1 (root) # pkginfo | grep Geographic
application SUNWscgctl Oracle Solaris Cluster Geographic Edition Control Module (Usr)
application SUNWscgctlr Oracle Solaris Cluster Geographic Edition Control Module (Root)
application SUNWscghb Oracle Solaris Cluster Geographic Edition Heartbeats (Usr)
application SUNWscghbr Oracle Solaris Cluster Geographic Edition Heartbeats (Root)
application SUNWscgman Oracle Solaris Cluster Geographic Edition Manual Pages
application SUNWscgrepavs Oracle Solaris Cluster Geographic Edition Availability Suite Data
Replication (Opt)
application SUNWscgrepavsu Oracle Solaris Cluster Geographic Edition Availability Suite Data
Replication (Usr)
application SUNWscgrepodg Oracle Solaris Cluster Geographic Edition Oracle Data Guard Data
Replication (Opt)
application SUNWscgrepodgu Oracle Solaris Cluster Geographic Edition Oracle Data Guard Data
Replication (Usr)
application SUNWscgrepsbpu Oracle Solaris Cluster Geographic Edition Script Based Plug-in
Replication (Usr)
application SUNWscgrepsrdf Oracle Solaris Cluster Geographic Edition SRDF Data Replication (Opt)
application SUNWscgrepsrdfu Oracle Solaris Cluster Geographic Edition SRDF Data Replication (Usr)
application SUNWscgreptc Oracle Solaris Cluster Geographic Edition for Hitachi TrueCopy Data
Replication (Opt)
application SUNWscgreptcu Oracle Solaris Cluster Geographic Edition for Hitachi TrueCopy Data
Replication (Usr)
application SUNWscgspm Oracle Solaris Cluster Geographic Edition - Oracle Solaris Cluster
Manager Extensions
清单 2. 查看 Oracle Solaris 10 集群上的软件包
在两个 Oracle Solaris 10 集群节点上,还要查看 Common Agent Container 是否运行在所有集群节点上,并且它是否在监听所有网络地址:
pgyruss1 (root) # svcs -a | grep -i common online Jan_12 svc:/application/management/common-agent-container-2:default uninitialized Jan_12 svc:/application/management/common-agent-container-1:default pgyruss1 (root) # cacaoadm list-params | grep network-bind-address network-bind-address=0.0.0.0
因为我们选择使用区域集群作为目标系统,所以您还必须在区域集群节点之间手动同步 Common Agent Container 密钥并确保在远程站点上已经启用 ssh。在两个 Oracle Solaris 11 区域集群节点上执行这些任务,如清单 3 所示。
vzpyrus3a (root) # svcs -a | grep common disabled 2:49:12 svc:/application/management/common-agent-container-1:default vzpyrus3a (root) # svcadm enable common-agent-container-1 vzpyrus3a (root) # svcs -a | grep common online 6:29:01 svc:/application/management/common-agent-container-1:default vzpyrus3a (root) # cacaoadm list-params | grep network-bind-address network-bind-address=127.0.0.1 vzpyrus3a (root) # cacaoadm stop vzpyrus3a (root) # cacaoadm set-param network-bind-address=0.0.0.0 vzpyrus3a (root) # cacaoadm create-keys --force vzpyrus3a (root) # tar cf /tmp/SECURITY.tar /etc/cacao/instances/default/security vzpyrus3a (root) # scp /tmp/SECURITY.tar root@vzpyrus3b:/tmp Password: SECURITY.tar 100% |********************************************| 983 KB 00:00 vzpyrus3a (root) # cacaoadm start vzpyrus3a (root) # cacaoadm status default instance is ENABLED at system startup. Smf monitoring process: 16853 16854 Uptime: 0 day(s), 0:0 vzpyrus3b (root) # cacaoadm stop vzpyrus3b (root) # cacaoadm set-param network-bind-address=0.0.0.0 vzpyrus3b (root) # tar xf /tmp/SECURITY.tar > /dev/null 2>&1 vzpyrus3b (root) # rm /tmp/SECURITY.tar vzpyrus3b (root) # cacaoadm start
清单 3. 同步 Common Agent Container 密钥并查看 ssh
确认 /etc/hosts 文件中有与每个集群名称匹配的项,然后在两个集群上启动 Oracle Solaris Cluster 地理版,如清单 4 所示。
注:这些项还可以在名称服务中,但不能指望外部名称服务始终能够访问。
pgyruss1 (root) # egrep " gyruss| oracle-zc" /etc/hosts
10.134.108.109 vzgyruss2a gyruss
10.134.108.112 vzpyrus1b oracle-zc
pgyruss1 (root) # geoadm start
... checking for management agent ...
... management agent check done ....
... starting product infrastructure ... please wait ...
Registering resource type <SUNW.HBmonitor>...done.
Registering resource type <SUNW.SCGeoInitSvc>...done.
Resource type <SUNW.scmasa> has been registered already
Resource type <SUNW.SCGeoZC> has been registered already
Creating scalable resource group <geo-clusterstate>...done.
Creating service tag management resource <geo-servicetag>...
Service tag management resource created successfully ....
Creating failover resource group <geo-infrastructure>...done.
Creating logical host resource <geo-clustername>...
Logical host resource created successfully ....
Creating resource <geo-hbmonitor> ...done.
Creating resource <geo-failovercontrol> ...done.
Bringing RG <geo-clusterstate> to managed state ...done.
Bringing resource group <geo-infrastructure> to managed state ...done.
Enabling resource <geo-clustername> ...done.
Enabling resource <geo-hbmonitor> ...done.
Enabling resource <geo-failovercontrol> ...done.
Node pgyruss1: Bringing resource group <geo-infrastructure> online ...done.
Oracle Solaris Cluster Geographic Edition infrastructure started successfully.
pgyruss1 (root) # clrs status
=== Cluster Resources ===
Resource Name Node Name State Status Message
------------- --------- ----- --------------
oracle-svr-rs pgyruss1 Offline Offline
pgyruss2 Online Online
oracle-lsnr-rs pgyruss1 Offline Offline
pgyruss2 Online Online
oracle-hasp-rs pgyruss1 Offline Offline
pgyruss2 Online Online
oracle-lh-rs pgyruss1 Offline Offline - LogicalHostname offline.
pgyruss2 Online Online - LogicalHostname online.
geo-servicetag pgyruss1 Online_not_monitored Online_not_monitored
pgyruss2 Online_not_monitored Online_not_monitored
geo-failovercontrol pgyruss1 Online Online
pgyruss2 Offline Offline
geo-hbmonitor pgyruss1 Online Online - Daemon OK
pgyruss2 Offline Offline
geo-clustername pgyruss1 Online Online - LogicalHostname online.
pgyruss2 Offline Offline
vzpyrus3a (root) # egrep " gyruss| oracle-zc" /etc/hosts
10.134.108.109 vzgyruss2a gyruss
10.134.108.112 vzpyrus1b oracle-zc
vzpyrus3a (root) # geoadm start
... checking for management agent ...
... management agent check done ....
... starting product infrastructure ... please wait ...
Registering resource type <SUNW.HBmonitor>...done.
Registering resource type <SUNW.SCGeoInitSvc>...done.
Registering resource type <SUNW.scmasa>...done.
Registering resource type <SUNW.SCGeoZC>...done.
Creating scalable resource group <geo-clusterstate>...done.
Creating service tag management resource <geo-servicetag>...
Service tag management resource created successfully ....
Creating failover resource group <geo-infrastructure>...done.
Creating logical host resource <geo-clustername>...
Logical host resource created successfully ....
Creating resource <geo-hbmonitor> ...done.
Creating resource <geo-failovercontrol> ...done.
Bringing RG <geo-clusterstate> to managed state ...done.
Bringing resource group <geo-infrastructure> to managed state ...done.
Enabling resource <geo-clustername> ...done.
Enabling resource <geo-hbmonitor> ...done.
Enabling resource <geo-failovercontrol> ...done.
Node vzpyrus3a: Bringing resource group <geo-infrastructure> online ...done.
Oracle Solaris Cluster Geographic Edition infrastructure started successfully.
vzpyrus3a (root) # clrs status
=== Cluster Resources ===
Resource Name Node Name State Status Message
------------- --------- ----- --------------
oracle-svr-rs vzpyrus3a Online Online
vzpyrus3b Offline Offline
oracle-lsnr-rs vzpyrus3a Online Online
vzpyrus3b Offline Offline
oracle-hasp-rs vzpyrus3a Online Online
vzpyrus3b Offline Offline
oracle-lh-rs vzpyrus3a Online Online - LogicalHostname online.
vzpyrus3b Offline Offline - LogicalHostname offline.
geo-zc-sysevent vzpyrus3a Online_not_monitored Online_not_monitored
vzpyrus3b Online_not_monitored Online_not_monitored
geo-servicetag vzpyrus3a Online_not_monitored Online_not_monitored
vzpyrus3b Online_not_monitored Online_not_monitored
geo-failovercontrol vzpyrus3a Online Online
vzpyrus3b Offline Offline
geo-hbmonitor vzpyrus3a Online Online - Daemon OK
vzpyrus3b Offline Offline
geo-clustername vzpyrus3a Online Online - LogicalHostname online.
vzpyrus3b Offline Offline
清单 4. 查看 /etc/hosts 文件并启动 Oracle Solaris Cluster 地理版
构建 Oracle Solaris Cluster 地理版配置的下一步是在集群之间创建称为伙伴 的关系。为此,两个集群必须彼此“信任”,因为集群之间的通信发生在安全链路上。
在每个集群的唯一 节点上执行清单 5 所示命令。
注:伙伴关系中的集群可以,也经常可能,位于不同的 DNS 域中。如果您的配置是这种情况,请查看 Oracle Solaris Cluster 地理版文档以找到要使用的正确命令语法。
pgyruss1 (root) # geoadm status
Cluster: gyruss
*** No partnership defined on local cluster "gyruss" ***
pgyruss1 (root) # geops add-trust --cluster oracle-zc
Local cluster : gyruss
Local node : pgyruss1
Cleaning up certificate files in /etc/cacao/instances/default/security/jsse on pgyruss1
Retrieving certificates from oracle-zc ... Done
New Certificate:
Owner: CN=vzpyrus3a_agent
Issuer: CN=vzpyrus3a_ca
Serial number: 25d4a814
Valid from: Thu Jun 19 08:43:00 PDT 1969 until: Mon Jan 19 07:43:00 PST 2032
Certificate fingerprints:
MD5: C9:71:18:6C:FE:AA:40:F7:FE:08:F7:99:DB:01:1F:F2
SHA1: 09:96:91:1E:8C:7C:C7:91:57:3D:9D:BB:57:89:5D:E7:A5:5C:B8:C3
Signature algorithm name: SHA1withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.19 Criticality=false
BasicConstraints:[
CA:false
PathLen: undefined
]
Do you trust this certificate? [y/n] y
Adding certificate to truststore on pgyruss1 ... Done
Adding certificate to truststore on pgyruss2 ... Done
New Certificate:
Owner: CN=vzpyrus3a_ca
Issuer: CN=vzpyrus3a_ca
Serial number: 6f783dfd
Valid from: Thu Jun 19 08:42:58 PDT 1969 until: Mon Jan 19 07:42:58 PST 2032
Certificate fingerprints:
MD5: D4:57:E8:5B:67:C9:25:9D:07:18:2E:4E:C3:30:D5:11
SHA1: 6B:BC:84:11:DD:F2:3B:59:4D:B6:9C:20:2E:D9:15:1F:06:B5:D6:D1
Signature algorithm name: SHA1withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.19 Criticality=true
BasicConstraints:[
CA:true
PathLen:1
]
Do you trust this certificate? [y/n] y
Adding certificate to truststore on pgyruss1 ... Done
Adding certificate to truststore on pgyruss2 ... Done
Operation completed successfully. All certificates are added to truststore on nodes of cluster gyruss
vzpyrus3a (root) # geops add-trust --cluster gyruss
Local cluster : oracle-zc
Local node : vzpyrus3a
Cleaning up certificate files in /etc/cacao/instances/default/security/jsse on vzpyrus3a
Retrieving certificates from gyruss ... Done
New Certificate:
Owner: CN=pgyruss1_agent
Issuer: CN=pgyruss1_ca
Serial number: 71fd3e5d
Valid from: Tue May 27 08:44:19 GMT-08:00 1969 until: Sun Jul 27 08:44:19 GMT-08:00 2031
Certificate fingerprints:
MD5: 31:46:B2:9A:04:53:E8:58:22:A5:09:46:FB:05:7F:9A
SHA1: 78:93:9F:D6:A1:53:74:47:BD:F9:84:7D:4A:60:1B:65:13:07:5B:B0
Signature algorithm name: SHA1withRSA
Version: 3
Do you trust this certificate? [y/n] y
Adding certificate to truststore on vzpyrus3a ... Done
Adding certificate to truststore on vzpyrus3b ... Done
New Certificate:
Owner: CN=pgyruss1_ca
Issuer: CN=pgyruss1_ca
Serial number: 56602b49
Valid from: Tue May 27 08:44:17 GMT-08:00 1969 until: Sun Jul 27 08:44:17 GMT-08:00 2031
Certificate fingerprints:
MD5: A1:FE:EB:7B:BC:F0:28:B2:20:AD:DB:41:96:0B:04:06
SHA1: 7D:F1:5A:D2:19:DB:89:92:D8:E9:5A:D0:90:38:FC:C5:E2:8F:EF:F3
Signature algorithm name: SHA1withRSA
Version: 3
Do you trust this certificate? [y/n] y
Adding certificate to truststore on vzpyrus3a ... Done
Adding certificate to truststore on vzpyrus3b ... Done
Operation completed successfully. All certificates are added to truststore on
nodes of cluster oracle-zc
清单 5. 在集群之间创建信任
在一个集群上创建伙伴关系,然后从另一个集群加入伙伴关系,如下所示:哪一个集群定义初始伙伴关系并不重要。
pgyruss1 (root) # geops create -c oracle-zc migration-ps Partnership between local cluster "gyruss" and remote cluster "oracle-zc" successfully created. vzpyrus3a (root) # geops join-partnership gyruss migration-ps Local cluster "oracle-zc" is now partner of cluster "gyruss".
等待集群同步,然后查看其状态,如清单 6 所示。
vzpyrus3a (root) # geoadm status Cluster: oracle-zc Partnership "migration-ps" : OK Partner clusters : gyruss Synchronization : OK ICRM Connection : OK Heartbeat "hb_oracle-zc~gyruss" monitoring "gyruss": OK Plug-in "ping_plugin" : Inactive Plug-in "tcp_udp_plugin" : OK
清单 6:查看集群状态
如果要使用 Oracle Wallet Manager 允许数据库管理员帐户 (sys) 控制切换,则将此帐户同时添加到两个站点的钱夹,如清单 7 所示。此过程使用前一步中创建的 tnsnames.ora 中的 _geoadm 后缀的服务。然后在 oracle-rg 联机的区域集群节点上重复此过程。
pgyruss2 (root) # clrs status
=== Cluster Resources ===
Resource Name Node Name State Status Message
------------- --------- ----- --------------
oracle-svr-rs pgyruss1 Offline Offline
pgyruss2 Online Online
oracle-lsnr-rs pgyruss1 Offline Offline
pgyruss2 Online Online
oracle-hasp-rs pgyruss1 Offline Offline
pgyruss2 Online Online
oracle-lh-rs pgyruss1 Offline Offline - LogicalHostname offline.
pgyruss2 Online Online - LogicalHostname online.
geo-servicetag pgyruss1 Online_not_monitored Online_not_monitored
pgyruss2 Online_not_monitored Online_not_monitored
geo-failovercontrol pgyruss1 Online Online - Service is online.
pgyruss2 Offline Offline
geo-hbmonitor pgyruss1 Online Online - Daemon OK
pgyruss2 Offline Offline
geo-clustername pgyruss1 Online Online - LogicalHostname online.
pgyruss2 Offline Offline
pgyruss2 (root) # su - oracle
Oracle Corporation SunOS 5.10 Generic Patch January 2005
pgyruss2 (oracle) $ mkstore -wrl /oradata/wallet -createCredential sales_geoadm sys
Oracle Secret Store Tool : Version 11.2.0.3.0 - Production
Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
Your secret/Password is missing in the command line
Enter your secret/Password:
Re-enter your secret/Password:
Enter wallet password:
Create credential oracle.security.client.connect_string2
pgyruss2 (oracle) $ mkstore -wrl /oradata/wallet -createCredential salesdr_geoadm sys
Oracle Secret Store Tool : Version 11.2.0.3.0 - Production
Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
Your secret/Password is missing in the command line
Enter your secret/Password:
Re-enter your secret/Password:
Enter wallet password:
Create credential oracle.security.client.connect_string3
pgyruss2 (oracle) $ mkstore -wrl /oradata/wallet -createEntry \
oracle.security.client.default_username sys
Oracle Secret Store Tool : Version 11.2.0.3.0 - Production
Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
Enter wallet password:
pgyruss2 (oracle) $ mkstore -wrl /oradata/wallet -createEntry oracle.security.client.default_password
Oracle Secret Store Tool : Version 11.2.0.3.0 - Production
Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
Your secret/Password is missing in the command line
Enter your secret/Password:
Re-enter your secret/Password:
Enter wallet password:
清单 7. 启用钱夹以控制切换
确保使用 /@sales_geoadm 和 /@salesdr_geoadm 标识符测试 Data Guard 切换过程在连接时是否正常工作。为简短起见,在此省略了这些检查。
Oracle Solaris Cluster 地理版使用一个名为保护组 的结构控制一个或多个应用程序资源组及其关联复制技术的组合。因此,必须创建一个保护组来控制 Oracle 数据库及其关联的 Data Guard 复制,如清单 8 所示。将保护组命名为 oracle-pg。
geoadm 和 geopg 命令可以从每个集群内的任何节点运行。有关如何安装和配置 Oracle Solaris Cluster 地理版软件的详细信息,请参见 Oracle Solaris Cluster 地理版安装指南。
pgyruss1 (root) # geoadm status
Cluster: gyruss
Partnership "migration-ps" : OK
Partner clusters : oracle-zc
Synchronization : OK
ICRM Connection : OK
Heartbeat "hb_gyruss~oracle-zc" monitoring "oracle-zc": OK
Plug-in "ping_plugin" : Inactive
Plug-in "tcp_udp_plugin" : OK
pgyruss1 (root) # geopg create --partnership migration-ps --role primary --datarep-type odg oracle-pg
Protection group "oracle-pg" successfully created.
pgyruss1 (root) # geopg add-replication-component \
-p local_database_name=sales \
-p remote_database_name=salesdr \
-p local_db_service_name=sales_geoadm \
-p remote_db_service_name=salesdr_geoadm \
-p standby_type=physical \
-p replication_mode=MaxPerformance \
-p sysdba_username= \
-p sysdba_password= \
-p local_oracle_svr_rg_name=oracle-rg \
-p remote_oracle_svr_rg_name=oracle-rg sales oracle-pg
Password for property sysdba_password :
Oracle Data Guard configuration "sales" successfully added to the protection group "oracle-pg".
pgyruss1 (root) # clrs status
=== Cluster Resources ===
Resource Name Node Name State Status Message
------------- --------- ----- --------------
oracle-svr-rs pgyruss1 Offline Offline
pgyruss2 Online Online
oracle-lsnr-rs pgyruss1 Offline Offline
pgyruss2 Online Online
oracle-hasp-rs pgyruss1 Offline Offline
pgyruss2 Online Online
oracle-lh-rs pgyruss1 Offline Offline - LogicalHostname offline.
pgyruss2 Online Online - LogicalHostname online.
geo-servicetag pgyruss1 Online_not_monitored Online_not_monitored
pgyruss2 Online_not_monitored Online_not_monitored
geo-failovercontrol pgyruss1 Online Online - Service is online.
pgyruss2 Offline Offline
geo-hbmonitor pgyruss1 Online Online - Daemon OK
pgyruss2 Offline Offline
geo-clustername pgyruss1 Online Online - LogicalHostname online.
pgyruss2 Offline Offline
sales-odg-rep-rs pgyruss1 Offline Offline
pgyruss2 Offline Offline
sales-oracle-svr-shadow-rs pgyruss1 Offline Offline
pgyruss2 Offline Offline
pgyruss1 (root) # clrg status
=== Cluster Resource Groups ===
Group Name Node Name Suspended Status
---------- --------- --------- ------
oracle-rg pgyruss1 No Offline
pgyruss2 No Online
geo-clusterstate pgyruss1 No Online
pgyruss2 No Online
geo-infrastructure pgyruss1 No Online
pgyruss2 No Offline
oracle-pg-odg-rep-rg pgyruss1 No Offline
pgyruss2 No Online
sales-rac-proxy-svr-shadow-rg pgyruss1 No Unmanaged
pgyruss2 No Unmanaged
清单 8. 创建保护组
一旦在一个集群上创建了保护组,就必须将配置传播到另一个集群,如清单 9 所示。当此过程完成时,Data Guard 复制处于禁用状态,以与新创建的 Oracle Solaris Cluster 地理版保护组的状态匹配。一旦添加了示例应用程序资源组,将重新启用复制。
vzpyrus3b (root) # geoadm status
Cluster: oracle-zc
Partnership "migration-ps" : OK
Partner clusters : gyruss
Synchronization : OK
ICRM Connection : OK
Heartbeat "hb_oracle-zc~gyruss" monitoring "gyruss": OK
Plug-in "ping_plugin" : Inactive
Plug-in "tcp_udp_plugin" : OK
vzpyrus3b (root) # geopg get --partnership migration-ps
Protection group "oracle-pg" successfully created.
vzpyrus3b (root) # geoadm status
Cluster: oracle-zc
Partnership "migration-ps" : OK
Partner clusters : gyruss
Synchronization : OK
ICRM Connection : OK
Heartbeat "hb_oracle-zc~gyruss" monitoring "gyruss": OK
Plug-in "ping_plugin" : Inactive
Plug-in "tcp_udp_plugin" : OK
Protection group "oracle-pg" : Unknown
Partnership : migration-ps
Synchronization : OK
Cluster oracle-zc : Unknown
Role : Secondary
Activation state : Deactivated
Configuration : OK
Data replication : Unknown
Resource groups : None
Cluster gyruss : Unknown
Role : Primary
Activation state : Deactivated
Configuration : OK
Data replication : Unknown
Resource groups : None
清单 9. 将配置传播到另一个集群
如果资源组中包含依赖于数据库的应用程序,可以将其也置于 Oracle Solaris Cluster 地理版控制下,如清单 10 所示。在清单 10 中,在要求通过 Oracle 资源组 oracle-rg 关联的每个集群上创建一个名为 example-rg 的空资源组。使用 RG_Affinities 属性实现此关联,该属性在将资源组添加到保护组后设置。
我们没有使此关联依赖于真实 Oracle 资源组 (oracle-rg)(它必须始终保持联机才能发生复制),而是使其依赖于 Oracle Solaris Cluster 地理版仅为此类目的创建的影子资源组。影子资源组遵循标准 Oracle Solaris Cluster 地理版约定,其中资源组在主集群上联机,而在辅助集群上脱机。
vzpyrus3b (root) # geopg list
Protection Group: oracle-pg
Partnership name : migration-ps
Local Role : Primary
Deployed on clusters : oracle-zc, gyruss
Data Replication type : ODG
Configuration status : OK
Synchronization status : OK
Creation signature : gyruss Jan 20, 2012 6:20:36 AM PST
Last update : Jan 24, 2012 2:39:48 AM GMT-08:00
Local properties : None
Global properties :
Description :
Timeout : 3600 seconds
RoleChange_ActionCmd :
External_Dependency_Allowed : false
RoleChange_ActionArgs :
*** No protected resource groups in protection group "oracle-pg" ***
ODG Oracle Data Guard configurations:
sales
sales_remote_database_name : sales
sales_local_database_name : salesdr
sales_local_rac_proxy_svr_rg_name : oracle-rg
sales_remote_rac_proxy_svr_rg_name : oracle-rg
sales_sysdba_password : ********
sales_replication_mode : maxperformance
sales_remote_db_service_name : sales_geoadm
sales_local_db_service_name : salesdr_geoadm
sales_standby_type : physical
sales_sysdba_username :
vzpyrus3b (root) # clrg create -p auto_start_on_new_cluster=false example-rg
pgyruss1 (root) # clrg create -p auto_start_on_new_cluster=false example-rg
vzpyrus3b (root) # geopg add-resource-group example-rg,sales-rac-proxy-svr-shadow-rg \
oracle-pg
Following resource groups successfully added:
"example-rg,sales-rac-proxy-svr-shadow-rg".
pgyruss1 (root) # clrg set -p RG_affinities=+++sales-rac-proxy-svr-shadow-rg \
example-rg
vzpyrus3b (root) # clrg set -p RG_affinities=+++sales-rac-proxy-svr-shadow-rg \
example-rg
vzpyrus3b (root) # geopg list
Protection Group: oracle-pg
Partnership name : migration-ps
Local Role : Primary
Deployed on clusters : oracle-zc, gyruss
Data Replication type : ODG
Configuration status : OK
Synchronization status : OK
Creation signature : gyruss Jan 20, 2012 6:20:36 AM PST
Last update : Jan 24, 2012 2:44:29 AM GMT-08:00
Local properties : None
Global properties :
Description :
Timeout : 3600 seconds
RoleChange_ActionCmd :
External_Dependency_Allowed : false
RoleChange_ActionArgs :
Protected resource groups:
example-rg
sales-rac-proxy-svr-shadow-rg
ODG Oracle Data Guard configurations:
sales
sales_remote_database_name : sales
sales_local_database_name : salesdr
sales_local_rac_proxy_svr_rg_name : oracle-rg
sales_remote_rac_proxy_svr_rg_name : oracle-rg
sales_sysdba_password : ********
sales_replication_mode : maxperformance
sales_remote_db_service_name : sales_geoadm
sales_local_db_service_name : salesdr_geoadm
sales_standby_type : physical
sales_sysdba_username :
清单 10. 使用影子资源组
现在,重新启动复制。一旦完成,复制状态反映在 geoadm 输出和 sales-odg-rep-rs 资源状态上,如清单 11 所示。
vzpyrus3b (root) # geopg start --scope global oracle-pg
Processing operation... The timeout period for this operation on each cluster is 3600 seconds (3600000 milliseconds)...
Protection group "oracle-pg" successfully started.
vzpyrus3b (root) # geoadm status
Cluster: oracle-zc
Partnership "migration-ps" : OK
Partner clusters : gyruss
Synchronization : OK
ICRM Connection : OK
Heartbeat "hb_oracle-zc~gyruss" monitoring "gyruss": OK
Plug-in "ping_plugin" : Inactive
Plug-in "tcp_udp_plugin" : OK
Protection group "oracle-pg" : OK
Partnership : migration-ps
Synchronization : OK
Cluster oracle-zc : OK
Role : Secondary
Activation state : Activated
Configuration OK
Data replication : OK
Resource groups : OK
Cluster gyruss : OK
Role : Primary
Activation state : Activated
Configuration : OK
Data replication : OK
Resource groups : OK
vzpyrus3b (root) # clrs status sales-odg-rep-rs
=== Cluster Resources ===
Resource Name Node Name State Status Message
------------- --------- ----- --------------
sales-odg-rep-rs vzpyrus3a Online Online - Replicating in MaxPerformance mode
vzpyrus3b Offline Offline
清单 11. 重新启动复制
注意,根据哪个集群是主集群,应用程序资源组的状态在两个集群上各不相同,如清单 12 所示。
vzpyrus3b (root) # clrg status sales-rac-proxy-svr-shadow-rg example-rg
=== Cluster Resource Groups ===
Group Name Node Name Suspended Status
---------- --------- --------- ------
sales-rac-proxy-svr-shadow-rg vzpyrus3a No Unmanaged
vzpyrus3b No Unmanaged
example-rg vzpyrus3a No Unmanaged
vzpyrus3b No Unmanaged
pgyruss1 (root) # clrg status sales-rac-proxy-svr-shadow-rg example-rg
=== Cluster Resource Groups ===
Group Name Node Name Suspended Status
---------- --------- --------- ------
sales-rac-proxy-svr-shadow-rg pgyruss1 No Offline
pgyruss2 No Online
example-rg pgyruss1 No Offline
pgyruss2 No Online
清单 12. 查看应用程序资源组的状态
升级过程的最后一步是切换到 Oracle Solaris 11 集群,如清单 13 所示。需要选择正确的时间在站点上执行此操作,将任何潜在的停机时间降至最低。
vzpyrus3b (root) # geoadm status
Cluster: oracle-zc
Partnership "migration-ps" : OK
Partner clusters : gyruss
Synchronization : OK
ICRM Connection : OK
Heartbeat "hb_oracle-zc~gyruss" monitoring "gyruss": OK
Plug-in "ping_plugin" : Inactive
Plug-in "tcp_udp_plugin" : OK
Protection group "oracle-pg" : OK
Partnership : migration-ps
Synchronization : OK
Cluster oracle-zc : OK
Role : Secondary
Activation state : Activated
Configuration : OK
Data replication : OK
Resource groups : OK
Cluster gyruss : OK
Role : Primary
Activation state : Activated
Configuration : OK
Data replication : OK
Resource groups : OK
vzpyrus3b (root) # geopg switchover -m oracle-zc oracle-pg
Are you sure you want to switchover protection group 'oracle-pg' to primary
cluster 'oracle-zc'? (yes|no) > yes
Processing operation... The timeout period for this operation on each cluster
is 3600 seconds (3600000 milliseconds)...
"Switchover" operation succeeded for the protection group "oracle-pg".
vzpyrus3b (root) # geoadm status
Cluster: oracle-zc
Partnership "migration-ps" : OK
Partner clusters : gyruss
Synchronization : OK
ICRM Connection : OK
Heartbeat "hb_oracle-zc~gyruss" monitoring "gyruss": OK
Plug-in "ping_plugin" : Inactive
Plug-in "tcp_udp_plugin" : OK
Protection group "oracle-pg" : OK
Partnership : migration-ps
Synchronization : OK
Cluster oracle-zc : OK
Role : Primary
Activation state : Activated
Configuration : OK
Data replication : OK
Resource groups : OK
Cluster gyruss : OK
Role : Secondary
Activation state : Activated
Configuration : OK
Data replication : OK
Resource groups : OK
vzpyrus3b (root) # clrs status sales-odg-rep-rs sales-oracle-svr-shadow-rs
=== Cluster Resources ===
Resource Name Node Name State Status Message
------------- --------- ----- --------------
sales-odg-rep-rs vzpyrus3a Online Online - Replicating in MaxPerformance mode
vzpyrus3b Offline Offline
sales-oracle-svr-shadow-rs vzpyrus3a Online Online - (Data Guard Primary)
vzpyrus3b Offline Offline
清单 13. 切换到 Oracle Solaris 11 集群
作为切换过程的一部分,Oracle Solaris Cluster 地理版更改 oracle-svr-rs 资源的 Dataguard_role 属性值。查看此更改是否已真正发生,如清单 14 所示。
vzpyrus3b (root) # clrs show -p dataguard_role oracle-svr-rs
=== Resources ===
Resource: oracle-svr-rs
--- Standard and extension properties ---
Dataguard_role: PRIMARY
Class: extension
Description: This indicates whether the
instance is dataguard or not. If the instance is a dataguard instance, then
this property indicates whether the instance is a primary, standby, or
whether a dataguard role switchover is in progress.
Per-node: False
Type: enum
pgyruss1 (root) # clrs show -p dataguard_role oracle-svr-rs
=== Resources ===
Resource: oracle-svr-rs
--- Standard and extension properties ---
Dataguard_role: STANDBY
Class: extension
Description: This indicates whether the
instance is dataguard or not. If the instance is a dataguard instance, then
this property indicates whether the instance is a primary, standby, or
whether a dataguard role switchover is in progress.
Per-node: False
Type: enum
清单 14. 查看属性值
如果出于任何原因,需要还原为 Oracle Solaris 10 集群,只需发出另一条切换命令即可。
| 修订版 1.0,2012 年 5 月 11 日 |