Sun Cluster 3.0 发行说明

已知问题

已知以下问题影响 Sun Cluster 3.0 GA 发行版本的运行。关于已知问题的最当前信息可从下面的 网址从发行说明中获得:http://docs.sun.com

错误标识 4314698

问题摘要:安装 Solstice Disksuite 软件后,必须运行 scgdevs(1M) 命令,Solstice Disksuite 设备 链接才能显示在全局名称空间中。

解决方法:手动 运行 scgdevs 命令,以确保创建 Solstice Disksuite 设备节点。

错误标识 4346123

问题 摘要:在多次故障后引导一个群集节点时,群集文件系统 可能无法从其 /etc/vfstab 项中自动安装,于是引导进程将把该节点放在 管理 shell 中。在该设备上运行 fsck 命令可能会导致下面的错误。


# fsck -y /dev/global/rdsk/d1s7
** /dev/global/rdsk/d1s7
Can't roll the log for /dev/global/rdsk/d1s7

解决方法:全局设备与失效的群集文件系统安装关联 时,就可能发生此问题。请运行下面的命令,并检查文件系统是否显示为错误状态,从而确认它是不是失效的安装。


# /usr/bin/df -k

如果一个全局设备与失效文件系统安装关联,则卸装该全局设备。注意,如果在任一群集节点上 存在该文件系统的用户,则无法成功卸装。请在每个节点上运行下面的命令以识别该文件系统的当前用户。


# /usr/sbin/fuser -c mountpoint

此外,运行 share(1M) 命令以 确认该文件系统未在任一群集节点上进行 NFS 共享。

错误标识 4358349

问题摘要:不要在 包含 SharedAddress 资源的资源组中创建 Sun Cluster HA for NFS 资 源。Sun Cluster 软件不支持在该项数据服务中 使用 SharedAddress 资源。

解决方法:将期望 的逻辑主机名资源添加到失败切换资源组中。

您必须按此步骤设置 LogicalHostname 资源。与 Sun Cluster HA for NFS 一起使用 的主机名不能是一个 SharedAddress 资源。


# scrgadm -a -L -g resource-group-name -l hostname,...
-a -L -g resource-group-name

指定一个失败切换资源组,逻辑主机名资源将放在此资源组内。

-l hostname,...

指定要添加的网络资源(逻辑主机名)。

错误标识 4358629

问题摘要:如果为 Sun Cluster 2.2 软件创建的逻辑主机 用数字而不用主机名来表示 IP 地址,则从 Sun Cluster 2.2 升级到 Sun Cluster 3.0 软件可能会 失败。

解决 方法:有两种方法可以解决此问题:

错误标识 4359321

问题 摘要: scinstall 公用程序可让您 为全局设备文件系统指定 /global。但是,由 于全局设备文件系统的安装点 是 /global/.devices/node@nodeid,所以将无法 执行此指定。

解决方法:使用正确的全局文件系统 名称来重新安装该节点。

虽然不是首选方法,但修正 /etc/vfstab 文件中的项,重新引导群 集,然后运行 scgdevs 命令,也是一个可行的解决方法。查看每 个 /etc/vfstab 文件中 的 /global/.devices/node@nodeid 项已设置全局安装点。

错误标识 4362435

问题摘要:当 Sun Cluster 3.0 模块 装入 Sun Management Center 2.1 控制台后,在您设法 访问 Resource Type Definition->Properties Table 时,如果此表占用了不止一页,则无法装入此表。

解决方法:运 行 scrgadm -pvv 命令来查看所有类型属性。

错误标识 4362925

问题摘要:


nodeA# scshutdown -g0 -y
scshutdown: Unmount of /dev/md/sc/dsk/d30 failed: Device busy.
scshutdown: Could not unmount all PxFS filesystems.

Networker 软件包是在 Oracle 安装时捆绑并安装的。所 以,nsrmmd 守护程序会运行并安装 到 /global/oracle 目录下,这样就使所有的群集文件系统无法卸装。


nodeA# umount /global/oracle
umount: global/oracle busy
nodeA# fuser -c /global/oracle
/global/oracle: nodeA# umount /global/oracle
umount: global/oracle busy
nodeA# fuser -c /global/oracle
/global/oracle: 335co 317co 302co 273co 272co
nodeA# ps -ef|grep 335
 root 335 273 0 17:17:41 ?       0:00 /usr/sbin/nsrmmd -n 1
 root 448 397 0 17:19:37 console 0:00 grep 335

当 Sun Cluster 关闭而关闭过程尝试卸装进程 nsrmmd 仍在引用的群集文件 系统时,就会发生此问题。

解决方法:在每个节点 上运行 fuser(1M) 命令,以创建所有正在使用无法卸装的群集文件系统的进程的 列表。检查自最初运行失败的 scshutdown(1M) 命令以来是不是没有重新启动过 任何资源组管理器资源。使用 kill -9 命令终止上述所有进程。此终止 列表不应包括任何受资源组管理器控制的进程。当此类进程全部终 止后,重新运行 scshutdown 命令,然后就能成功完成关闭了。

错误标识 4365310

问题摘要:如果一个资源状态变 为 STOP_FAILED,则您必须手动清除资源的 STOP_FAILED 标志 位。如果您指定清除多个资源的标志位,而这些资源之一未 处于 STOP_FAILED 状态,则函数较早返回,而不清除列出的其他资源 的 STOP_FAILED 标志位。

不显示任何错误消息,但其他资源的标志位未清除。没有错误消息会误导用户,未指示发生 任何故障,而命令中所列出的所有资源均未清除 STOP_FAILED 状态。

解决方法:要避免发生此问题,请为每个 处于 STOP_FAILED 状态的资源逐个清除 STOP_FAILED 标 志位。


# scswitch -c -f STOP_FAILED -j stopfailres -h phys-schost-1

错误标识 4365700

问题 摘要:下面的示例中使用单一命令从同一资源组中禁用多个资源。


# scswitch -n -j r1,r2,r3

如果第一个资源移动到 STOP_FAILED 状态,则其余的节点 可能最终会被禁用,但仍处于联机状态。这种联机状态表示资源组管理器守护程序处于一种无效内部 状态,会导致资源组管理器守护程序出现紧急状况。

解决方法:当禁用资源 时,始终让每个 scswitch(1M) 命令禁用一种资源。

错误标识 4365729

问题摘要:如果文件系统安装在指定的设备组 上,使用下面的命令尝试使设备组进入维护模式失败。


# scswitch -m -D device-group

解决方法:卸装要使其进入维护模式的设备组中 的所有文件系统。只有在一个设备组中的所有设备均未被使用(即设备组中的设备没有活动用户)并且 所有的相关文件系统均已卸装的情况下,设备组才可以进入维护模式。

错误标识 4366840

问题 摘要:如果在一个节点关闭时移除了电缆和关联的适配器或 结点,则该节点在重新引导并尝试重新连接到群集中时会出现紧急状况。

解决方法:在此错误得以修正前,不要在节点处于关闭 状态时从群集移除任何电缆、适配器或结点。如果遇到这种紧急状况,请再次重新引导节点。这 时节点就能连接到群集而不会出现紧急状况。

错误标识 4366886

问题摘要:系统负载大则可能会影响设备组 联机。出现这种问题是因为 VERITAS Volume Manager (VxVM) 需要执行多个任务,如同步镜像以引导 磁盘组。在负载量大时,适时完成这些任务受阻,因为其他任务正在使用重要的系统资源。因 为设备组通常是在节点引导时自动联机的(例如,如果一个文件系统设置为自动安装),则这种联机挂起本身 可能显现为引导期间挂起。

解决方法:减小系统负载或 增大 vxconfigd 守护程序的优先级。

错误标识 4368034

问题摘要:如果在远程过程调用进行中资源组管 理器守护程序终止或一个节点终止,则系统控制台上可能出现下列消息之一:


COMM_FAILURE SystemException: COMM_FAILURE major 3 minor 0 Error 0 completed NO

INV_OBJREF SystemException: INV_OBJREF major 4 minor 9 Bad file number completed NO

这些消息是供调试使用的,而不能让用户使用的。资源组管理器守护程序已为 这些异常写下更清楚的 syslog 消息,所以不必 调试 printf 这个名令。

解决方法:忽略这些控制台消息。请查看有关节点终止 的 syslog 消息。通常,资源组管理器守护程序会从此类事件中自动恢复。

错误标识 4369228

问题摘要:Oracle 提供的 dbassist 公用 程序不能使 Oracle Parallel Server 数据库直接在硬件 RAID 设备上直接创建。

解决方法:使用 Oracle Server Manager 行模 式 svrgmrl 来在 Sun Cluster 3.0 软件上创建 Oracle Parallel Server 软件。

错误标识 4369565

问题 摘要:nfs_upgrade 脚本不是幂等的。不能运行脚本两次。

解决方法:如果需要将脚本运行两次,在第二次运行脚本前,请 移除第一次尝试时创建的 NFS 资源和 NFS 资源类型。

错误标识 4369668

问题摘要:当系统管理员编辑一个管理的资源组 的 Nodelist 属性时,资源组管理器应当在所有已添加到节点列表 中的节点上,在资源组中所有 拥有 Init_nodes=RG_PRIMARIES 属性的资源中,运行 INIT 方 法。资源组管理器应当在已从节点列表中删除的节点之类的资源上 运行 FINI 方法。类似地,如 果编辑了资源类型的 Installed_nodes 属 性,则资源管理器应当在所有驻留在管理的资源组中并拥有 属性 Init_nodes=RT_installed_nodes 的资源上 运行 INITFINI 方法。

当前,执行这些更新时,资源组管理器不 运行 INITFINI 方法。结果,这些节点上的资源可能不能正常初始 化,或者不能清除。

解决方法:使 用 scswitch 命令,取消管理然后重新管理受影响的 资源组。不幸的是,此进程需要管理员让资源组脱机。如果已为组内出现的资源类型对这些 过程归档,则作为一种替代方法,管理员可以手动执行相当 的 INITFINI 操作(而不管理资源组)。

如果组中的任何资源都没有 INITFINI 方法,则 不必采用此解决方法。只有下列 Sun 提供的资源类型 使用 INITFINI 两种方法:

用户或第三方安装的资源类型也可能 使用 INITFINI 方法。如果这样,则对于包含此类资源 类型的资源组,有必要采用此解决方法。


注意:

所有可伸缩服务都隐式 使用 INITFINI 两种 方法(即使没有为资源类型显式声明这些方法)。


错误标识 4370760

问题摘要:除非首先让设备组脱机,否则无法从元集中移除最 后一个主机。

解决 方法:要从元集中移除最后一个主机,请首先使设备组脱机。要移除最后一个主机,请以要移除的主机上的超级用户的身份运行下面两个命令。


# /usr/cluster/bin/scswitch -m -D disksetname
# metaset -s disksetname -d -h hostname

错误标识 4371236

问题 摘要:有些 ge 开关要求将一些 ge 设备参数设置为缺省值以外 的值。Sun GigabitEthernet/P 2.0 Adapter Installation and User's Guide 的第 3 章介绍了更改 ge 设备参数的过程。在运行 Sun Cluster 3.0 软 件的节点上使用的过程与该指南中介绍的过程稍有不同。尤其明显的差别在于如何 使用 /etc/path_to_inst 文件中的设备路径名来 派生 ge.conf 文件中使用的父名称。

解决 方法:Sun GigabitEthernet/P 2.0 Adapter Installation and User's Guide 的第 3 章介绍了通过 /kernel/drv/ge.conf 文件 中的项更改 ge 设备参数值的过程。从 /etc/path_to_inst 列 表确定父名称(将用在 ge.conf 项中)的过程位于 第 24 页"Setting Driver Parameters Using a ge.conf File"。例如,从下面 的 /etc/path_to_inst 行,可以 确定 ge2 to be /pci@4,4000 的父名称。


"/pci@4,4000/network@4" 2 "ge"

在群集节点上,必须在 /etc/path_to_inst 中的设备路径中 删除 /node@nodeid 前缀,然后才能将此前缀 用作父名称。例如,在一个群集节点上,下面一项可能已经是一个等效 的 /etc/path_to_inst 项。


"/node@1/pci@4,4000/network@4" 2 "ge"

将要在 ge.conf 中使用的 ge2 的父名称仍然 是 /pci@4,4000

错误标识 4372369

问题 摘要:如果 Sun Cluster 2.2 软件中配置了不止一个主 机,则 nfs_upgrade 脚 本不能工作。

解决方法:当前尚无解决方法。如果遇到此 问题,请与 Sun 服务供应商联系,以获取一种解决方法。

错误标识 4373498

问题摘要:LDAP 管理服务器对主机名区分大小写。所 以,当使用 LDAP 管理服务器时,LDAP 配置中的所有主机名应当与群集节点上正在使用的名称服务中 的 LDAP 指定一致。这种大小写匹配在 DNS 是使用中的名称服务时尤为重要,因 为 DNS 域名也必须与在 LDAP 配置中的主机名指定精确匹配。

解决方法:确保赋予 LDAP 的完全限定域名的大小 写与分析器返回的域名的大小写匹配。

错误标识 4373911

问题摘要:如果您执行以下操作:

HA-NFS 故障监视器可能显示下面的警告消息:


clnt_tp_create_timed of program statd failed:RPC:Program not registered

解决方法:不必采用任何解决方法。可放心地忽略此警告消息。

错误标识 4374194

问题摘要:Sun Management Center 代理可能会意外地退出装 有 Sun StorEdge A5000 的 UltraTM 2 的工作站。当使 用 Config Reader 设置 Sun Management Center 代理,而 Config-Reader4udt 模 块已添加到 /var/opt/SUNWsymon/cfg/base-modules-d.dat 文件中 时,就会发生此问题。Sun Management Center 代理在启动时读取此文件,并尝试装入列出的所有模块。该代理在尝试 装入 Config-Reader4udt 模块时可能发生段故障。

解决方法:要避免此故障,请执行下列操作之一:

错误标识 4374648

问题提要:scinstall 手册页 当前有一个使用 -s oracle 自动将 Sun Cluster HA for Oracle 数据服务从 Sun Cluster 2.2 升级到 Sun Cluster 3.0 软 件的示例。当前不支持此选项。

解决方法:不要使用 -s oracle 选项尝试为 Oracle 数据服务从 Sun Cluster 2.2 升级到 Sun Cluster 3.0 软件。请采用 手动升级过程,即"将 Sun Cluster HA for Oracle 从 Sun Cluster 2.2 升级到 Sun Cluster 3.0 软件"

错误标识 4376171

问题摘 要:在同一 SBus 上安装一个 FC-AL SBus 卡 (FC100/S) 和 一个 Sun Quad FastEthernetTM 2.0 (SQFE/S) 可能会导致 QFE 卡发生意外的 重置。

解决方法:在配置群集节点时,避免 将 FC-AL SBus 卡 (FC100/S) 和 Sun Quad FastEthernet 2.0 (SQFE/S) 安装到同一 SBus 上。

错误标识 4377303

问题摘要:新创建的 Sun StorEdge A3500 LUN 可能在 形式上不会在每个节点上都显现。

解决方法:在看不 到新创建的 LUN 的节点上运行 /etc/raid/bin/hot_add 命令。

错误标识 4378553

问题摘要:资源组 的 Nodelist 属性是一个可以主控资源组的有序列表,首选节点列在最前面。资源 组管理器应当始终在可用的首选节点上托管一个资源组。但是,当一个管理员重新引导一个群集时(所有 节点即该重新引导),则结果可能是在首选节点之外的节点上主控管理的资源组。仅在重新引导整个群集时会出现此问题。

解决方法:重新引导群集后,请 使用 scswitch 命令将资源组切换到预期的节点上。此后,只要群集处于打开 状态,便自动实施 Nodelist 首选次序。

可伸缩服务粘滞负载-平衡策略

当前,如果运行使用粘滞负载平衡的可伸缩数据服务,则可能会出现问题。如果该服务使用针对 某一特定节点建立的沾滞,稍后又在另一节点上启动同一服务的另一实例,就可能出现这种问题。启动同一服务的另一实例可能会导致第一个实例失去其粘滞。

第二个实例启动时粘滞算法返回的结果决定第一个实例是否会丢失其沾滞。这种情况下该算法不 会更改沾滞亲和力,但有时算法会更改沾滞亲和力。

有关负载平衡策略的详细信息,请参阅 Sun Cluster 3.0 概念

将 Sun Cluster HA for Oracle 从 Sun Cluster 2.2 升级到 Sun Cluster 3.0 软件

使用 scinstall 升级 Sun Cluster 框架时,请按以下过程操作。

条件和限制

将 Sun Cluster HA for Oracle 从 Sun Cluster 2.2 升级到 Sun Cluster 3.0 软件时,适用以下条件和限制。

如何保存 Sun Cluster HA for Oracle 配置文件

使用下面的过程来保存 Sun Cluster 2.2 配置中的配置文件。

  1. scinstall 框架升级过程操作,直到在每个节点上完 成升级开始步骤 (scinstall -F begin)。

  2. 以超级用户身份在每个节点上运行下面的命令。此命令将 为 /var/opt/oracle 目录下的所有文件保存一个版本。

    为确保不丢失此信息,请将 /var/opt/oracle 目录中的结构备份到一个外部设备上。


    # cp -r /var/opt/oracle /var/cluster/logs/install/preserve/2.2/SUNWscor
    
  3. 完成框架升级过程的完成部分 (scinstall -u finish)。


    注意:

    使用 scinstall -u finish 命令时不要使用 -s oracle 选项。此选项会尝试自动 升级 Sun Cluster HA for Oracle,而自动升级会失败。仅支持对 NFS 的升级。


完成框架升级后,请设置 Sun Cluster 3.0 环境。下面一 节("设置 Sun Cluster 3.0 环境")讲述此过程。

设置 Sun Cluster 3.0 环境

请执行下面的过程来设置 Sun Cluster 3.0 环境。

  1. 在一个节点上,运行下面的命令以检验:

    • 框架升级已正确设置与每个 Sun Cluster 2.2 逻辑主机对应 的 Sun Cluster 3.0 资源组。

    • 主机网络资源在资源组中并且处于联机状态。


    # scstat -g
    
  2. 在一个节点上,运行下面的命令来验证 Sun Cluster 2.2 中的 Oracle 数据库(可能 是 Oracle 二进制)所在的 VERITAS 磁盘组或 Solstice DiskSuite 磁盘集已正确映射 为 Sun Cluster 3.0 磁盘设备组。


    # scstat -D
    
  3. 在每个节点上,运行下面的命令来验证每个 Oracle 实例所需要的文件系统都已安装。


    # mount
    
  4. 在每个节点上,请运行下面的命令恢复 /var/opt 目录 下 Oracle 配置文件的保存的版本。

    如果您在此过程中早些时间保存了 /var/opt/oracle 目录下的文件,而 这些文件仍未更改,则可以跳过此步操作。


    # cp -r /var/cluster/logs/install/preserve/2.2/SUNWscor/oracle /var/opt
    # chown -R oracle:dba /var/opt/oracle
    

在 Sun Cluster 3.0 下配置 Sun Cluster HA for Oracle

采用下面的过程配置 Sun Cluster 3.0 HA for Oracle。


注意:

步骤 1 仅执行一次。


  1. 在一个节点上,使用下面的命令注册 Oracle 服务器和侦听器的类型。


    # scrgadm -a -t SUNW.oracle_server
    # scrgadm -a -t SUNW.oracle_listener
    

    对于 /var/opt/oracle/oratab 文件中列出的每一 个 Sun Cluster 2.2 HA for Oracle 实例,请执 行从步骤 2步骤 5的操作。

  2. 确定 oratab 文件中 的 ORACLE_HOME 变量的值。

    例如,假定 oratab 文件显示下面的信息。


    ora32:/oracle/816_32:N

    此信息表 明 ORACLE_SID ora32 实例 的 ORACLE_HOME 变量是值 /oracle/816_32

  3. ccd.database 文件 检索每个 Oracle 例程序的参数值。

    这些参数将映射成为 scrgadm 在 Sun Cluster 3.0 中的参数。您将在 Sun Cluster 3.0 下 配置 Sun Cluster HA for Oracle 时使用这些参数。


    # grep ^HAORACLE: /var/cluster/logs/install/preserve/2.2/SUNWcluster/conf/ccd.database
    

    ccd.database 文件中的每个 Oracle 实例都使用下面格式


    HAORACLE:on:ora32:boots-1:60:10:120:300:scott/tiger:/oracle/816_32/dbs/initora32.ora:ORA_LIST
    .

    这些参数都映射成下面的 Sun Cluster 3.0 格式。


    HAORACLE:STATE:ORACLE_SID:LOGICAL_HOSTNAME_IP_Resource:THOROUGH_PROBE_INTERVAL:CONNECT_CYCLE:
    PROBE_TIMEOUT:RETRY_INTERVAL:CONNECT_STRING:PARAMETER_FILE:LISTENER_NAME

    资源组名称 RG_NAME 将 为 ${LOGICAL_HOSTNAME_IP_Resource}-lh。注 意 -lh 将自动附加到 Sun Cluster 3.0 中的资源组名称上。

  4. 定位 $PARAMETER_FILE 变量中 的 background_dump_dest 值,并 将 ALERT_LOG_FILE 变量设置为下面的值。


    $background_dump_dest/alert_$ORACLE_SID.log

    例如,对于 ORACLE_SID=ora32,假定 在 $PARAMETER_FILE 文件 中,background_dump_dest 的值是下面值。


    /oracle/816_32/admin/ora32/bdump

    在此示例中,ALERT_LOG_FILE 应当升级为下面的值。


    /oracle/816_32/admin/ora32/bdump/alert_ora32.log
    

  5. 在一个节点上,运行下面的命令来创建 Oracle 资源并使它们处于联机状态。


    # scrgadm -a -t SUNW.oracle_server -g $RG_NAME -j $ORACLE_SID-serv \
    -x Oracle_sid=$ORACLE_SID -x Oracle_home=$ORACLE_HOME \
    -y Thorough_probe_interval=$THOROUGH_PROBE_INTERVAL \
    -x Connect_cycle=$CONNECT_CYCLE -x Probe_timeout=$PROBE_TIMEOUT \
    -y Retry_interval=$RETRY_INTERVAL -x Connect_string=$CONNECT_STRING \
    -x Parameter_file=$PARAMETER_FILE -x Alert_log_file=$ALERT_LOG_FILE
    # scrgadm -a -j $ORACLE_SID-list -t SUNW.oracle_listener -g $RG_name \
    -x Oracle_home=$ORACLE_HOME -x Listener_name=$LISTENER_NAME
    # scswitch -e -j $ORACLE_SID-serv
    # scswitch -e -j $ORACLE_SID-list
    # scswitch -e -M -j $ORACLE_SID-serv
    # scswitch -e -M -j $ORACLE_SID-list
    

    例如,采 用步骤 2步骤 3步骤 4,您可 以运行下面的命令。


    # scrgadm -a -t SUNW.oracle_server -g boots-1-lh -j ora32-serv \
    -x Oracle_sid=ora32 -x Oracle_home=/oracle/816_32 \
    -y Thorough_probe_interval=60 \
    -x Connect_cycle=10 -x Probe_timeout=120 \
    -y Retry_interval=300 -x Connect_string=scott/tiger \
    -x Parameter_file=/oracle/816_32/dbs/initora32.ora \
    -x Alert_log_file=/oracle/816_32/admin/ora32/bdump/alert_ora32.log
    # scrgadm -a -j ora32-list -t SUNW.oracle_listener -g boots-1-lh \
    -x Oracle_home=/oracle/816_32 -x Listener_name=ORA_LIST
    # scswitch -e -j ora32-serv
    # scswitch -e -j ora32-list
    # scswitch -e -M -j ora32-serv
    # scswitch -e -M -j ora32-list
    

验证升级

要验证升级是否成功,请执行下面的步骤。

  1. 通过使用下面的命令来验证 Oracle 资源已处于联机状态。


    # scstat -g
    

  2. 验证您是否可以使用下面的命令来切换资源组。


    # scswitch -z -g resource-group -h node
    

已知文档问题

本节介绍您可能遇到的文档错误以及解决这些问题的步骤。

安装指南

Sun Cluster 3.0 安装指南 包含下面的文档错误:

硬件指南

Sun Cluster 3.0 Hardware Guide 中,下面的过程不正确或不存在:

如何将磁盘电缆移到新的适配器

采用下面的过程可将磁盘电缆移到节点中的新适配器上。

  1. 停止到所影响的磁盘的所有 I/O。

  2. 从旧的适配器拔下电缆。

  3. 在本地节点上运行 cfgadm(1M) 命令来卸除该移动所影响的所有驱动器的配置。

    或者,使用下面的命令重新引导节点。


    # reboot -- -r
    
  4. 在本地节点上运行 devfsadm -C 命令以 清除 Solaris 设备链接。

  5. 在本地节点上运行scdidadm -C 命令以 清除 DID 设备路径。

  6. 将电缆连接到新的适配器。

  7. 在本地节点上运行 cfgadm 命令来在新位置配置驱动器。

    或者,使用下面的命令重新引导节点。


    # reboot -- -r
    
  8. 运行 scgdevs 命令来添加新的 DID 设备路径。

如何将磁盘电缆从一个节点移到另一个节点

使用下面的过程可将磁盘电缆从一个节点移到另一个节点。

  1. 从所有卷管理器和数据服务配置中删除对您想移除的路径的所有引用。

  2. 停止到所影响的磁盘的所有 I/O。

  3. 从旧的节点上拔下电缆。

  4. 在旧节点上运行 cfgadm 命令以卸除该移动所影响的 所有驱动器的配置。

    或者,使用下面的命令重新引导节点。


    # reboot -- -r
    
  5. 在旧节点上运行 devfsadm -C 命 令以清除 Solaris 设备链接。

  6. 在旧节点上运行 scdidadm -C 命 令以清除 DID 设备路径。

  7. 将电缆连接到新的节点。

  8. 在新的节点上运行 cfgadm 命令来在新位置配置 驱动器。

    或者,使用下面的命令重新引导节点。


    # reboot -- -r
    
  9. 在新的节点上运行 devfsadm 命令来创建新的 Solaris 设备链接。

  10. 在新的节点上运行 scgdevs 命 令来添加新的 DID 设备路径。

  11. 在新节点上添加到需要的任何卷管理器和数据服务配置的路径。

    在配置数据服务时,检查您的节点的失败切换优先设置,使之反映新配置。

如何更改群集软件来正确反映设备配置

如果在采用前面的过程时出现错误,则下次 运行 scdidadm -r 命令 或 scgdevs 命令时可能会记录一个错误。要更新群集软件以正确反映设备 配置,请执行下面的步骤。

  1. 确保电缆配置符合您的要求。确保电缆已与旧的节点断开。

  2. 确保已从所有需要的卷管理器或数据服务配置中移除旧的节点。

  3. 在旧节点上运行 cfgadm 命令以卸除该移动所影响的 所有驱动器的配置。

    或者,使用下面的命令重新引导节点。


    # reboot -- -r
    
  4. 在移除该电缆的节点上运行 devfsadm -C 命令。

  5. 在移除该电缆的节点上运行 scdidadm -C 命 令。

  6. 在新的节点上运行 cfgadm 命令来在新位置配置 驱动器。

    或者,使用下面的命令重新引导节点。


    # reboot -- -r
    
  7. 在新的节点上运行 scgdevs 命 令来添加新的 DID 设备路径。

  8. 在新节点上 运行 scdidadm -R device 命 令以确保 SCSI 预订所处的状态正确。

数据服务开发者指南

Sun Cluster 3.0 Data Services Developers' Guide 附录 B 中的样例代码存在两个已知问题:

概念指南

关于 Sun Cluster 3.0 概念,应当注意以下两点:

使用群集互连进行应用程序通信

一群集必须有节点之间的多个网络互连,构成群集互连。群集软件使用多个互连来提高可用性并 改善性能。对内部通信(如文件系统数据或可伸缩服务数据),消息是以循环方式在所有可用的互连间 条带化的。

群集互连对应用程序也是可用的,从而在节点间进行高可用性通信。例 如,一个分布式应用程序的组件可能运行在不同的需要进行通信的节点上。通过使用群集互连而不使 用公共互连,这些连接可承受单个链接失败。

要使用群集互连来在节点间进行通信,应用程序必须使用安装群集时配置的专用主机名。例 如,如果节点 1 的专用主机名是 clusternode1-priv,请使用此名称 在到节点 1 的群集互连上进行通信。使用此名称打开的 TCP 套接字通过该群集互连进行路由,并且在 发生网络故障时可以透明地重新路由。

注意,由于在安装时可以配置专用主机名,所以群集互连可使用此时选择的任何 名称。可以使用 scha_privatelink_hostname_node 变量 从 scha_cluster_get(3HA) 获取实际的名称。

对于应用程序级别的群集互连使用,在每对节点之间使用单独一个互连,但如果可能,不同的节点 对会使用不同的互连。例如,试想一个运行在三个节点上的应用程序通过群集互连进行 通信。在节点 1 和 2 之间的通信可能会在接口 hme0 上进 行,而节点 1 和 3 之间的通信可能会在接口 qfe1 上进行。即,任何两个 节点间的应用程序通信仅限于单个互连,而内部群集通信则在所有的互连中条带化。

注意,应用程序共享与内部群集通信的互连,所以对该应用程序可用的带宽取决于用于 其他群集通信的带宽。如果发生失败,内部通信会在仍正常运行的互连上循环,而失败的互连上 的应用程序连接可切换到一个正常互连上。

两种类型的地址支持群集互连,且专用主机名上 的 gethostbyname(3N) 通常会返回两个 IP 地址。第一个地址称 为逻辑成对地址,第二个地址称为逻辑单节点地址

每对节点各分配了一个逻辑成对地址。此小型逻辑网络支持连接失败切换。每个节点还分配了一个固 定的单节点地址。即,clusternode1-priv 的逻辑成对地址因节点 而异,而 clusternode1-priv 的逻辑成对地址在各个节点上相同。但是,一个节点对 它自身来说并没有成对地址,所以节点 1 上 的 gethostbyname(clusternode1-priv) 仅返回逻辑单节点地址。

注意,在群集互连上接受连接并为安全起见验证 IP 地址的应用程序必须检查 从 gethostbyname 中返回的所有 IP 地址,而不应只检查第一个 IP 地址。

如果需要使 IP 地址在所有点上的应用程序中保持一 致,请配置应用程序,使单节点地址同时绑定到客户端和服务器端,从而使所有的连接看起来是通过 单节点地址出入。

数据服务安装和配置指南

Sun Cluster 3.0 Data Services Installation and Configuration Guide 第 5 章 ("Installing and Configuring Sun Cluster HA for Apache,") 介绍从 Apache web 站点 (http://www.apache.org) 安装 Apache Web 服务器的过 程。不过,您也可以从 Solaris 8 操作环境 CD-ROM 安装 Apache Web 服务器。

Apache 二进制包含在三个软件包 内-SUNWapchrSUNWapchuSUNWapchd,这 三个软件包构成了 SUNWCapache 软件包元集合。您必须 在安装 SUNWapchu 之前安装 SUNWapchr

请将 Web 服务器二进制存放在每个群集节点上的本地文件系统中,或者存放在一个群集文件系统中。

使用 Solaris 8 CD-ROM 安装 Apache

此过程讲述的是通过 Solaris 8 操作环境 CD-ROM 上的 Apache 版本使 用 Sun Cluster HA for Apache 数据服务时需要执行的步骤。

  1. 安装 Apache 软件包 SUNWapchrSUNWapchuSUNWapchd(如果尚未安装)。

    使用 pkginfo(1) 来确定这些软件包是否已安装。


    # pkgadd -d Solaris 8 Product directory SUNWapchr SUNWapchu SUNWapchd
    ...
    Installing Apache Web Server (root) as SUNWapchr
    ...
    [ verifying class initd ]
    /etc/rc0.d/K16apache linked pathname
    /etc/rc1.d/K16apache linked pathname
    /etc/rc2.d/K16apache linked pathname
    /etc/rc3.d/S50apache linked pathname
    /etc/rcS.d/K16apache linked pathname
    ...
  2. 禁用刚作为 SUNWapchr 软件包的一部分安装 的启动和停止运行控制脚本。

    如有必要,则禁用这些脚本,因为在配置数据服务后,Sun Cluster HA for Apache 数据服务 将启动并停止 Apache 应用程序。请执行下面的步骤:

    1. 列出 Apache 运行控制脚本。

    2. 重命名 Apache 运行控制脚本。

    3. 验证已重命名所有与 Apache 相关的脚本。


    注意:

    下面的示例将运行控制脚本名称中的第一个字母从大写改为小写。不过,可以采用符合 您的常规管理做法的方式重命名脚本。



    # ls -1 /etc/rc?.d/*apache
    /etc/rc0.d/K16apache
    /etc/rc1.d/K16apache
    /etc/rc2.d/K16apache
    /etc/rc3.d/S50apache
    /etc/rcS.d/K16apache
     
    # mv /etc/rc0.d/K16apache  /etc/rc0.d/k16apache
     
    # mv /etc/rc1.d/K16apache  /etc/rc1.d/k16apache
     
    # mv /etc/rc2.d/K16apache  /etc/rc2.d/k16apache
     
    # mv /etc/rc3.d/S50apache  /etc/rc3.d/s50apache
     
    # mv /etc/rcS.d/K16apache  /etc/rcS.d/k16apache
     
     
     
    # ls -1 /etc/rc?.d/*apache
    /etc/rc0.d/k16apache
    /etc/rc1.d/k16apache
    /etc/rc2.d/k16apache
    /etc/rc3.d/s50apache
    /etc/rcS.d/k16apache

手册页

Sun Cluster 3.0 软件提供的每项数据服务都包含新的手册页。数据服务手册页 包括:SUNW.apache(5)、SUNW.dns(5)、SUNW.iws(5)、SUNW.nfs(5)、SUNW.nsldap(5)、 SUNW.oracle_listener(5)、SUNW.oracle_server(5)、 SUNW.HAStorage(5) 和 scalable_service(5)。这些手册页讲述这些数据服务的标准和扩展属性。

Sun Management Center GUI 的已知问题

本节介绍 Sun Cluster 3.0 的 Sun Management Center GUI 模块的已知问题。

Sun Management Center 不识别某些类型的 Ultra 服务器

症状

问题确认/启动解决方法

  1. 关闭 Details(详细信息)窗口。

  2. 从 Sun Management Center 窗口,选择 File(文件)->Console Messages(控制台消息)。

  3. 双击代表未识别的群集节点的文件夹。

  4. 在控制台消息窗口中查找下面一行:...family definition file missing for...

解决方法

  1. 在 Sun Management Center 服务器上,更改系列文件所在的目录。


    # cd /opt/SUNWsymon/classes/base/console/cfg
    

  2. 创建一个到最近的可用 family-j.x 文件的符号链接。

    例如,如果缺失的文件行为 ...missing for sun4u-Sun-Ultra-450-family-j.x...,则创建 从 sun4u-Sun-Enterprise-450-family-j.xsun4u-Sun-Ultra-450-family-j.x 的链接。


    # ln -s sun4u-Sun-Enterprise-450-family-j.x sun4u-Sun-Ultra-450-family-j.x
    
  3. 退出控制台,再重新启动控制台。

确定符号链接名称的另一方法

  1. 双击未识别的群集节点以使其详细信息窗口成为活动窗口。

  2. 单击 Info 标签。

  3. 在 Properties(属性)表中搜索 Entity Family(实体系列)项。

    此值可能会被截尾,所以请让鼠标指针在该值字段逗留一下。完整名称(如 sun4u-Sun-Ultra-450)就会出现在工具 提示中。

  4. 添加 -family-j.x 以确定要创建的链接名称。