Sun Cluster 概念指南(适用于 Solaris OS)

第 4 章 常见问题

本章包含关于 Sun Cluster 系统的最常见问题的解答。问题是按主题编排的。

关于高可用性的常见问题

问题:

到底什么是高可用系统?

答案:

在 Sun Cluster 系统中,高可用性 (high availability, HA) 的定义为:在群集中保持应用程序运行的能力。即使发生通常会使服务器系统不可用的故障,应用程序仍能保持运行。

问题:

群集是通过什么样的进程提供高可用性的?

答案:

通过一个称为失效转移的进程,群集框架提供高可用性的环境。失效转移就是一系统列由群集执行的步骤,它将数据服务资源从一个故障节点转移到群集上另一个可操作节点。

问题:

失效转移与可伸缩数据服务间有什么不同?

答案:

有以下两种高可用性数据服务类型:

失效转移数据服务每次只能在群集中的一个主节点上运行应用程序。其它节点上可能运行其它应用程序,但每个应用程序只能运行在单一节点上。如果主节点发生故障,则正在故障节点上运行的应用程序将故障转移到另一个节点上并继续运行。

可伸缩服务将一个应用程序扩展到多个节点之上来创建一个单独的逻辑服务。可伸缩服务平衡它们在其上运行的整个群集中的节点和服务器的数目。

对于每个应用程序,一个节点具有一个至群集的物理接口。这个节点被称作全局接口 (GIF) 节点。群集中可存在多个 GIF 节点。每个 GIF 节点都有一个或多个逻辑接口,可伸缩服务可使用这些接口。这些逻辑接口被称作全局接口。每个 GIF 节点都具有一个全局接口,用来接收针对特定应用程序的所有请求。GIN 还会将这些请求分发给运行应用程序服务器的多个节点上。如果 GIF 发生故障,则全局接口将失效转移到一个仍正常工作的节点。

如果任何一个正在运行应用程序的节点发生故障,该应用程序将在其他节点上继续运行,但是性能会有所下降。此过程直到故障节点返回群集为止。

关于文件系统的常见问题

问题:

可否将一个或多个群集节点作为高可用性 NFS 服务器运行,而将其他群集节点作为客户机?

答案:

不可以,不要进行回送装载。

问题:

是否可以将群集文件系统用于不受资源组管理器控制的应用程序?

答案:

是的。然而,由于不受 RGM 的控制,当运行这些应用程序的节点发生故障时,需手动重新启动这些应用程序。

问题:

所有群集文件系统是否都必须在 /global 目录下具有一个安装点?

答案:

并不需要。然而,如果将群集文件系统置于同一个装载点之下(例如 /global),就可以更好地组织和管理这些文件系统。

问题:

使用群集文件系统和导出 NFS 文件系统有哪些不同?

答案:

有以下几点不同:

  1. 群集文件系统支持全局设备。NFS 不支持对设备的远程访问。

  2. 群集文件系统有一个全局名称空间。只需要一个定位命令。使用 NFS 时,必须 在每个节点上定位文件系统。

  3. 与 NFS 相比,群集文件系统从高速缓存访问文件的情况更多。例如,当从多个节点访问一个文件以执行读取、写入、文件锁定、异步 I/O 操作时,群集文件系统都将从高速缓存访问该文件。

  4. 群集文件系统是为了利用能够提供远程 DMA 和零拷贝功能的快速群集互连而建立的。

  5. 如果您更改了群集文件系统中某个文件的特性(例如,使用 chmod(1M)),所做的更改会立即反映到所有的节点上。如果使用导出的 NFS 文件系统,这种更改会花费更长的时间。

问题:

文件系统 /global/.devices/node@nodeID 出现在我的群集节点上。可否使用这个文件系统来存储要作为高度可用数据和全局数据的那些数据?

答案:

这些文件系统存储全局设备名称空间。它们不可以通用。虽然它们是全局文件系统,但不能以全局的方式对其进行访问??每个节点只能访问自己的全局设备名称空间。如果某节点发生故障,其他节点无法访问这个节点的名称空间。这些文件系统不具备高可用性。它们不适合用于存储需全局访问或高度可用的数据。

关于卷管理的常见问题

问题:

需要镜像所有磁盘设备吗?

答案:

必须镜像被视为具有高可用性的磁盘设备,或者使用 RAID-5 硬件。所有数据服务应该要么使用高可用磁盘设备,要么使用定位到高可用磁盘设备上的群集文件系统。这样的配置可以容许单独磁盘故障。

问题:

可否将一个卷管理器用于本地磁盘(引导磁盘),而将另一个卷管理器用于多主机磁盘?

答案:

SPARC:支持这种配置,即使用 Solaris 卷管理器软件管理本地磁盘和使用 VERITAS Volume Manager管理多主机磁盘。不支持其它任何组合方式。

x86:不,不支持这种配置,在基于 x86 的群集中只支持 Solaris 卷管理器。

关于数据服务的常见问题

问题:

可以获得哪些 Sun Cluster 数据服务?

答案:

《Sun Cluster 3.1 8/05 发行说明(适用于 Solaris OS)》中的“支持的产品”包含支持的数据服务列表。

问题:

Sun Cluster 数据服务支持哪些应用程序版本?

答案:

《Sun Cluster 3.1 8/05 发行说明(适用于 Solaris OS)》中的“支持的产品”包含支持的应用程序版本列表。

问题:

我可以记下自己的数据服务吗?

答案:

是的。有关更多信息,请参见《Sun Cluster 数据服务开发者指南(适用于 Solaris OS)》中的第 11  章 “DSDL API 函数”

问题:

创建网络资源时,我应该指定数字 IP 地址还是主机名?

答案:

指定网络资源的首选方法是使用 UNIX 主机名,而非使用数字 IP 地址。

问题:

创建网络资源时,使用逻辑主机名(一个 LogicalHostname 资源)与使用共享地址(一个 SharedAddress 资源)有什么不同?

答案:

除了 Sun Cluster HA for NFS 之外,只要文档建议在 Failover 模式资源组中使用 LogicalHostname 资源,SharedAddress 资源或 LogicalHostname 资源就可以互换使用。使用 SharedAddress 资源会造成一些额外的系统开销,因为群集网络软件是为 SharedAddress 而配置的,而不是为 LogicalHostname 而配置的。

当要配置可伸缩和故障转移数据服务,并想让客户能够使用同一主机名访问这两种服务时,使用 SharedAddress 资源的优势就会体现出来。在这种情况下,SharedAddress 资源和故障转移应用程序资源包括在一个资源组中。可伸缩服务资源包括在一个单独的资源组中并被配置为使用 SharedAddress 资源。然后可伸缩服务和故障转移服务就都可以使用在 SharedAddress 资源中配置的同一组主机名/地址。

关于公共网络的常见问题

问题:

Sun Cluster 系统支持哪些公共网络适配器?

答案:

目前,Sun Cluster 系统支持以太网(10/100BASE-T 和 1000BASE-SX Gb)公共网络适配器。因为新的接口可能会在将来得到支持,所以请向 Sun 销售代表咨询以获取最当前信息。

问题:

在失效转移中 MAC 地址起什么作用?

答案:

当失效转移发生时,生成新的地址解析协议 (ARP) 软件包并进行广播。这些 ARP 软件包包含新的 MAC 地址(节点失效转移到的新的物理适配器的地址)和旧的 IP 地址。网络中的其他计算机收到其中一个软件包之后,将刷新 ARP 高速缓存中的旧 MAC-IP 映射,然后使用新的映射。

问题:

Sun Cluster 系统是否支持设置 local-mac-address?=true

答案:

是的。事实上,IP 网络多路径要求必须local-mac-address? 设置为 true

您可以在基于 SPARC 的群集中的 OpenBoot PROM ok 提示下使用 eeprom(1M) 来设置 local-mac-address?。也可以在基于 x86 的群集中,在 BIOS 引导之后选择运行 SCSI 实用程序来设置 MAC 地址。

问题:

当 Internet 协议 (IP) 网络多路径在适配器之间执行切换时,将会有多久的延迟?

答案:

延迟可能持续几分钟。这是因为完成 Internet 协议 (IP) 网络多路径切换后,操作还将发送一个未经请求的 ARP。但是,无法保证客户机与群集之间的路由器将使用未经请求的 ARP。因此,直到路由器的此 IP 地址的 ARP 高速缓存项目超时,该项目才可以使用无效 MAC 地址。

问题:

检测网络适配器的故障的速度有多快?

答案:

缺省的故障检测时间是 10 秒钟。算法尽量与故障检测时间相符,但实际的检测时间取决于网络负载。

关于群集成员的常见问题

问题:

所有的群集成员都需要有相同的 root 用户口令吗?

答案:

不要求让每个群集成员使用相同的 root 用户口令。但是,您可以通过在所有的节点上使用相同的 root 用户口令来简化该群集的管理。

问题:

节点引导的次序有重要意义吗?

答案:

在大多数情况下没有意义。但是,引导顺序对于防止失忆是很重要的。例如,如果节点 2 是仲裁设备的属主而节点 1 停机,并且您此时将节点 2 停机,那么您在启动节点 1 之前必须先启动节点 2。此顺序可避免意外使用过时的群集配置信息启动节点。有关失忆的详细信息,请参阅关于故障防护

问题:

是否需要在群集节点中镜像本地磁盘?

答案:

是的。尽管并没有要求进行这种镜像,但是镜像群集节点的磁盘可防止非镜像磁盘发生故障时的节点停机。镜像群集节点本地磁盘的缺点是,将耗费更多的系统管理开销。

问题:

群集成员的备份是指什么?

答案:

您可以对一个群集使用多种备份方法。一种方法是将连接有磁带机或库的一个节点作为备份节点。然后使用群集文件系统来备份数据。不要将此节点连接到共享磁盘上。

有关如何备份和恢复数据的其他信息,请参见《Sun Cluster 系统管理指南(适用于 Solaris OS)》中的第 9  章 “备份和恢复群集”

问题:

节点什么时候可以作为辅助节点使用?

答案:

Solaris 8 和 Solaris 9:

重新引导后,当节点显示登录提示时,节点就可以作为辅助节点使用了。

Solaris 10:

如果 multi-user-server 里程碑正在运行,节点就可以作为辅助节点使用了。


# svcs -a | grep multi-user-server:default

关于群集存储器的常见问题

问题:

多主机存储器为什么具有高可用性?

答案:

多主机存储器具有高可用性是因为它在丢失单个磁盘的情况下仍能借助镜像(或者基于硬件的 RAID-5 控制器)而保持可用性。因为多主机存储器设备有不止一个主机连接,所以它也可以经受它所连接的单一节点的丢失。此外,从每个节点到附加存储器的冗余路径为主机总线适配器、电缆或磁盘控制器的故障提供了容错。

关于群集互连的常见问题

问题:

Sun Cluster 系统支持什么样的群集互连?

答案:

目前,Sun Cluster 系统支持以下群集互连:

问题:

“电缆”和传输“路径”有什么不同?

答案:

群集传输电缆是通过使用传输适配器和交换机配置的。电缆在组件对组件的基础上将适配器与交换器连接在一起。群集拓扑管理器采用可用的电缆,在节点之间构建端对端的传输路径。电缆不直接与传输路径相对应。

管理员可静态地“启用”和“禁用”电缆。电缆可处于一种“状态”(启用或禁用),但并非一种“状况”。如果电缆禁用,它就象未经配置一样。禁用的电缆不可用作传输路径。由于未对这些电缆进行探测,因此无法确定它们所处的状态。使用 scconf -p 命令可以获知电缆的状态。

传输路径由群集拓扑管理器动态建立。传输路径的“状况”由拓扑管理器确定。路径可处于“联机”或“脱机”状况。使用 scstat(1M) 命令可以获知传输路径的状况。

以下面的群集为例,该群集有两个节点,通过四条电缆进行连接。


node1:adapter0      to switch1, port0
node1:adapter1      to switch2, port0
node2:adapter0      to switch1, port1
node2:adapter1      to switch2, port1

这四条电缆可以形成两种传输路径。


node1:adapter0    to node2:adapter0
node2:adapter1    to node2:adapter1

关于客户机系统的常见问题

问题:

使用群集时是否需要考虑任何特殊的客户机需要或限制?

答案:

客户机系统可连接到群集,就像连接到其他任何服务器上一样。在某些情况下,根据具体的数据服务应用程序,您可能需要安装客户端软件或执行其它配置更改,以使客户机可以连接到该数据服务应用程序。有关客户端配置要求的更多信息,请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的第 1  章 “Planning for Sun Cluster Data Services”

关于管理控制台的常见问题

问题:

Sun Cluster 系统是否需要管理控制台?

答案:

是的。

问题:

管理控制台必须专用于该群集吗?它可以用于其它任务吗?

答案:

Sun Cluster 系统不要求使用专用的管理控制台,但使用专用的管理控制台有以下优点:

问题:

管理控制台需要位于群集“附近”(例如在同一房间内)吗?

答案:

请向硬件服务供应商咨询。供应商可能会要求控制台位于群集的近旁。使控制台处在同一房间内没有技术上的原因。

问题:

如果管理控制台和多个群集间的距离要求都首先得到了满足,则管理控制台是否可以服务于这些群集?

答案:

是的。可以从一个单独的管理控制台控制多个群集。也可以在群集间共享一个单独的终端集中器。

关于终端集中器与系统服务处理器的常见问题

问题:

Sun Cluster 系统需要终端集中器吗?

答案:

Sun Cluster 3.0 及其之后的所有软件发行版本的运行均不需要终端集中器。Sun Cluster 2.2 要求一个终端集中器来进行故障防护;后续版本与之不同,不再依赖终端集中器。

问题:

我发现大多数 Sun Cluster 服务器都使用终端集中器,而 Sun Enterprise E1000 server 却不使用。为什么?

答案:

对于大多数服务器来讲,终端集中器实际上是一个串行到以太网的转换器。终端集中器的控制台端口为串行端口。Sun Enterprise E1000 服务器不具有串行控制台。系统服务处理器 (System Service Processor, SSP) 就是其控制台,它或者使用以太网端口,或者使用 jtag 端口。对于 Sun Enterprise E1000 server,请始终将 SSP 用作控制台。

问题:

使用终端集中器有什么益处?

答案:

使用终端集中器,您可以从网络上任意位置的远程工作站对每个节点进行控制台级别访问。即使节点位于基于 SPARC 的节点的 OpenBoot PROM (OBP) 上或者位于基于 x86 的节点的引导子系统上,也可以进行此种访问。

问题:

如果 Sun 不支持我用的终端集中器,则要使用符合要求的终端集中器,我需要了解哪些信息?

答案:

Sun 所支持的终端集中器与其他控制台设备之间的主要差别是 Sun 终端集中器具有特殊的固件。此固件可以防止终端集中器在控制台引导时向控制台发送中断。如果您有一个控制台设备,可以向控制台发送中断或可被解释为中断的信号,则中断将使节点关闭。

问题:

是否可以不重新引导而释放一个 Sun 所支持的终端集中器上的锁定端口?

答案:

是的。记下需要重置的端口号并键入以下命令:


telnet tc
Enter Annex port name or number: cli
annex: su -
annex# admin
admin : reset port_number
admin : quit
annex# hangup
#

有关配置和管理 Sun 所支持的终端集中器的更多信息,请参阅以下手册。

问题:

终端集中器本身发生故障怎么办?我必须有备用终端集中器吗?

答案:

不必。 如果终端集中器发生故障,您不会丢失任何群集可用性。但在集中器恢复工作之前,您将无法连接到节点控制台。

问题:

使用终端集中器时,其安全性如何?

答案:

通常,终端集中器连接在系统管理员使用的一个小型网络上,而不连接到用于其他客户机访问的网络。您可以通过限制对该特定网络的访问来控制安全性。

问题:

SPARC:如何使用磁带机或磁盘驱动器进行动态重新配置?

答案:

请执行以下步骤:


注意 – 注意 –

如果当前的主节点在您正对辅助节点执行 DR 操作时出现故障,则会影响群集的可用性。在提供辅助节点之前,该主节点将无法进行失效转移。