Sun Cluster 3.2 发行说明(适用于 Solaris OS)

文档问题

本节将讨论 Sun Cluster 3.2 发行版的相关文档、联机帮助或手册页中的错误或遗漏之处。

概念指南

本节讨论《Sun Cluster Concepts Guide for Solaris OS》中的错误和遗漏之处。

x86: 适用于 x86 的 Sun Cluster 拓扑

《Sun Cluster Concepts Guide for Solaris OS》中的“Sun Cluster Topologies for x86”一节,以下表述对于 Sun Cluster 3.2 发行版来说已过时:“由基于 x86 的系统组成的 Sun Cluster 在群集中支持两个节点。”

该表述应改为以下内容:“由基于 x86 的系统组成的 Sun Cluster 配置在运行 Oracle RAC 的群集中最多支持八个节点,在没有运行 Oracle RAC 的群集中最多支持四个节点。”

软件安装指南

本节讨论《Sun Cluster 软件安装指南(适用于 Solaris OS)》中的错误或遗漏之处。

未介绍对运行 Sun Cluster Geographic Edition 软件的群集进行升级前应执行的准备步骤

如果要升级同时还在运行 Sun Cluster Geographic Edition 软件的群集,则在开始升级 Sun Cluster 软件之前必须先执行额外的准备步骤。其中包括关闭 Sun Cluster Geographic Edition 基础结构这一步骤。请转至《Sun Cluster Geographic Edition Installation Guide》中的第 4  章 “Upgrading the Sun Cluster Geographic Edition Software”。其中的操作过程讲述了何时返回“Sun Cluster 软件安装指南”执行 Sun Cluster 软件升级。

Sun Cluster 数据服务规划和管理指南

本节讨论《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的错误和遗漏之处。

非全局区域中对可伸缩服务的支持

《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的“Resource Type Properties”一节中,对 Failover 资源属性的描述中缺少有关非全局区域中支持可伸缩服务的说明。此项支持适用于符合以下条件的资源:其所属资源类型的 Failover 属性设置为 FALSE 且该资源的 Scalable 属性设置为 TRUE。这样的属性设置组合代表的是使用 SharedAddress 资源进行网络负载平衡的可伸缩服务。在 Sun Cluster 3.2 发行版中,您可以在运行于非全局区域的资源组中配置此类可伸缩服务。但不能将可伸缩服务配置为在同一节点上的多个非全局区域中运行。

用于 MaxDB 的 Sun Cluster 数据服务指南

本节讨论《Sun Cluster Data Service for MaxDB Guide for Solaris OS》中的错误和遗漏之处。

在基于 SPARC 和 x86 平台的系统上,非全局区域中对用于 MaxDB 的 Sun Cluster 数据服务的支持发生了变化

在基于 SPARC 和 x86 平台的系统上,非全局区域中支持用于 MaxDB 的 Sun Cluster 数据服务。关于此支持问题,应在“用于 MaxDB 的 Sun Cluster 数据服务指南”中进行以下更改。在已配置为运行于全局区域的群集上,可执行下列步骤。如果要安装运行于非全局区域的群集,可能无需执行下面指出的某些步骤。

用于 SAP 的 Sun Cluster 数据服务指南

本节讨论《Sun Cluster Data Service for SAP Guide for Solaris OS》中的错误和遗漏之处。

在基于 SPARC 和 x86 平台的系统上,非全局区域中对 SAP 的支持发生了变化

在基于 SPARC 和 x86 平台的系统上,非全局区域中支持用于 SAP 的 Sun Cluster 数据服务。关于此支持问题,应在“用于 SAP 的 Sun Cluster 数据服务指南”中进行以下更改。在已配置为运行于全局区域的群集上,可执行下列步骤。如果要安装运行于非全局区域的群集,可能无需执行下面指出的某些步骤。

用于 SAP liveCache 的 Sun Cluster 数据服务指南

本节讨论《Sun Cluster Data Service for SAP liveCache Guide for Solaris OS》中的错误和遗漏之处。

在基于 SPARC 和 x86 平台的系统上,非全局区域中对 SAP liveCache 的支持发生了变化

在基于 SPARC 和 x86 平台的系统上,非全局区域中支持用于 SAP liveCache 的 Sun Cluster 数据服务。关于此支持问题,应在“用于 SAP liveCache 的 Sun Cluster 数据服务指南”中进行以下更改。在已配置为运行于全局区域的群集上,可执行下列步骤。如果要安装运行于非全局区域的群集,可能无需执行下面指出的某些步骤。

用于 SAP Web Application Server 的 Sun Cluster 数据服务指南

本节讨论《Sun Cluster Data Service for SAP Web Application Server Guide for Solaris OS》中的错误和遗漏之处。

Sun Cluster HA for SAP Web Application Server 对 SAP 7.0 的支持 (6461002)

在 SAP 7.0 和 NW2004SR1 中,当启动一个 SAP 实例时,sapstartsrv 进程默认情况下也会随之启动。sapstartsrv 进程不受 Sun Cluster HA for SAP Web Application Server 的控制。因此,当 Sun Cluster HA for SAP Web Application Server 停止 SAP 实例或者对其进行故障转移时,sapstartsrv 进程不会停止。

要避免 sapstartsrv 进程在 Sun Cluster HA for SAP Web Application Server 启动 SAP 实例时随之一起启动,您必须修改 startsap 脚本。此外,还应在所有的 Sun Cluster 节点上将 /etc/rc3.d/S90sapinit 文件重命名为 /etc/rc3.d/xxS90sapinit

在基于 SPARC 和 x86 平台的系统上,非全局区域中对 SAP Web Application Server 的支持发生了变化

在基于 SPARC 和 x86 平台的系统上,非全局区域中支持用于 SAP Web Application Server 的 Sun Cluster 数据服务。关于此支持问题,应在“用于 SAP Web Application Server 的 Sun Cluster 数据服务指南”中进行以下更改。在已配置为运行于全局区域的群集上,可执行下列步骤。如果要安装运行于非全局区域的群集,可能无需执行下面指出的某些步骤。

在非全局区域中设置 SAP Web Application Server 以配置 HASP 资源 (6530281)

可执行以下操作过程来为非全局区域配置 HAStoragePlus 资源。


注 –

Procedure如何在非全局区域中设置 SAP Web Application Server 以配置 HAStoragePlus 资源

  1. 在群集的任一节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 在包含 HAStoragePlus 资源的非全局区域中创建可伸缩资源组。


       # clresourcegroup create \
         -p Maximum_primaries=m\
         -p Desired_primaries=n\
        [-n node-zone-list] hasp-resource-group
    
    -p Maximum_primaries=m

    指定该资源组的活动主节点的最大数目。

    -p Desired_primaries=n

    指定尝试启动资源组的活动主节点的数目。

    -n node-zone-list

    HAStoragePlus 资源组的节点列表中,指定“节点名称:区域名称”对的列表作为 HAStoragePlus 资源组的节点列表,其中的 SAP 实例可以处于联机状态。

    hasp-resource-group

    指定要添加的可伸缩资源组的名称。此名称必须以 ASCII 字符开头。

  3. HAStoragePlus 资源注册资源类型。


    # clresourcetype register HAStoragePlus
  4. 创建 HAStoragePlus 资源 hasp-resource,并定义 SAP 文件系统挂载点和全局设备路径。


     # clresource create -g hasp-resource-group -t SUNW.HAStoragePlus \
        -p GlobalDevicePaths=/dev/global/dsk/d5s2,dsk/d6 \
        -p affinityon=false -p
    FilesystemMountPoints=/sapmnt/JSC,/usr/sap/trans,/usr/sap/JSC hasp-resource
    
    -g hasp-resource-group

    指定资源组名称。

    GlobalDevicePaths

    包含以下值:

    • 全局设备组名称,例如 sap-dg、dsk/d5

    • 全局设备的路径,例如 /dev/global/dsk/d5s2/dev/md/sap-dg/dsk/d6

    FilesystemMountPoints

    包含以下值:

    • 本地或群集文件系统的挂载点,例如 /local/mirrlogA、/local/mirrlogB、/sapmnt/JSC、/usr/sap/JSC

    创建后的 HAStoragePlus 资源将处于“已启用”状态。

  5. 为 SAP 应用程序注册资源类型。


    # clresourcetype register resource-type
    
    resource-type

    指定要添加的资源类型的名称。有关更多信息,请参见支持的产品

  6. 创建一个 SAP 资源组。


      # clresourcegroup create [-n node-zone-list] -p 
    RG_affinities=++hastorageplus-rg resource-group-1
    
    resource-group-1

    指定 SAP 服务资源组。

  7. 将 SAP 应用程序资源添加到 resource-group-1 中,并设置对 hastorageplus-1 的依赖性。


       # clresource create -g resource-group-1 -t SUNW.application \
         [-p "extension-property[{node-specifier}]"=value, ?] \
         -p Resource_dependencies=hastorageplus-1 resource
    
  8. 使故障转移资源组联机。


    # clresourcegroup online resource-group-1
    

系统管理指南

本节讨论《Sun Cluster 系统管理指南(适用于 Solaris OS)》中的错误和遗漏之处。

从使用非群集模式引导的节点中获取 Solaris Volume Manager 元集

Procedure如何从使用非群集模式引导的节点中获取 Solaris Volume Manager 元集

可执行以下操作过程在群集外部运行应用程序,以进行测试。

  1. 确定 Solaris Volume Manager 元集中是否使用了法定设备,并确定法定设备是否使用了 scsi2 或 scsi3 保留。


    # clquorum show
    
    1. 如果法定设备位于 Solaris Volume Manager 元集中,请添加一个不属于该元集(稍后将在非群集模式下获取)的新法定设备。


      # clquorum add did
      
    2. 删除旧的法定设备。


      # clqorum remove did
      
    3. 如果法定设备使用 scsi2 保留,请从旧的法定设备清除 scsi2 保留,并验证没有未清除的 scsi2 保留。


      # /usr/cluster/lib/sc/pgre -c pgre_scrub -d /dev/did/rdsk/dids2
      # /usr/cluster/lib/sc/pgre -c pgre_inkeys -d /dev/did/rdsk/dids2
      
  2. 撤离要以非群集模式引导的节点。


    # clresourcegroup evacuate -n targetnode
    
  3. 使包含 HAStorage 或 HAStoragePlus 资源且包含受影响的设备或文件系统(因稍后要在非群集模式下获取的元集而受影响)的一个或多个资源组脱机。


    # clresourcegroup offline resourcegroupname
    
  4. 禁用已脱机的资源组中的所有资源。


    # clresource disable resourcename
    
  5. 使这些资源组不受管理。


    # clresourcegroup unmanage resourcegroupname
    
  6. 使相应的一个或多个设备组脱机。


    # cldevicegroup offline devicegroupname
    
  7. 禁用相应的一个或多个设备组。


    # cldevicegroup disable devicegroupname
    
  8. 将非活动节点引导至非群集模式。


    # reboot -x
    
  9. 继续执行操作之前,检验非活动节点上的引导进程是否已完成。

    • Solaris 9

      仅当引导进程完成后才会显示登录提示符,因此无需进行任何检验操作。

    • Solaris 10


      # svcs -x
      
  10. 确定元集包含的磁盘上是否存在任何 scsi3 保留。对元集包含的所有磁盘执行以下命令。


    # /usr/cluster/lib/sc/scsi -c inkeys -d /dev/did/rdsk/dids2
    
  11. 如果磁盘上存在 scsi3 保留,请将其清除。


    # /usr/cluster/lib/sc/scsi -c scrub -d /dev/did/rdsk/dids2
    
  12. 在已撤离的节点上获取元集。


    # metaset -s name -C take -f
    
  13. 在元集上挂载一个或多个包含已定义设备的文件系统。


    # mount device mountpoint
    
  14. 启动应用程序,并执行所需的测试。完成测试后,停止应用程序。

  15. 重新引导被撤离的节点,并等待引导进程结束。


    # reboot
    
  16. 使一个或多个设备组联机。


    # cldevicegroup online -e devicegroupname
    
  17. 启动一个或多个资源组。


    # clresourcegroup online -eM  resourcegroupname 
    

将 Solaris IP 过滤功能用于 Sun Cluster

Sun Cluster 支持 Solaris IP 过滤功能,但具有以下限制:

Procedure如何设置 Solaris IP 过滤功能

  1. /etc/iu.ap 文件中,修改公共 NIC 条目,以将 clhbsndr pfil 列为模块列表。

    pfil 必须是列表中的最后一个模块。


    注 –

    如果专用网络和公共网络使用的是同一类型的适配器,则对 /etc/iu.ap 文件进行的这一编辑会将 pfil 推向专用网络流。但群集传输模块会在创建流时自动删除所有不需要的模块,因此,pfil 将从专用网络流中被删除。


  2. 为确保 IP 过滤器能够在非群集模式下使用,请更新 /etc/ipf/pfil.ap 文件。

    /etc/ipf/pfil.ap 文件的更新根据具体情况会稍有不同。有关更多信息,请参见 IP 过滤器相关文档。

  3. 重新引导所有受影响的节点。

    您可以采用滚动方式引导各个节点。

  4. 在所有受影响的节点上将过滤器规则添加到 /etc/ipf/ipf.conf 文件中。有关 IP 过滤器规则语法的信息,请参见 ipf(4)

    向 Sun Cluster 节点中添加过滤器规则时,请记住以下指导原则和要求。

    • Sun Cluster 可以将网络地址从一个节点故障转移到另一个节点。因此,在进行故障转移时,无需执行特殊的操作过程,也无需运行特殊代码。

    • 所有群集节点上引用逻辑主机名 IP 地址和共享地址资源的所有过滤规则必须完全相同。

    • 备用节点上的规则将会引用不存在的 IP 地址。此规则仍是 IP 过滤器活动规则集的一部分,将在故障转移后节点收到地址时生效。

    • 同一 IPMP 组中所有 NIC 相应的所有过滤规则必须相同。换言之,如果某一接口具备特定的规则,则同一 IPMP 组中所有其他接口必须具备与此相同的规则。

  5. 启用 ipfilter SMF 服务。


    # svcadm enable /network/ipfilter:default
    

数据服务开发者指南

本节讨论《Sun Cluster Data Services Developer’s Guide for Solaris OS》中的错误和遗漏之处。

非全局区域中对某些可伸缩服务的支持

《Sun Cluster Data Services Developer’s Guide for Solaris OS》中的“Resource Type Properties”一节中,对 Failover 资源属性的描述中缺少有关非全局区域中支持可伸缩服务的说明。此项支持适用于符合以下条件的资源:其所属资源类型的 Failover 属性设置为 FALSE 且该资源的 Scalable 属性设置为 TRUE。这样的属性设置组合代表的是使用 SharedAddress 资源进行网络负载平衡的可伸缩服务。在 Sun Cluster 3.2 发行版中,您可以在运行于非全局区域的资源组中配置此类可伸缩服务。但不能将可伸缩服务配置为在同一节点上的多个非全局区域中运行。

方法超时行为已更改

缺少对 Sun Cluster 3.2 发行版中方法超时行为更改的描述。现在,如果 RGM 方法回调超时,则系统将使用 SIGABRT 信号而不是 SIGTERM 信号来终止该进程。这会导致进程组的所有成员均生成一个核心转储文件。


注 –

请避免编写会创建新进程组的数据服务方法。如果您的数据服务方法确实需要创建新的进程组,则还应为 SIGTERMSIGABRT 信号编写信号处理程序。编写信号处理程序以便在信号处理程序在终止父进程之前,先将 SIGTERMSIGABRT 信号转发给子进程组。这样一来,由该方法所产生的所有进程都正常终止的可能性将会加大。


CRNP 仅在全局区域中运行

《Sun Cluster Data Services Developer’s Guide for Solaris OS》中的第 12  章 “Cluster Reconfiguration Notification Protocol”中缺少以下说明:在 Solaris 10 OS 上,群集重新配置通知协议 (Cluster Reconfiguration Notification Protocol, CRNP) 仅会在全局区域中运行。

对必要的 Solaris 软件组的说明不够明确

《Sun Cluster Data Services Developer’s Guide for Solaris OS》中的“Setting Up the Development Environment for Writing a Data Service”一节中,有一条注释,指出必须具有 Solaris 软件组的开发者分发版本或完整分发版本。此注释适用于开发计算机。但由于此注释之前的一句话是关于在群集上测试数据服务的,因此读者可能会误认为这是对正在运行数据服务的群集的要求。

法定服务器用户指南

本节论述了《Sun Cluster Quorum Server User’s Guide》中的错误和遗漏。

支持的软件和硬件平台

以下安装要求和指导信息不存在或者不够明确:

手册页

本节讨论 Sun Cluster 手册页中的错误和遗漏之处以及新增内容。

ccp(1M)

ccp(1M) 手册页中,以下经过修订的“提要”部分和新增的“选项”部分介绍了群集控制面板 (Cluster Control Panel, CCP) 实用程序中新增的安全 Shell 支持:

提要


$CLUSTER_HOME/bin/ccp [-s] [-l username] [-p ssh-port] {clustername | nodename}

选项

指令支持以下选项:

-l username

指定用于 ssh 连接的用户名。从 CCP 启动 cconsolecrlogincssh 实用程序后,此选项将被传递给相应的实用程序。ctelnet 实用程序会忽略此选项。

如果未指定 -l 选项,系统将使用启动 CCP 的用户名。

-p ssh-port

指定要使用的安全 Shell 端口号。从 CCP 启动 cssh 实用程序后,此选项将被传递给该实用程序。cconsolecrloginctelnet 实用程序会忽略此选项。

如果未指定 -p 选项,系统会使用默认端口号 22 进行安全连接。

-s

指定使用安全 Shell 连接方式而不是 telnet 连接方式与节点控制台建立连接。从 CCP 启动 cconsole 实用程序后,此选项将被传递给该实用程序。crlogincsshctelnet 实用程序会忽略此选项。

如果未指定 -s 选项,则 cconsole 实用程序将使用 telnet 连接方式与控制台建立连接。

要使 -s 选项无效,请在 cconsole 图形用户界面 (Graphical User Interface, GUI) 的“选项”菜单中取消选中“使用 SSH”复选框。

cconsole(1M)、crlogin(1M)、cssh(1M) 和 ctelnet(1M)

cconsolecrlogincsshctelnet 组合手册页中,以下经过修订的“提要”部分和新增的“选项”部分介绍了群集控制面板实用程序中新增的安全 Shell 支持:

提要


$CLUSTER_HOME/bin/cconsole [-s] [-l username] [clustername… | nodename…]
$CLUSTER_HOME/bin/crlogin [-l username] [clustername… | nodename…]
$CLUSTER_HOME/bin/cssh [-l username] [-p ssh-port] [clustername… | nodename…]
$CLUSTER_HOME/bin/ctelnet [clustername… | nodename…]

描述

cssh

使用此实用程序可直接与群集节点建立安全 Shell 连接。

选项

-l username

指定用于远程连接的 ssh 用户名。此选项可用于 cconsolecrlogincssh 命令。

系统会记住此参数值,以使在后面指定的群集和节点使用同一个用户名建立连接。

如果未指定 -l 选项,系统将使用启动命令的用户名。

-p ssh-port

指定要使用的安全 Shell 端口号。此选项可用于 cssh 命令。

如果未指定 -p 选项,系统会使用默认端口号 22 进行安全连接。

-s

指定使用安全 Shell 连接方式而不是 telnet 连接方式与节点控制台建立连接。此选项可用于 cconsole 命令。

如果未指定 -s 选项,则实用程序将使用 telnet 连接方式与控制台建立连接。

要使 -s 选项无效,请从 cconsole 图形用户界面 (Graphical User Interface, GUI) 取消选中“选项”菜单中的“使用 SSH”复选框。

clnode(1CL)

clresource(1CL)

clresourcegroup(1CL)

r_properties(5)

rt_properties(5)

Failover 资源类型属性的描述中指出,在 Sun Cluster 3.2 发行版中,非全局区域支持可伸缩服务,这是错误的。此说明适用于符合以下条件的资源:其所属资源类型的 Failover 属性设置为 FALSE 且该资源的 Scalable 属性设置为 TRUE

serialports(4)

以下信息是对 serialport(4) 手册页中“描述”部分的补充:

要支持使用安全 Shell 连接方式与节点控制台建立连接,请在 /etc/serialports 文件中为每个节点指定控制台访问设备的名称以及安全 Shell 端口号。如果在控制台访问设备上使用的是默认安全 Shell 配置,请指定端口号 22。

SUNW.Event(5)

SUNW.Event(5) 手册页中缺少以下说明:在 Solaris 10 OS 上,群集重新配置通知协议 (Cluster Reconfiguration Notification Protocol, CRNP) 仅会在全局区域中运行。