适用于 Oracle Real Application Clusters 的 Oracle® Solaris Cluster 数据服务指南

退出打印视图

更新时间: 2014 年 7 月,E52258–01
 
 

如何在 Solaris Volume Manager for Sun Cluster 中为 Oracle RAC 数据库创建多属主磁盘集


注 -  只有使用的是 Solaris Volume Manager for Sun Cluster,才执行此任务。

如果使用的是 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 软件包

  • 确保多属主卷管理器框架资源组已创建并处于联机状态。有关更多信息,请参见注册和配置多属主卷管理器框架资源组


    Caution

    注意  -  请不要尝试手动创建 /var/run/nodelist 文件。如果这样做,会使群集出现群集范围紧急情况的风险。


  • 除非您使用的是 Sun QFS 共享文件系统,否则不要在多属主磁盘集中创建任何文件系统。在不含 Sun QFS 共享文件系统的配置中,只有原始数据文件使用此磁盘集。

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

  1. 创建多属主磁盘集。

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

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

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

    -M

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

    -a

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

    -h nodelist

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

  2. 将全局设备添加到在Step 1 中创建的磁盘集。
    # metaset -s setname -a devicelist
    -s setname

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

    -a

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

    devicelist

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

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

    提示  -  如果要为 Oracle 数据文件创建许多卷,可以使用软分区简化此步骤。但是,如果您使用的是 Sun QFS 共享文件系统并且您系统上的 I/O 负载很重,请为数据和元数据使用单独的分区。否则,系统的性能可能会降低。有关软分区的信息,请参见Solaris Volume Manager 管理指南中的第 12  章 软分区(概述)Solaris Volume Manager 管理指南中的第 13  章 软分区(任务)

    通过将在Step 2 中添加的全局设备上的分片进行串联,创建每一卷。使用 metainit(1M) 命令可实现此目的。

    # metainit -s setname volume-abbrev numstripes width slicelist
    -s setname

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

    volume-abbrev

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

    numstripes

    指定卷中的存储条数量。

    width

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

    slicelist

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

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

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

    # metaset -s setname
    -s setname

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

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

    • Host 列包含节点名称。

    • Owner 列包含文本 multi-owner

    • Member 列包含文本 Yes

  5. 检验多属主磁盘集是否已正确配置。
    # cldevicegroup show setname
    setname

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

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

  6. 检验多属主磁盘集的联机状态。
    # cldevicegroup status setname

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

  7. (仅限不含 Sun QFS 共享文件系统的配置)在可拥有磁盘集的每个节点上,更改对在Step 3 中创建的每个卷的所有权。

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


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

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

    • 所有者:DBA 用户

    • 组:DBA 组

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

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

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

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

    group-name

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

    volume-list

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

    • 对于块设备:/dev/md/setname /dsk/dV

    • 对于原始设备:/dev/md/setname/rdsk/dV

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

    setname

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

    V

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

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

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

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


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

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

    # chmod u+rw volume-list
    volume-list

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

  9. 如果使用 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 数据库文档。

示例 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。将 pclus1pclus2pclus3pclus4 节点添加到此磁盘集。

  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. 要检验每个节点是否已正确添加到多属主磁盘集,请运行以下命令:

    # 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  
  5. 要检验是否已正确配置多属主磁盘集,请运行以下命令:

    # 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
  6. 要检验多属主磁盘集的联机状态,请运行以下命令:

    # 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 数据库文件注册和配置存储资源