在 Sun Cluster 3.0 5/02 更新版中进行了以下更改,它适用于本更新版和 Sun Cluster 3.0 软件的所有后续更新版。将 Sun Cluster HA for Oracle 作为一项故障转移数据服务进行注册和配置。您必须注册该数据服务,并为 Oracle 服务器和侦听程序配置相应的资源组和资源。有关资源和资源组的详细信息,请参阅《Sun Cluster 3.0 12/01 Data Services Installation and Configuration Guide》中的"Planning for Sun Cluster Data Services"以及《Sun Cluster 3.0 12/01 概念》文档。
在 Sun Cluster 3.0 5/02 更新版中进行了以下更改,它适用于本更新版和 Sun Cluster 3.0 软件的所有后续更新版。此过程说明如何使用 scrgadm 命令来注册和配置 Sun Cluster HA for Oracle。
此过程谈到了 HAStoragePlus 资源类型的创建。该资源类型可以使 HAStoragePlus 和数据服务实现同步操作,并且使您能够使用具有高可用性的本地文件系统。Sun Cluster HA for Oracle 属于磁盘密集型数据服务,因此应该配置 HAStoragePlus 资源类型。
有关背景信息,请参阅"SUNW.HAStoragePlus(5)"手册页和第 5 页的"资源组和磁盘设备组之间的关系"。
通过其他选项也可以注册和配置数据服务。有关这些选项的详细信息,请参阅第 10 页的"数据服务资源管理工具"。
为执行此过程,您必须掌握以下信息:
控制数据服务的群集节点的名称。
客户用于访问数据服务的网络资源。通常是在安装群集时设置此 IP 地址。有关网络资源的详细信息,请参阅《Sun Cluster 3.0 12/01 概念》文档。
到所要配置的资源的 Oracle 应用程序二进制的路径。
在任何一个群集成员上执行此过程。
成为某个群集成员的超级用户。
运行 scrgadm 命令,以对数据服务的资源类型进行注册。
对于 Sun Cluster HA for Oracle,需要注册两种资源类型(SUNW.oracle_server 和 SUNW.oracle_listener),如下所示:
# scrgadm -a -t SUNW.oracle_server # scrgadm -a -t SUNW.oracle_listener |
添加数据服务资源类型。
为数据服务指定预定义的资源类型名称。
创建故障转移资源组,以保留网络资源和应用程序资源。
您也可以使用 -h 选项选定可用来运行该数据服务的节点集,如下所示:
# scrgadm -a -g resource-group [-h nodelist] |
指定资源组的名称。可以选用此名称,但对于群集中的所有资源组来说,该名称必须是唯一的。
指定一个可选的、用逗号分隔的物理节点名称或 ID 列表,其中的节点名称或 ID 可标识潜在主。在故障转移过程中,将按此处的顺序来将节点选为主节点。
使用 -h 选项可以指定节点列表的顺序。如果群集中的所有节点都是潜在的主节点,则不必使用 -h 选项。
检验是否已将您所使用的全部网络资源都添加到了名称服务数据库中。
在 Sun Cluster 的安装过程中应该已经执行了此项检验。
请确保所有网络资源都已存在于服务器和客户机的 /etc/hosts 文件中,以避免因查找名称服务而导致任何故障。
将网络资源添加到故障转移资源组中。
# scrgadm -a -L -g resource-group -l logical-hostname [-n netiflist] |
指定网络资源。该网络资源为客户在访问 Sun Cluster HA for Oracle 时所使用的逻辑主机名或共享地址(IP 地址)。
指定一个可选的、用逗号分隔的列表,该列表标识了各节点上的 NAFO 组。在资源组的 nodelist 中存在的所有节点在 netiflist 中也必须存在。如果不指定此选项,则 scrgadm(1M) 将尝试在子网中查找网络适配器,而 hostname 列表将使用它来在 nodelist 中标识每个节点。例如:-n nafo0@nodename,nafo0@nodename2。
在群集中为 HAStoragePlus 资源类型注册。
# scrgadm -a -t SUNW.HAStoragePlus |
创建 HAStoragePlus 类型的资源 oracle-hastp-rs。
# scrgadm -a -j oracle-hastp-rs -g oracle-rg -t SUNW.HAStoragePlus \ [如果您的数据库是在某个原始设备上,请指定全局设备路径。] -x GlobalDevicePaths=ora-set1,/dev/global/dsk/dl \ [如果您的数据库是在某个"群集文件服务"中,则请指定 全局文件系统安装点。] -x FilesystemMountPoints=/global/ora-inst,/global/ora-data/logs \ [如果您的数据库是在某个具有高可用性的本地文件系统中,则请指定本地文件系统安装点。] -x FilesystemMountPoints=/local/ora-data \ [将 AffinityOn 设置为 true。] -x AffinityOn=TRUE |
必须将 AffinityOn 设置为 TRUE,并且本地文件系统必须驻留在全局磁盘组中,以便进行故障转移。
运行 scrgadm 命令,以完成以下任务并使资源组 oracle-rg 在一个群集节点上实现联机。
使资源组处于受管状态。
使资源组联机。
此节点将成为设备组 ora-set1 和原始设备 /dev/global/dsk/d1 的主节点。与诸如 /global/ora-inst 和 /global/ora-data/logs 之类的文件系统有关的设备组将随之成为该节点上的主设备组。
# scrgadm -Z -g oracle-rg |
在故障转移资源组中创建 Oracle 应用程序资源。
# scrgadm -a -j resource -g resource-group \ -t SUNW.oracle_server \ -x Connect_string=user/passwd \ -x ORACLE_SID=instance \ -x ORACLE_HOME=Oracle-home \ -x Alert_log_file=path-to-log \ -y resource_dependencies=storageplus-resource # scrgadm -a -j resource -g resource-group \ -t SUNW.oracle_listener \ -x LISTENER_NAME=listener \ -x ORACLE_HOME=Oracle-home \ -y resource_dependencies=storageplus-resource |
指定所要添加的资源的名称。
指定要将资源置于其中的那个资源组的名称。
指定所要添加的资源的类型。
在 $ORACLE_HOME 下设置服务器消息日志的路径。
指定故障监视器连接到数据库时所要使用的用户名和口令。这些设置必须与您在《Sun Cluster 3.0 12/01 Data Services Installation and Configuration Guide》的第 23 页上的"How to Set Up Oracle Database Permissions"中所设置的权限一致。如果使用 Solaris 授权,则键入一个斜杠 (/),而不使用用户名和口令。
设置 Oracle 系统标识符。
设置 Oracle 侦听程序实例的名称。此名称必须与 listener.ora 中的对应条目相匹配。
将路径设置为 Oracle 起始目录。
当 Oracle 服务器资源中发生故障并导致重新启动时,整个资源组将会重新启动。即使该资源组中的任何其他资源(如 Apache 或 DNS)未发生故障,它们也会重新启动。要防止其他资源随 Oracle 服务器资源一起重新启动,请将它们放在单独的资源组中。
另外,您也可以设置那些属于 Oracle 数据服务的附加扩展特性,以覆盖其缺省值。有关扩展特定的列表,请参阅《Sun Cluster 3.0 12/01 Data Services Installation and Configuration Guide》中的"Configuring Sun Cluster HA for Oracle Extension Properties"。
以下示例说明如何在双节点群集中注册 Sun Cluster HA for Oracle。
Cluster Information Node names: phys-schost-1, phys-schost-2 Logical Hostname: schost-1 Resource group: resource-group-1 (failover resource group) Oracle Resources: oracle-server-1, oracle-listener-1 Oracle Instances: ora-lsnr (listener), ora-srvr (server) (Add the failover resource group to contain all of the resources.) # scrgadm -a -g resource-group-1 (Add the logical hostname resource to the resource group.) # scrgadm -a -L -g resource-group-1 -l schost-1 (Register the Oracle resource types) # scrgadm -a -t SUNW.oracle_server # scrgadm -a -t SUNW.oracle_listener (Add the Oracle application resources to the resource group.) # scrgadm -a -j oracle-server-1 -g resource-group-1 \ -t SUNW.oracle_server -x ORACLE_HOME=/global/oracle \ -x Alert_log_file=/global/oracle/message-log \ -x ORACLE_SID=ora-srvr -x Connect_string=scott/tiger # scrgadm -a -j oracle-listener-1 -g resource-group-1 \ -t SUNW.oracle_listener -x ORACLE_HOME=/global/oracle \ -x LISTENER_NAME=ora-lsnr (Bring the resource group online.) # scswitch -Z -g resource-group-1 |