仅当您使用 Solaris Volume Manager for Sun Cluster 时才执行此任务。
如果您使用 Solaris Volume Manager for Sun Cluster,则 Solaris Volume Manager 需要多拥有者磁盘集,以便供 Oracle Real Application Clusters 数据库使用。有关 Solaris Volume Manager for Sun Cluster 多拥有者磁盘集的信息,请参见《Solaris Volume Manager Administration Guide》中的 “Disk Set Concepts for Solaris Volume Manager for Sun Cluster”。
在 Solaris Volume Manager for Sun Cluster 中为 Oracle Real Application Clusters 数据库创建多拥有者磁盘集之前,请注意以下几点:
确保每个节点上均安装了所需的 Sun Cluster Support for Oracle Real Application Clusters 软件包。有关详细信息,请参见安装 Sun Cluster Support for Oracle Real Application Clusters 软件包。
添加到多拥有者磁盘集中的磁盘设备必须直接附加到所有群集节点。
创建多拥有者磁盘集。
为达到此目的,请使用 metaset(1M) 命令。
# metaset -s setname -M -a -h nodelist |
指定要创建的磁盘集的名称。
指定要创建的磁盘集为多拥有者磁盘集。
指定 -h 选项所指定的节点将被添加到磁盘集中。
指定将被添加到磁盘集的节点(以空格分隔)列表。此列表中的每个节点上都必须安装 Sun Cluster Support for Oracle Real Application Clusters 软件包。
将全局设备添加到您在步骤 1 中创建的磁盘集中。
# metaset -s setname -a devicelist |
指定您要修改在步骤 1 中创建的磁盘集。
指定 devicelist 所指定的设备将被添加到磁盘集中。
指定要添加到磁盘集中的全局设备的完整设备 ID 路径名(以空格分隔)列表。为了能够从群集中的任何节点一致地访问每个设备,请确保每个设备 ID 路径名均为 /dev/did/dsk/d N 形式,其中 N 为设备编号。
为在步骤 1 中创建的磁盘集创建 Oracle Real Application Clusters 数据库将使用的卷。
如果要为 Oracle 数据文件创建多个卷,您可以通过使用软分区来简化此步骤。有关更多信息,请参见《Solaris Volume Manager Administration Guide》中的 “Soft Partitions (Overview)” 和《Solaris Volume Manager Administration Guide》中的 “Soft Partitions (Tasks)”。
通过并置在步骤 2 中添加的全局设备上的片来创建每个卷。为达到此目的,请使用 metainit(1M) 命令。
# metainit -s setnamevolume-abbrev numstripeswidth slicelist |
检验是否已将每个节点正确添加到多拥有者磁盘集中。
为达到此目的,请使用 metastat(1M) 命令。
# metastat -s setname |
指定您要检验在步骤 1 中创建的磁盘集。
此命令显示一个表,其中包含已正确添加到磁盘集中的每个节点的以下信息:
Host 列包含节点名称。
Owner 列包含文本 multi-owner。
Member 列包含文本 Yes。
检验是否已正确配置多拥有者磁盘集。
# scconf -pvv | grep setname |
指定仅显示在步骤 1 中创建的磁盘集的配置信息。
此命令显示磁盘集的设备组信息。对于多拥有者磁盘集,设备组类型为 Multi-owner_SVM。
检验多拥有者磁盘集的联机状态。
# scstat -D |
此命令显示多拥有者磁盘集中处于联机状态的节点的节点名称。
在可以拥有磁盘集的每个节点上,更改在步骤 3 中创建的每个卷的拥有权,如下所示:
拥有者:oracle
组:dba
请确保仅更改 Oracle Real Application Clusters 数据库将使用的卷的拥有权。
# chown oracle:dba volume-list |
在可以拥有磁盘集的每个节点上,授予 oracle 用户对已在步骤 7 中更改其拥有权的每个卷的读取访问权限和写入访问权限。
请确保仅更改 Oracle Real Application Clusters 数据库将使用的卷的访问权限。
# chmod u+rw volume-list |
指定要授予 oracle 用户读取访问权限和写入访问权限的卷的逻辑名称(以空格分隔)列表。请确保此列表包含在步骤 7 中所指定的卷。
本例显示了在 Solaris Volume Manager for Sun Cluster 中创建多拥有者磁盘集所需的一系列操作。本例假定卷位于原始设备上。
要创建多拥有者磁盘集,请运行以下命令:
# metaset -s racdbset -M -a -h rachost1 rachost2 rachost3 rachost4 |
该多拥有者磁盘集名为 racdbset。节点 rachost1、rachost2、rachost3 和 rachost4 被添加到该磁盘集中。
要将全局设备 /dev/did/dsk/d0 添加到磁盘集中,请运行以下命令:
# metaset -s racdbset -a /dev/did/dsk/d0 |
要为磁盘集创建卷,请运行以下命令:
# metainit -s racdbset d0 1 1 /dev/did/dsk/d0s0 |
卷名为 d0。此卷是通过片 /dev/did/dsk/d0s0 的一对一并置创建的。片未按存储条进行分组。
要检验是否已将每个节点正确添加到多拥有者磁盘集中,请运行以下命令:
# metastat -s racdbset Multi-owner Set name = racdbset, Set number = 1, Master = rachost2 Host Owner Member rachost1 multi-owner Yes rachost2 multi-owner Yes rachost3 multi-owner Yes rachost4 multi-owner Yes Drive Dbase d6 Yes d10 Yes |
要检验是否已正确配置多拥有者磁盘集,请运行以下命令:
# scconf -pvv | grep racdbset Device group name: racdbset (racdbset) Device group type: Multi-owner_SVM (racdbset) Device group failback enabled: no (racdbset) Device group node list: rachost1, rachost2, rachost3, rachost4 (racdbset) Device group ordered node list: no (racdbset) Device group desired number of secondaries: 0 (racdbset) Device group diskset name: racdbset |
要检验多拥有者磁盘集的联机状态,请运行以下命令:
# scstat -D -- Device Group Servers -- Device Group Primary Secondary ------------ ------- --------- -- Device Group Status -- Device Group Status ------------ ------ -- Multi-owner Device Groups -- Device Group Online Status ------------ ------------- Multi-owner device group: racdbset rachost1,rachost2,rachost3,rachost4 |
要将磁盘集中的卷的拥有权更改为组 dba 中的拥有者 oracle,请运行以下命令:
# chown oracle:dba /dev/md/racdbset/rdsk/d0 |
应在可以拥有磁盘集的每个节点上运行此命令。
要授予 oracle 用户对磁盘集中的卷的读取访问权限,请运行以下命令:
# chmod u+rw /dev/md/racdbset/rdsk/d0 |
此命令在可以拥有磁盘集的每个节点上运行。
为 Oracle Real Application Clusters 数据库创建多拥有者磁盘集之后,请转至注册和配置 RAC 框架资源组以注册和配置 Sun Cluster Support for Oracle Real Application Clusters。