如果使用的是 Solaris Volume Manager for Sun Cluster,Solaris Volume Manager 需要多属主磁盘集以供 Support for Oracle RAC 数据库、Sun QFS 共享文件系统或 Oracle ASM 使用。有关 Solaris Volume Manager for Sun Cluster 多属主磁盘集的信息,请参见Solaris Volume Manager 管理指南中的多属主磁盘集概念。
开始之前
确保在每个节点上安装必需的 Support for Oracle RAC 软件包。有关更多信息,请参见安装 Support for Oracle RAC 软件包。
确保多属主卷管理器框架资源组已创建并处于联机状态。有关更多信息,请参见注册和配置多属主卷管理器框架资源组。
注意 - 请不要尝试手动创建 /var/run/nodelist 文件。如果这样做,会使群集出现群集范围紧急情况的风险。 |
除非您使用的是 Sun QFS 共享文件系统,否则不要在多属主磁盘集中创建任何文件系统。在不含 Sun QFS 共享文件系统的配置中,只有原始数据文件使用此磁盘集。
添加到多属主磁盘集的磁盘设备必须直接连接到所有群集节点。
使用 metaset(1M) 命令可实现此目的。
# metaset -s setname -M -a -h nodelist
指定要创建的磁盘集的名称。
指定要创建的磁盘集为多属主磁盘集。
指出 –h 选项指定的节点将添加到磁盘集。
指定一个要添加到磁盘集的节点的空格分隔列表。Support for Support for Oracle RAC 软件包必须安装在列表中的每一节点上。
# metaset -s setname -a devicelist
指定将修改在Step 1 中创建的磁盘集。
指出 devicelist 指定的设备将添加到磁盘集。
指定要添加到磁盘集的全局设备的完整设备 ID 路径名称的空格分隔列表。要允许从群集中的任何节点对每一设备进行一致的访问,请确保每一设备 ID 路径名称的格式为 /dev/did/dsk/dN,其中 N 为设备号。
通过将在Step 2 中添加的全局设备上的分片进行串联,创建每一卷。使用 metainit(1M) 命令可实现此目的。
# metainit -s setname volume-abbrev numstripes width slicelist
请使用 metaset 命令来实现此目的。
# metaset -s setname
指定要检验在Step 1 中创建的磁盘集。
此命令显示一个表,该表包含关于已正确添加到磁盘集中的每一节点的以下信息:
Host 列包含节点名称。
Owner 列包含文本 multi-owner。
Member 列包含文本 Yes。
# cldevicegroup show setname
指定仅显示在Step 1 中创建的磁盘集的配置信息。
此命令显示磁盘集的设备组信息。对于多属主磁盘集,设备组类型为 Multi-owner_SVM。
# cldevicegroup status setname
此命令在多属主磁盘集中的每一节点上显示多属主磁盘集的状态。
如果使用的是 Sun QFS 共享文件系统,请忽略此步骤。
按如下所示更改卷所有权:
所有者:DBA 用户
组:DBA 组
DBA 用户和 DBA 组按照如何创建 DBA 组和 DBA 用户帐户中的说明创建。
确保仅更改 Support for Oracle RAC 数据库将使用的卷的所有权。
# chown user-name:group-name volume-list
如果使用的是 Sun QFS 共享文件系统,请忽略此步骤。
对于可以拥有磁盘集的每一节点上的卷,授予对该卷的访问权限。确保仅更改 Support for Oracle RAC 数据库要使用的卷的访问权限。
# chmod u+rw volume-list
指定卷的逻辑名称的空格分隔列表,要对这些卷的所有者授予读写访问权限。确保此列表包含在Step 7 中指定的卷。
要指定设备,请修改 ASM_DISKSTRING Oracle ASM 实例初始化参数。
例如,要为 Oracle ASM 磁盘组使用 /dev/md/setname/rdsk/d 路径,请将值 /dev/md/*/rdsk/d* 添加到 ASM_DISKSTRING 参数。如果通过编辑 Oracle 初始化参数文件修改此参数,请对参数进行如下编辑:
ASM_DISKSTRING = '/dev/md/*/rdsk/d*'
有关更多信息,请参见 Oracle 数据库文档。
本示例显示了在 Solaris Volume Manager for Sun Cluster 中为四节点群集创建多属主磁盘集所需操作的顺序。
磁盘集将与 Sun QFS 共享文件系统一起使用。本示例未显示如何在添加到磁盘集的设备上创建 Sun QFS 共享文件系统。
要创建多属主磁盘集,请运行以下命令:
# metaset -s oradg -M -a -h pclus1 pclus2 pclus3 pclus4
多属主磁盘集命名为 oradg。将 pclus1、pclus2、pclus3 和 pclus4 节点添加到此磁盘集。
要将全局设备添加到磁盘集,请运行以下命令:
# metaset -s oradg -a /dev/did/dsk/d8 /dev/did/dsk/d9 /dev/did/dsk/d15 \ /dev/did/dsk/d16
上面的命令将以下全局设备添加到磁盘集:
/dev/did/dsk/d8
/dev/did/dsk/d9
/dev/did/dsk/d15
/dev/did/dsk/d16
要为磁盘集创建卷,请运行以下命令:
# metainit -s oradg d10 1 1 /dev/did/dsk/d9s0 # metainit -s oradg d11 1 1 /dev/did/dsk/d16s0 # metainit -s oradg d20 1 1 /dev/did/dsk/d8s0 # metainit -s oradg d21 1 1 /dev/did/dsk/d15s0
每个卷由分片的一对一串联而创建,如下表所示。不会将分片分组。
|
要检验每个节点是否已正确添加到多属主磁盘集,请运行以下命令:
# metaset -s oradg Multi-owner Set name = oradg, Set number = 1, Master = pclus2 Host Owner Member pclus1 multi-owner Yes pclus2 multi-owner Yes pclus3 multi-owner Yes pclus4 multi-owner Yes Drive Dbase d8 Yes d9 Yes d15 Yes d16 Yes
要检验是否已正确配置多属主磁盘集,请运行以下命令:
# cldevicegroup show oradg === Device Groups === Device Group Name: oradg Type: Multi-owner_SVM failback: false Node List: pclus1, pclus2, pclus3, pclus4 preferenced: false numsecondaries: 0 diskset name: oradg
要检验多属主磁盘集的联机状态,请运行以下命令:
# cldevicegroup status oradg === Cluster Device Groups === --- Device Group Status --- Device Group Name Primary Secondary Status ----------------- ------- --------- ------ --- Multi-owner Device Group Status --- Device Group Name Node Name Status ----------------- --------- ------ oradg pclus1 Online pclus2 Online pclus3 Online pclus4 Online
接下来的步骤