跳过导航链接
退出打印视图
| 用于 Oracle Real Application Clusters 的 Oracle Solaris Cluster 数据服务指南

搜索范围:

- 本文档
- 整个文档库

### 为 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 磁盘组的原始设备。

    要指定设备，请修改 `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 磁盘组的原始设备。

   要指定设备，请修改 `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, 2010, Oracle 和/或其附属公司。 保留所有权利。 法律声明 |