跳过导航链接
退出打印视图
| 适用于 Oracle Real Application Clusters 的 Oracle Solaris Cluster 数据服务指南 Oracle Solaris Cluster 3.3 3/13 (简体中文)

搜索范围:

- 本文档
- 整个文档库

## 为 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 中为 Oracle RAC 数据库创建多属主磁盘集

注 - 只有使用的是 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 共享文件系统的配置中，只有原始数据文件使用此磁盘集。

- 添加到多属主磁盘集的磁盘设备必须直接连接到所有群集节点。

1. 创建多属主磁盘集。

   使用 `metaset`(1M) 命令可实现此目的。

       # metaset -s setname -M -a -h nodelist

   `-s` setname

     指定要创建的磁盘集的名称。

   `-M`

     指定要创建的磁盘集为多属主磁盘集。

   `-a`

     指出 `-h` 选项指定的节点将添加到磁盘集。

   `-h` nodelist

     指定一个要添加到磁盘集的节点的空格分隔列表。Support for Oracle RAC 软件包必须安装在列表中的每一节点上。

2. 将全局设备添加到在步骤 1 中创建的磁盘集。

       # metaset -s setname -a devicelist

   `-s` setname

     指定将修改在步骤 1 中创建的磁盘集。

   `-a`

     指出 devicelist 指定的设备将添加到磁盘集。

   devicelist

     指定要添加到磁盘集的全局设备的完整设备 ID 路径名称的空格分隔列表。要允许从群集中的任何节点对每一设备进行一致的访问，请确保每一设备 ID 路径名称的格式为 `/dev/did/dsk/d` N，其中 N 为设备号。

3. 针对在步骤 1 中创建的磁盘集，创建 Oracle RAC 数据库或 Sun QFS 共享文件系统将使用的卷。

   提示 - 如果要为 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

   `-s` setname

     指定将为在步骤 1 中创建的磁盘集创建卷。

   volume-abbrev

     指定要创建的卷的缩写名称。缩写的卷名称的格式为 `d` V，其中 V 为卷编号。

   numstripes

     指定卷中的存储条数量。

   width

     指定每一存储条中的分片数量。如果将 width 设置为大于 1，会将分片分组。

   slicelist

     指定卷包含的分片的空格分隔列表。每一分片必须位于在步骤 2 中添加的全局设备上。

4. 如果使用的是镜像的设备，请通过将在步骤 3 中创建的卷用作子镜像来创建镜像。

   如果使用的不是镜像的设备，请忽略此步骤。

   使用 `metainit` 命令创建每一镜像，如下所示：

       # metainit -s setname mirror -m submirror-list

   `-s` setname

     指定要为在步骤 1 中创建的磁盘集创建一个镜像。

   mirror

     以缩写卷名称格式指定正在创建的镜像的名称。缩写的卷名称的格式为 `d` V，其中 V 为卷编号。

   submirror-list

     指定镜像要包含的子镜像的空格分隔列表。每一子镜像必须是您在步骤 3 中创建的卷。以缩写卷名称格式指定每一子镜像的名称。

   注 - 有关在区域群集中配置 Solaris Volume Manager 磁盘集的信息，请参见《Oracle Solaris Cluster 软件安装指南》中的"如何向区域群集中添加磁盘集 (Solaris Volume Manager)"。

5. 检验每一节点是否已正确添加到多属主磁盘集。

   请使用 `metaset` 命令来实现此目的。

       # metaset -s setname

   `-s` setname

     指定要检验在步骤 1 中创建的磁盘集。

   此命令显示一个表，该表包含关于已正确添加到磁盘集中的每一节点的以下信息：

   - `Host` 列包含节点名称。

   - `Owner` 列包含文本 `multi-owner`。

   - `Member` 列包含文本 `Yes`。

6. 检验多属主磁盘集是否已正确配置。

       # cldevicegroup show setname

   setname

     指定仅显示在步骤 1 中创建的磁盘集的配置信息。

   此命令显示磁盘集的设备组信息。对于多属主磁盘集，设备组类型为 `Multi-owner_SVM`。

7. 检验多属主磁盘集的联机状态。

       # cldevicegroup status setname

   此命令在多属主磁盘集中的每一节点上显示多属主磁盘集的状态。

8. （仅限不含 Sun QFS 共享文件系统的配置）在可拥有磁盘集的每个节点上，更改对在步骤 3 中创建的每个卷的所有权。

   如果使用的是 Sun QFS 共享文件系统，请忽略此步骤。

   注 - 对于区域群集，请在此区域群集中执行此步骤。

   按如下所示更改卷所有权：

   - 所有者：DBA 用户

   - 组：DBA 组

   DBA 用户和 DBA 组按照如何创建 DBA 组和 DBA 用户帐户中的说明创建。

   确保仅更改 Oracle RAC 数据库将使用的卷的所有权。

       # chown user-name:group-name volume-list

   user-name

     指定 DBA 用户的用户名。该用户通常命名为 `oracle`。

   group-name

     指定 DBA 组的名称。该组通常为 `dba`。

   volume-list

     指定已为磁盘集创建的卷的逻辑名称的空格分隔列表。这些名称的格式取决于卷所在的设备类型，如下所示：

     - 对于块设备：`/dev/md/`setname`/dsk/d` V

     - 对于原始设备：`/dev/md/`setname`/rdsk/d` V

     这些名称中的可替换项如下所示：

     setname

       指定在步骤 1 中创建的多属主磁盘集的名称。

     V

       指定在步骤 3 中创建的卷的卷编号。

     确保此列表指定您在步骤 3 中创建的每一卷。

9. （仅限不含 Sun QFS 共享文件系统的配置）将读写访问权限授予您在步骤 8 中更改了所有权的每个卷的所有者。

   如果使用的是 Sun QFS 共享文件系统，请忽略此步骤。

   注 - 对于区域群集，请在此区域群集中执行此步骤。

   对于可以拥有磁盘集的每一节点上的卷，授予对该卷的访问权限。确保仅更改 Oracle RAC 数据库要使用的卷的访问权限。

       # chmod u+rw volume-list

   volume-list

     指定卷的逻辑名称的空格分隔列表，要对这些卷的所有者授予读写访问权限。确保此列表包含在步骤 8 中指定的卷。

10. 如果使用 Oracle ASM，请指定用于 Oracle ASM 磁盘组的原始设备。

    注 - 对于 11g R2 和 12c，只有硬件 RAID 支持 Oracle ASM。版本 11g R2 或 12c 不支持在由卷管理器所管理的设备上使用 Oracle ASM 磁盘组。

    要指定设备，请修改 `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 共享文件系统。

1. 要创建多属主磁盘集，请运行以下命令：

       # metaset -s oradg -M -a -h  pclus1 pclus2 pclus3 pclus4

   多属主磁盘集命名为 `oradg`。将 `pclus1`、`pclus2`、`pclus3` 和 `pclus4` 节点添加到此磁盘集。

2. 要将全局设备添加到磁盘集，请运行以下命令：

       # 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`

3. 要为磁盘集创建卷，请运行以下命令：

       # 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

   每个卷由分片的一对一串联而创建，如下表所示。不会将分片分组。

   卷 | 分片
   --- | ---
   `d10` | `/dev/did/dsk/d9s0`
   `d11` | `/dev/did/dsk/d16s0`
   `d20` | `/dev/did/dsk/d8s0`
   `d21` | `/dev/did/dsk/d15s0`

4. 要为磁盘集创建镜像，请运行以下命令：

       # metainit -s oradg d1 -m d10 d11
       # metainit -s oradg d2 -m d20 d21

   上面的命令分别从卷 `d10` 和 `d11` 创建名为 `d1` 的镜像，从卷 `d20` 和 `d21` 创建名为 `d2` 的镜像。

5. 要检验每个节点是否已正确添加到多属主磁盘集，请运行以下命令：

       # 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

6. 要检验是否已正确配置多属主磁盘集，请运行以下命令：

       # 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

7. 要检验多属主磁盘集的联机状态，请运行以下命令：

       # 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

接下来的步骤

请转至为 Oracle 文件注册和配置存储资源。

## 如何为 Oracle RAC 数据库创建 VxVM 共享磁盘组

注 - 只有将 VxVM 与群集功能一起使用时，才执行此任务。

如果将 VxVM 与群集功能一起使用，则 VxVM 需要一个共享磁盘组，以供 Oracle RAC 数据库或 Oracle ASM 使用。

开始之前

请注意以下几点。

- 确保在每个节点上安装必需的 Support for Oracle RAC 软件包。有关更多信息，请参见安装 Support for Oracle RAC 软件包。

- 不要在群集中将共享磁盘组注册为群集设备组。

- 不要在共享磁盘组中创建任何文件系统，因为只有原始数据文件使用此磁盘组。

- 将卷创建为 `gen` 使用类型。

- 添加到共享磁盘组的磁盘必须直接连接到所有群集节点。

- 确保 VxVM 许可证有效。如果许可证已到期，则节点会出现紧急情况。

1. 使用为创建 VxVM 共享磁盘组而提供的 Veritas 命令。

   有关 VxVM 共享磁盘组的信息，请参见 VxVM 文档。

2. 如果使用 Oracle ASM，请指定用于 Oracle ASM 磁盘组的原始设备。

   注 - 对于 11g R2 和 12c，只有硬件 RAID 支持 Oracle ASM。版本 11g R2 或 12c 不支持在由卷管理器所管理的设备上使用 Oracle ASM 磁盘组。

   要指定设备，请修改 `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 文档。

接下来的步骤

请转至为 Oracle 文件注册和配置存储资源。

版权所有 © 2000, 2013, Oracle 和/或其附属公司。 保留所有权利。 法律声明 |