本章包含关于 SunPlex 系统的最常见问题的解答。 问题是按主题编排的。
到底什么是高可用系统?
SunPlex 系统将高可用性 (HA) 定义为群集使应用程序保持活动状态并运行(即使发生通常会使服务器系统不可用的故障)的能力。
群集是通过什么样的进程提供高可用性的?
通过一个称为失效转移的进程,群集框架提供高可用性的环境。 失效转移就是一系统列由群集执行的步骤,它将数据服务资源从一个故障节点转移到群集上另一个可操作节点。
有两种高可用性数据服务类型:失效转移数据服务和可伸缩数据服务。
失效转移数据服务每次只能在群集中的一个主节点上运行应用程序。 其它节点上可能运行其它应用程序,但每个应用程序只能运行在单一节点上。 如果主节点发生故障,正在故障节点上运行的应用程序进行失效转移,切换到另一个节点并继续运行。
可伸缩服务将一个应用程序扩展到多个节点之上来创建一个单独的逻辑服务。 可伸缩服务平衡它们在其上运行的整个群集中的节点和服务器的数目。
对于每个应用程序,一个节点具有一个至群集的物理接口。 这个节点被称作全局接口 (GIF) 节点。 群集中可以有多个 GIF 节点。 每个 GIF 节点都有一个或多个逻辑接口,可伸缩服务可使用这些接口。 这些逻辑接口被称作全局接口。 每个 GIF 节点都具有一个全局接口,用来接收针对特定应用程序的所有请求。GIN 还会将这些请求分发给运行应用程序服务器的多个节点上。 如果 GIF 发生故障,则全局接口将失效转移到一个仍正常工作的节点。
如果某个正在运行应用程序的节点发生故障,该应用程序将在其它节点上继续运行,只是性能有所下降,直到该故障节点返回该群集为止。
可否将一个或多个群集节点作为高度可用的 NFS 服务器运行,而将其它群集节点当作客户机?
不可以,不要进行回送装载。
可否将群集文件系统用于不受 Resource Group Manager 控制的应用程序?
是的。 然而,由于不受 RGM 的控制,当运行这些应用程序的节点发生故障时,需手动重新启动这些应用程序。
所有群集文件系统是否都必须在 /global 目录下具有一个装载点?
不是。但是,将多个群集文件系统放置在同一装载点下(如 /global)能够对这些文件系统进行更好的组织和管理。
使用群集文件系统和导出 NFS 文件系统有哪些不同?
有以下几点不同:
群集文件系统支持全局设备。 NFS 不支持对设备的远程访问。
群集文件系统有一个全局名称空间。 只需要一个定位命令。 使用 NFS 时,必须 在每个节点上定位文件系统。
与 NFS 相比,群集文件系统从高速缓存访问文件的情况更多。 例如,多个节点同时访问一个文件,以执行读、写、文件锁定、异步 I/O 等操作。
群集文件系统是为了利用能够提供远程 DMA 和零拷贝功能的快速群集互连而建立的。
如果您更改了群集文件系统中某个文件的特性(例如,使用 chmod(1M)),所做的更改会立即反映到所有的节点上。 使用导出的 NFS 文件系统,这可能会花费更长的时间。
文件系统 /global/.devices/node@<nodeID> 出现在我的群集节点上。 可否使用这个文件系统来存储要作为高度可用数据和全局数据的那些数据?
这些文件系统存储全局设备名称空间。 它们不可以通用。 如果是全局文件系统,不能以全局的方式对其进行访问,每个节点只能访问自己的全局设备名称空间。 如果节点处于关闭状态,则其它节点无法访问处于关闭状态的该节点的名称空间。 这些文件系统不具备高可用性。 它们不适合用于存储需全局访问或高度可用的数据。
需要镜像所有磁盘设备吗?
必须镜像被视为具有高可用性的磁盘设备,或者使用 RAID-5 硬件。 所有数据服务应该要么使用高可用磁盘设备,要么使用定位到高可用磁盘设备上的群集文件系统。 这样的配置可以容许单独磁盘故障。
可否将一个卷管理器用于本地磁盘(引导磁盘),而将另一个卷管理器用于多主机磁盘?
SPARC: 此配置支持 Solaris Volume Manager 软件管理本地磁盘,支持 VERITAS Volume Manager 管理多主机磁盘。 不支持其它任何组合方式。
x86: 不,不支持这种配置,在基于 x86 的群集中只支持 Solaris Volume Manager。
可以获得哪些 SunPlex 数据服务?
Sun Cluster Release Notes 中列出了所支持的数据服务。
SunPlex 数据服务支持哪些应用程序版本?
Sun Cluster Release Notes 中列出了所支持的应用程序版本。
我可以记下自己的数据服务吗?
是的。 有关详细信息,请参阅《Sun Cluster 数据服务开发者指南》和 Data Service Development Library API 所附带的 Data Service Enabling Technologies 文档。
创建网络资源时,我应该指定数字 IP 地址还是主机名?
指定网络资源的首选方法是使用 UNIX 主机名,而非使用数字 IP 地址。
创建网络资源时,使用逻辑主机名(一个 LogicalHostname 资源)与使用共享地址(一个 SharedAddress 资源)有什么不同?
除了 Sun Cluster HA for NFS 之外,只要文档要求在 Failover 模式资源组中使用 LogicalHostname 资源,SharedAddress 资源或 LogicalHostname 资源就可以交替地使用。 使用 SharedAddress 资源会造成一些额外的开销,因为群集联网软件是为 SharedAddress 而配置的,而不是为 LogicalHostname 而配置的。
使用 SharedAddress 的优点在以下情况下就可体现出来:您要配置可伸缩和失效转移两种数据服务,并想让客户能够使用相同的主机名访问这两种服务。 在这种情况下,SharedAddress 资源以及失效转移应用程序资源包括在一个资源组中,而可伸缩服务资源包括在一个独立的资源组中并被配置为使用 SharedAddress。 然后,可伸缩服务和失效转移服务都可以使用在 SharedAddress 资源中配置的同一主机名/地址集。
SunPlex 系统支持哪些公共网络适配器?
目前,SunPlex 系统支持以太网(10/100BASE-T 和 1000BASE-SX Gb)公共网络适配器。 因为新的接口可能会在将来得到支持,所以请向 Sun 销售代表咨询以获取最当前信息。
在失效转移中 MAC 地址起什么作用?
当失效转移发生时,生成新的地址解析协议 (ARP) 软件包并进行广播。 这些 ARP 软件包包含新的 MAC 地址(节点失效转移到的新的物理适配器的地址)和旧的 IP 地址。 网络中的其它计算机收到其中一个软件包之后,将刷新 ARP 高速缓存中的旧 MAC-IP 映射,然后使用新的映射。
SunPlex 系统是否支持设置 local-mac-address?=true?
是的。 事实上,IP 网络多路径要求必须将 local-mac-address? 设置为 true。
您可以在基于 SPARC 的群集中的 OpenBoot PROM ok 提示符处使用 eeprom(1M) 来设置 local-mac-address?,也可以在基于 x86 的群集中,在 BIOS 引导之后选择运行 SCSI 实用程序来设置 local-mac-address?。
当 IP Network Multipathing在适配器之间执行切换时,将会有多久的延迟?
延迟可能持续几分钟。 这是因为 IP Network Multipathing切换完成后,还需要发送一个未经请求的 ARP。 但是,不保证客户机与群集之间的路由器将使用该未经请求的 ARP。 因此,直到路由器的此 IP 地址的 ARP 高速缓存项目超时,才有可能使用无效 MAC 地址。
检测网络适配器的故障的速度有多快?
缺省的故障检测时间是 10 秒钟。 算法尽量与故障检测时间相符,但实际的检测时间取决于网络负载。
所有的群集成员都需要有相同的 root 用户口令吗?
不要求让每个群集成员使用相同的 root 用户口令。 但是,您可以通过在所有的节点上使用相同的 root 用户口令来简化该群集的管理。
节点引导的顺序有重要意义吗?
在大多数情况下没有意义。但是,引导顺序对于防止失忆是很重要的(有关失忆的详细信息,请参考仲裁和仲裁设备)。 例如,如果节点 2 是仲裁设备的属主而节点 1 停机,并且您此时将节点 2 停机,那么您在启动节点 1 之前必须先启动节点 2。 这可避免意外使用过时的群集配置信息启动节点。
是否需要在群集节点中镜像本地磁盘?
是的。 尽管这一镜像并不是一种要求,但是镜像群集节点磁盘可防止非镜像磁盘故障使节点停机。 镜像群集节点本地磁盘的缺点是,将耗费更多的系统管理开销。
群集成员的备份是指什么?
您可以对一个群集使用多种备份方法。 一种方法是将一个节点作为备份节点,连接一个磁带机/库。 然后使用群集文件系统来备份数据。 不要将此节点连接到共享磁盘上。
有关备份和恢复过程的其它信息,请参阅《Sun Cluster 系统管理指南》。
节点何时可以作为辅助节点使用?
重新引导后,当节点显示登录提示时,节点就可以作为辅助节点使用了。
多主机存储器为什么具有高可用性?
多主机存储器之所以具有高可用性,是因为它在丢失单个磁盘的数据的情况下仍能借助镜像(或者基于硬件的 RAID-5 控制器)而幸免于难。 因为多主机存储器设备有不止一个主机连接,所以它也可以经受它所连接的单一节点的丢失。 此外,从每个节点到附加存储器的冗余路径为主机总线适配器、电缆或磁盘控制器的故障提供了容错。
SunPlex 系统支持什么样的群集互连?
目前,SunPlex 系统在基于 SPARC 和基于 x86 的群集中支持以太网(100BASE-T 快速以太网和 1000BASE-SX Gb)群集互连。 SunPlex 系统只在基于 SPARC 的群集中支持 SCI 网络接口群集互连。
“电缆”与传输“路径”有什么不同?
群集传输电缆是使用传输适配器和交换机配置的。 电缆在组件对组件的基础上将适配器与交换器连接在一起。 群集拓扑管理器使用可用的电缆来建立节点间的端到端传输路径。 电缆不直接与传输路径相对应。
电缆可由管理员静态“启用”和“禁用”。 电缆可处于一种“状态”(启用或禁用),但并非一种“状况”。 如果电缆处于禁用状态,就如同电缆没有进行配置一样。 禁用的电缆不可用作传输路径。 不对它们进行探测,因此不可能知道它们的状况。 使用 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 数据服务规划和管理指南》中的相关章节。
SunPlex 系统是否需要管理控制台?
是的。
管理控制台必须专用于该群集吗?它可以用于其它任务吗?
SunPlex 系统不需要专用的管理控制台,但使用它有以下优点:
通过在同一机器上给控制台和管理工具分组来启用集中化的群集管理
可能会使硬件服务供应商更快地解决问题
是否需要管理控制台位于群集自身的“旁边”(例如,在同一个房间中)?
请向硬件服务供应商咨询。 供应商可能会要求控制台位于群集的近旁。 使控制台处在同一房间内没有技术上的原因。
是否只要所有距离要求也首先得到满足,管理控制台就可以服务于多个群集?
是的。 可以从一个单独的管理控制台控制多个群集。 也可以在群集间共享一个单独的终端集中器。
SunPlex 系统需要终端集中器吗?
Sun Cluster 3.0 之后的所有软件发行版本均不需要终端集中器来运行。 Sun Cluster 2.2 要求一个终端集中器来进行故障防护;后续版本与之不同,不再依赖于终端集中器。
我知道大多数 SunPlex 服务器都使用终端集中器,而 Sun Enterprise E10000 server 却不使用。 为什么呢?
对于大多数服务器来讲,终端集中器实际上是一个串行到以太网的转换器。 其控制台端口是一个串行端口。 Sun Enterprise E10000 server 没有串行控制台。 系统服务处理器 (SSP) 就是其控制台,它或者使用以太网端口,或者使用 jtag 端口。 对于 Sun Enterprise E10000 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 所支持的终端集中器的详细信息,请参阅《Sun Cluster 系统管理指南》。
终端集中器本身发生故障怎么办? 我必须有备用终端集中器吗?
不必。 如果终端集中器发生故障,您不会丢失任何群集可用性。 但在集中器恢复工作之前,您将无法连接到节点控制台。
使用终端集中器时,其安全性如何?
通常,终端集中器连接到系统管理员使用的一个小型网络,而不连接到用于其它客户访问的网络。 您可以通过限制对该特定网络的访问来控制安全性。
如何使用磁带机或磁盘驱动器进行动态重新配置?
确定磁盘驱动器或磁带机是否是活动设备组的一部分。 如果该驱动器不是活动设备组的组成部分,您就可以对其执行 DR 删除操作。
如果 DR 删除板操作将影响活动的磁盘驱动器或磁带机,则系统将拒绝执行该操作并且标识出可能会受该操作影响的驱动器。 如果驱动器是活动设备组的组成部分,请转到SPARC: 有关磁盘和磁带机的 DR 群集注意事项。
确定驱动器是主节点的组件还是辅助节点的组件。 如果驱动器是辅助节点的组件,您就可以对其执行 DR 删除操作。
如果驱动器是主节点的组件,您就必须先将主节点和辅助节点对调,然后才对该设备执行 DR 删除操作。
如果当前的主节点在您正对辅助节点执行 DR 操作时出现故障,则会影响群集的可用性。 在提供辅助节点之前,该主节点将无法进行失效转移。