如何使用 clsetup 注册和配置多属主卷管理器框架资源组
如何使用 clsetup 为 Oracle 文件注册和配置存储资源
如何使用 clsetup 注册和配置 Oracle ASM 资源组
6. Support for Oracle RAC 故障排除
7. 修改 Support for Oracle RAC 的现有配置
如果您对 Oracle 数据库文件使用卷管理器,则该卷管理器需要有一个全局设备组供 Oracle RAC 数据库使用。
要创建的全局设备组类型取决于您使用的卷管理器:
如果您使用 Solaris Volume Manager for Sun Cluster,请创建一个 Solaris Volume Manager for Sun Cluster 多属主磁盘集。请参见如何在 Solaris Volume Manager for Sun Cluster 中为 Oracle RAC 数据库创建多属主磁盘集。
如果您使用 VxVM,请创建一个 VxVM 共享磁盘组。请参见如何为 Oracle RAC 数据库创建 VxVM 共享磁盘组。
注 - 仅当您使用 Solaris Volume Manager for Sun Cluster 时才应执行此任务。
如果您使用 Solaris Volume Manager for Sun Cluster,Solaris Volume Manager 需要有一个多属主磁盘集供 Oracle RAC 数据库、Sun QFS 共享文件系统或 Oracle ASM 使用。有关 Solaris Volume Manager for Sun Cluster 多属主磁盘集的信息,请参见《Solaris Volume Manager Administration Guide》中的"Multi-Owner Disk Set Concepts"。
确保每个节点上都安装了所需的 Support for Oracle RAC 软件包。有关更多信息,请参见安装 Support for Oracle RAC 软件包。
除非您使用 Sun QFS 共享文件系统,否则请勿在多属主磁盘集中创建任何文件系统。在没有 Sun QFS 共享文件系统的配置中,只有原始数据文件才会使用此磁盘集。
您添加到多属主磁盘集中的磁盘设备必须直接连接到所有群集节点。
为此请使用 metaset(1M) 命令。
# metaset -s setname -M -a -h nodelist
指定要创建的磁盘集的名称。
指定您要创建的磁盘集是多属主磁盘集。
指定 -h 选项指定的节点将添加到磁盘集。
指定将添加到磁盘集的节点的空格分隔列表。必须在列表中的每个节点上安装 Support for Oracle RAC 软件包。
# metaset -s setname -a devicelist
指定您要修改步骤 1 中创建的磁盘集。
指定 devicelist 指定的设备将添加到磁盘集。
指定将添加到磁盘集的全局设备的完整设备 ID 路径名的空格分隔列表。要实现从群集中任意节点对每个设备的一致访问,请确保每个设备 ID 路径名的格式为 /dev/did/dsk/dN,其中 N 表示设备编号。
提示 - 如果要为 Oracle 数据文件创建许多个卷,可以使用软分区简化此步骤。不过,如果您使用 Sun QFS 共享文件系统而且系统上的 I/O 负载很重,请为数据和元数据使用不同的分区。否则,您系统的性能可能会受到影响。有关软分区的信息,请参见《Solaris Volume Manager Administration Guide》中的第 12 章 "Soft Partitions (Overview)"以及《Solaris Volume Manager Administration Guide》中的第 13 章 "Soft Partitions (Tasks)"。
可通过串联步骤 2 中添加的全局设备上的分片创建每个卷。为此请使用 metainit(1M) 命令。
# metainit -s setname volume-abbrev numstripes width slicelist
如果您没有使用镜像设备,请忽略此步骤。
使用 metainit 命令创建每个镜像,如下所示:
# metainit -s setname mirror -m submirror-list
指定您要为步骤 1 中创建的磁盘集创建镜像。
以缩写的卷名称格式指定要创建的镜像的名称。缩写的卷名称的格式为 dV,其中 V 表示卷编号。
指定镜像将包含的子镜像的空格分隔列表。每个子镜像必须是步骤 3 中创建的一个卷。以缩写的卷名称格式指定每个子镜像的名称。
注 - 有关在区域群集中配置 Solaris Volume Manager 磁盘集的信息,请参见《Oracle Solaris Cluster 软件安装指南》中的"如何向区域群集中添加磁盘集 (Solaris Volume Manager)"。
为此请使用 metaset 命令。
# metaset -s setname
指定您要验证步骤 1 中创建的磁盘集。
此命令显示一个表,其中包含正确添加到磁盘集的每个节点的以下信息:
Host 列包含节点名。
Owner 列包含文本 multi-owner。
Member 列包含文本 Yes。
# cldevicegroup show setname
指定只显示步骤 1 中创建的磁盘集的配置信息。
此命令显示磁盘集的设备组信息。对于多属主磁盘集,设备组类型为 Multi-owner_SVM。
# cldevicegroup status setname
此命令显示多属主磁盘集中每个节点上的多属主磁盘集的状态。
如果您使用 Sun QFS 共享文件系统,请忽略此步骤。
注 - 对于区域群集,请在区域群集中执行此步骤。
按如下所述更改卷所有权:
所有者:DBA 用户
组:DBA 组
可按照如何创建 DBA 组和 DBA 用户帐户中所述创建 DBA 用户和 DBA 组。
确保您只更改 Oracle RAC 数据库将使用的卷的所有权。
# chown user-name:group-name volume-list
如果您使用 Sun QFS 共享文件系统,请忽略此步骤。
注 - 对于区域群集,请在区域群集中执行此步骤。
对可以拥有磁盘集的每个节点上的卷授予访问权限。确保您只更改 Oracle RAC 数据库将使用的卷的访问权限。
# chmod u+rw volume-list
指定您为其所有者授予读写访问权限的卷的以空格分隔的逻辑名列表。确保该列表包含您在步骤 8 中指定的卷。
要指定设备,请修改 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 ASM 配置中指定外部冗余。
有关更多信息,请参见 Oracle 文档。
示例 3-1 在 Solaris Volume Manager for Sun Cluster 中创建多属主磁盘集
此示例显示了要在 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
每个卷通过将分片逐个串联起来而创建,如下表所示。这些分片没有条带化。
|
要为磁盘集创建镜像,请运行以下命令:
# metainit -s oradg d1 -m d10 d11 # metainit -s oradg d2 -m d20 d21
上述命令从卷 d10 和卷 d11 创建一个名为 d1 的镜像,并从卷 d20 和卷 d21 创建一个名为 d2 的镜像。
要检验每个节点是否正确添加到多属主磁盘集,请运行以下命令:
# metaset -s oradgMulti-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
注 - 仅当使用具有群集功能的 VxVM 时才应执行此任务。
如果您使用具有群集功能的 VxVM,VxVM 需要有一个共享磁盘组供 Oracle RAC 数据库或 Oracle ASM 使用。
确保每个节点上都安装了所需的 Support for Oracle RAC 软件包。有关更多信息,请参见安装 Support for Oracle RAC 软件包。
您添加到共享磁盘组的磁盘必须直接连接到所有群集节点。
确保您的 VxVM 许可证是最新的。如果您的许可证过期,节点将出现紧急情况。
有关 VxVM 共享磁盘组的信息,请参见 VxVM 文档。
要指定设备,请修改 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 ASM 配置中指定外部冗余。
有关更多信息,请参见 Oracle 文档。