本节介绍您可能遇到的文档错误以及解决这些问题的步骤。
Sun Cluster 3.0 安装指南 包含下面的文档错误:
在"如何使用 JumpStart 安装 Solaris 操作环境并建立新的群集 节点"中的步骤 11a 中,下面的命令格式有误。
# mount | grep global | egrep -v node@ | awk `{print $1}' |
该命令应当像下面这样。
# mount | grep global | egrep -v node@ | awk '{print $1}' |
该命令中的两个撇号 (`) 是相同的字符。它们不代表一对单引号中的前后两个 符号。
在安装和升级过程中,CD-ROM 目录路径不正确。每当一个过程 将 /cdrom_image 用 作 CD-ROM 目录路径的一部分时,请将此部分路径替换为 /cdrom。
例如,在"如何将群集控制面板软件安装到管理控制台"的第 3 步中,给出了下面 的 CD-ROM 路径。
# cd /cdrom_image/suncluster_3_0/SunCluster_3.0/Packages |
请使用下面的目录路径。
# cd /cdrom/suncluster_3_0/SunCluster_3.0/Packages |
在 Sun Cluster 3.0 Hardware Guide 中,下面的过程不正确或不存在:
第 7 章中的任务 图 "Configuring StorEdge A3500 Disk Drives" 中有一个错误。任 务 "Increase the drive capacity of a LUN" 标题有误。您无法增 加 LUN 的驱动器容量。不过,可以增加驱动器组大小。所以,不必从任何磁盘集或磁盘组中 移除 LUN。该任务描述为:"Increase the size of the drive group. Follow the same procedure used in a non-cluster environment. (增加驱动器组的大小。按非群集环境中 所用的操作过程操 作。)"
Sun Cluster 3.0 GA AnswerBook 中没 有在不向群集配置系统信息库 (CCR) 引入冗余磁盘路径的情况下重新连接磁盘电缆所采用的过程的文档。
当您重新连接群集中设备的电缆时,群集必须知道新的设备配置。要确保群集知道新配置并保证 设备的可用性,请使用下面的过程:
采用下面的过程可将磁盘电缆移到节点中的新适配器上。
停止到所影响的磁盘的所有 I/O。
从旧的适配器拔下电缆。
在本地节点上运行 cfgadm(1M) 命令来卸除该移动所影响的所有驱动器的配置。
或者,使用下面的命令重新引导节点。
# reboot -- -r |
在本地节点上运行 devfsadm -C 命令以 清除 Solaris 设备链接。
在本地节点上运行scdidadm -C 命令以 清除 DID 设备路径。
将电缆连接到新的适配器。
在本地节点上运行 cfgadm 命令来在新位置配置驱动器。
或者,使用下面的命令重新引导节点。
# reboot -- -r |
运行 scgdevs 命令来添加新的 DID 设备路径。
使用下面的过程可将磁盘电缆从一个节点移到另一个节点。
从所有卷管理器和数据服务配置中删除对您想移除的路径的所有引用。
停止到所影响的磁盘的所有 I/O。
从旧的节点上拔下电缆。
在旧节点上运行 cfgadm 命令以卸除该移动所影响的 所有驱动器的配置。
或者,使用下面的命令重新引导节点。
# reboot -- -r |
在旧节点上运行 devfsadm -C 命 令以清除 Solaris 设备链接。
在旧节点上运行 scdidadm -C 命 令以清除 DID 设备路径。
将电缆连接到新的节点。
在新的节点上运行 cfgadm 命令来在新位置配置 驱动器。
或者,使用下面的命令重新引导节点。
# reboot -- -r |
在新的节点上运行 devfsadm 命令来创建新的 Solaris 设备链接。
在新的节点上运行 scgdevs 命 令来添加新的 DID 设备路径。
在新节点上添加到需要的任何卷管理器和数据服务配置的路径。
在配置数据服务时,检查您的节点的失败切换优先设置,使之反映新配置。
如果在采用前面的过程时出现错误,则下次 运行 scdidadm -r 命令 或 scgdevs 命令时可能会记录一个错误。要更新群集软件以正确反映设备 配置,请执行下面的步骤。
确保电缆配置符合您的要求。确保电缆已与旧的节点断开。
确保已从所有需要的卷管理器或数据服务配置中移除旧的节点。
在旧节点上运行 cfgadm 命令以卸除该移动所影响的 所有驱动器的配置。
或者,使用下面的命令重新引导节点。
# reboot -- -r |
在移除该电缆的节点上运行 devfsadm -C 命令。
在移除该电缆的节点上运行 scdidadm -C 命 令。
在新的节点上运行 cfgadm 命令来在新位置配置 驱动器。
或者,使用下面的命令重新引导节点。
# reboot -- -r |
在新的节点上运行 scgdevs 命 令来添加新的 DID 设备路径。
在新节点上 运行 scdidadm -R device 命 令以确保 SCSI 预订所处的状态正确。
Sun Cluster 3.0 Data Services Developers' Guide 附录 B 中的样例代码存在两个已知问题:
代码列表中的许多行回行不当,尤其是在补充注释中。要查看正确的回行,请查阅手 册的 PDF 版本。
此附录中的多数方法脚本列表中没有变量声明。每个方法都应当 声明下面的 main() 中的变量:
SYSLOG_TAG=$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME |
logger() 命令的样例代码中自始至终都使用了此变量。
关于 Sun Cluster 3.0 概念,应当注意以下两点:
AnswerBook 中未正确 显示 Sun Cluster 3.0 概念 中各处的图表。文本标注在为 用于 AnswerBook 而进行转换时未正确调整大小。Sun Cluster CD-ROM 上所包含 的 Sun Cluster 3.0 概念 的 PDF 版本上正确显示了标注。
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 二进制包含在三个软件包 内-SUNWapchr、SUNWapchu 和 SUNWapchd,这 三个软件包构成了 SUNWCapache 软件包元集合。您必须 在安装 SUNWapchu 之前安装 SUNWapchr。
请将 Web 服务器二进制存放在每个群集节点上的本地文件系统中,或者存放在一个群集文件系统中。
此过程讲述的是通过 Solaris 8 操作环境 CD-ROM 上的 Apache 版本使 用 Sun Cluster HA for Apache 数据服务时需要执行的步骤。
安装 Apache 软件包 SUNWapchr、SUNWapchu 和 SUNWapchd(如果尚未安装)。
使用 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 ... |
禁用刚作为 SUNWapchr 软件包的一部分安装 的启动和停止运行控制脚本。
如有必要,则禁用这些脚本,因为在配置数据服务后,Sun Cluster HA for Apache 数据服务 将启动并停止 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)。这些手册页讲述这些数据服务的标准和扩展属性。