20.6. 故障转移组

20.6.1. 网络拓扑
20.6.2. 设置 IP 寻址方式
20.6.3. Sun Ray 服务器故障转移组工作表

本部分提供在使用专用网络或使用 Sun Ray 服务器作为 DHCP 服务器时在网络配置中配置故障转移组的相关信息。

如果具有 Sun Ray 专用互连,则 Sun Ray 客户端要求的所有服务应由多台冗余服务器提供,以确保 Sun Ray 服务在网络或系统出现故障时的连续性。例如,必须在所有服务器上配置 DHCP(IP 地址分配和配置)或 DNS(名称解析)。

注意

配置接口时,若没有正确设置 IP 地址和 DHCP 配置数据,故障转移功能就无法正常工作。尤其是,如果任何 Sun Ray 服务器的互连 IP 地址与任何其他服务器的互连 IP 地址相同,Sun Ray 验证管理器将无法正常运行。

20.6.1. 网络拓扑

故障转移组可以包含公共专用互连中的服务器,也可以包含 LAN 中的服务器。但是,故障转移组中的服务器必须仍能够使用多播或广播方式,通过至少一个共享子网进行相互联系。组中的服务器使用公共组签名进行相互验证(即“信任”验证)。组签名是一种密钥,用于对组中服务器间发送的消息进行签名。此密钥在每个服务器上都必须配置为完全相同。

使用专用互连时,故障转移组中的所有服务器和给定子网上的所有 Sun Ray Client 都可以相互访问。不应将路由器连接到专用互连。故障转移环境支持的互连拓扑与单服务器 Sun Ray 环境所支持的相同;但是,交换机应启用多播。

如果多播在网络中不起作用,您可以改为使用广播。要禁用多播,请使用 auth.props 文件中的 enableMulticast 属性。在特殊情况下,您可以使用 utgmtarget 配置组服务器的显式列表。例如,您可以使用 utgmtarget 将不同子网中的服务器集成到一个故障转移组中。这些服务器使用单点传送进行通信。请注意,将这样的服务器添加到组中将需要重新启动整个服务器组。

图 20.4 “简单的故障转移组”显示了简单的故障转移组设置。

图 20.4. 简单的故障转移组

显示简单故障转移组的图示。

当故障转移组中的服务器由于某种原因发生故障时,每个连接到该服务器的 Sun Ray Client 都会重新连接到同一故障转移组中的另一台服务器上。故障转移发生在用户验证级别:客户端将连接到对于用户令牌之前已存在的某个会话。如果会话存在,则客户端将连接到通过负载平衡算法所选定的服务器上。然后此服务器将向用户显示登录屏幕,用户必须重新登录以创建新会话。故障服务器上的会话状态将丢失。

图 20.5 “冗余故障转移组”显示了冗余故障转移组的示例。

图 20.5. 冗余故障转移组

显示冗余故障转移组的图示。

上图中显示的冗余故障转移组可为几个 Sun Ray Client 提供最大量的资源。其中,服务器 sr47 是 Sun Ray 主服务器,sr48 是 Sun Ray 辅助服务器;其他辅助服务器(sr49sr50 等)未显示。

20.6.2. 设置 IP 寻址方式

可以使用 utadm 命令设置 DHCP 服务器。默认 DHCP 设置为每个接口配置 225 个主机,并为 Sun Ray 互连使用专用网络地址。有关更多信息,请参见 utadm 手册页。

在设置 IP 寻址前,必须确定寻址方案。以下示例讨论如何设置 C 类和 B 类地址。

20.6.2.1. 设置服务器和客户端地址

找不到服务器通常意味着失去其 DHCP 服务和其分配的 IP 地址。因此,需要从地址池获得比 Sun Ray Client 的数量更多的 DHCP 地址。设想有 5 台服务器和 100 个 Sun Ray Client 的情况。如果有一台服务器出现故障,其余的 DHCP 服务器必须有足够的可用地址,以便每个“孤立”的 Sun Ray Client 都能够分配到新的工作地址。

表 20.5 “为 100 个客户端配置 5 台服务器”列出了用于为 100 个 Sun Ray Client 配置 5 台服务器的配置设置,以应对两台服务器(C 类)或四台服务器(B 类)出现故障的情况。

表 20.5. 为 100 个客户端配置 5 台服务器

C 类(2 个服务器发生故障)

B 类(4 个服务器发生故障)

服务器

接口地址

客户端地址范围

接口地址

客户端地址范围

serverA

192.168.128.1

192.168.128.16 到 192.168.128.49

192.168.128.1

192.168.128.16 到 192.168.128.116

serverB

192.168.128.2

192.168.128.50 到 192.168.128.83

192.168.129.1

192.168.129.16 到 192.168.129.116

serverC

192.168.128.3

192.168.128.84 到 192.168.128.117

192.168.130.1

192.168.130.16 到 192.168.130.116

serverD

192.168.128.4

192.168.128.118 到 192.168.128.151

192.168.131.1

192.168.131.16 到 192.168.131.116

serverE

192.168.128.5

192.168.128.152 到 192.168.128.185

192.168.132.1

192.168.132.16 到 192.168.132.116


地址分配的公式为:地址范围 (address range, AR) = 客户端数/(服务器总数 - 故障服务器数)。例如,在两个服务器出现故障的情况,每个 DHCP 服务器必须获得 100/(5-2) = 34 个地址。

理想的情况是,每台服务器为每个客户端预留出一个地址。此设置需要 B 类网络。请参考以下规则:

  • 如果 AR 乘以服务器总数所得结果小于或等于 225,则配置为 C 类网络

  • 如果 AR 乘以服务器总数所得结果大于 225,则配置为 B 类网络

注意

如果所有可用的 DHCP 地址均已分配,则 Sun Ray Client 有可能即使请求也找不到可用的地址,这可能是因为多台服务器为另一个单元分配了 IP 地址。为防止出现这种情况,应为每台 DHCP 服务器提供充足的地址,以满足故障转移组中所有 Sun Ray Client 的需求。

20.6.2.2. 服务器地址

分配给 Sun Ray 互连的服务器 IP 地址应该都是唯一的。使用 utadm 工具分配地址。

当 Sun Ray Client 引导时,会向网络接口上所有可能的服务器发送 DHCP 广播请求。一个或多个服务器将对此作出响应,返回从其地址范围内为该设备分配的 IP 地址。客户端会采用其收到的第一个 IP 地址,并对自身进行配置,以使用该地址进行发送和接收。

所采用的 DHCP 响应中还包含有关发送该响应的服务器上验证管理器 IP 地址和端口号的信息。

然后,客户端将尝试与该服务器上的验证管理器建立 TCP 连接。如果无法连接,它将使用一种类似于 DHCP 的协议,在该协议中它使用广播消息来要求验证管理器确认其自身。然后,客户端将尝试按照收到响应的顺序来连接到作出响应的验证管理器。

注意

对于要启用的广播功能,广播地址 (255.255.255.255) 必须是列表中的最后一项。此广播地址后的任何地址都将被忽略。如果本地服务器不在列表中,则 Sun Ray Client 将无法尝试与之联系。

到验证管理器的 TCP 连接建立后,客户端将显示其令牌。令牌可以是代表单个客户端(其唯一的以太网地址)的伪令牌或是智能卡。然后会话管理器启动一个 X Window/X 服务器会话,并将令牌绑定到该会话中。

然后,验证管理器将查询发送到相同子网上的其他所有验证管理器,并请求有关该令牌的现有会话的信息。其他验证管理器作出响应,说明对应于该令牌的会话是否存在以及该令牌上次连接到会话的时间。

发出请求的验证管理器选择连接时间最近的服务器,并将此客户端重新定位到该服务器。如果没有找到该令牌的会话,发出请求的验证管理器选择负载最轻的服务器,并将令牌重新定位到该服务器。为该令牌创建了新的会话。

验证管理器启用隐式(智能卡)和显式交换。

20.6.2.3. 配置 DHCP

在一个大的 IP 网络中,DHCP 服务器负责为该网络中的接口分配 IP 地址和其他配置信息。

20.6.2.3.1. Sun Ray 服务器和其他 DHCP 服务器共存

倘若将 Sun Ray DHCP 服务器与其他的 DHCP 通信流量隔离,Sun Ray DHCP 服务器就可以与其他子网上的 DHCP 服务器共存。请检验网络上的所有路由器是否均配置为不转发
DHCP 请求,这是大多数路由器的默认行为。

小心

配置接口时,如果 IP 地址和 DHCP 配置数据设置不正确,故障转移功能将无法正常工作。尤其是在将 Sun Ray 服务器的互连 IP 地址配置为与任何其他服务器的互连 IP 地址相同时,可能会导致 Sun Ray 验证管理器发出“内存不足”错误。

20.6.2.4. 管理其他客户端

如果 Sun Ray 服务器有多个接口(其中一个是 Sun Ray 互连),Sun Ray DHCP 服务器应能够同时管理 Sun Ray 互连和其他接口而不相互冲突。

20.6.2.5. 如何在多台各有一个 Sun Ray 接口的服务器上设置 IP 寻址

  1. 以超级用户身份登录到 Sun Ray 服务器,打开一个 shell 窗口。键入:

    # /opt/SUNWut/sbin/utadm -a interface_name
    

    其中,interface_name 是要配置的 Sun Ray 网络接口名称;例如 hme[0-9]qfe[0-9]ge[0-9]。必须以超级用户身份登录才能运行此命令。utadm 脚本配置子网(本例中是 128)上的接口(例如,hme1)。

    该脚本显示默认值,如下所示:

    Selected values for interface "hme1"
    host address: 192.168.128.1
    net mask: 255.255.255.0
    net address: 192.168.128.0
    host name: serverB-hme1
    net name: SunRay-hme1
    first unit address: 192.168.128.16
    last unit address: 192.168.128.240
    auth server list: 192.168.128.1
    firmware server: 192.168.128.1
    router: 192.168.128.1 |

    故障转移组中每个服务器上的默认值都相同。必须修改一些值以使其在每个服务器上唯一。

  2. 当系统询问是否接受默认值时,键入 n

    Accept as is? ([Y]/N): n
  3. 将第二台服务器的 IP 地址改为唯一的值,此例为 192.168.128.2:

    new host address: [192.168.128.1] 192.168.128.2 |
  4. 接受网络掩码、主机名和网络名称的默认值:

    new netmask: [255.255.255.0]
    new host name: [serverB-hme1]
  5. 将互连的客户端地址范围更改为唯一的值。例如:

    Do you want to offer IP addresses for this interface? [Y/N]:
    new first Sun Ray address: [192.168.128.16] 192.168.128.50
    number of Sun Ray addresses to allocate: [205] 34
  6. 接受固件服务器和路由器的默认值:

    new firmware server: [192.168.128.2]
    new router: [192.168.128.2]

    utadm 脚本询问是否要指定一个认证服务器列表:

    auth server list: 192.168.128.1
    To read auth server list from file, enter file name:
    Auth server IP address (enter <CR> to end list):
    If no server in the auth server list responds, should an auth server be located by 
    broadcasting on the network? ([Y]/N): 

    通过一个包含以空格分隔的服务器 IP 地址列表的文件或手动输入服务器 IP 地址都可以指定服务器。

    将显示接口 hme1 选定的新值:

    Selected values for interface "hme1"
    host address: 192.168.128.2
    net mask: 255.255.255.0
    net address: 192.168.128.0
    host name: serverB-hme1
    net name: SunRay-hme1
    first unit address: 192.168.128.50
    last unit address: 192.168.128.83
    auth server list: 192.168.128.1
    firmware server: 192.168.128.2
    router: 192.168.128.2
  7. 如果这些值正确,则接受这些新值:

    Accept as is? ([Y]/N): y
  8. 停止然后重新启动服务器,对客户端进行关开机循环以下载该固件。

表 20.6 “utadm 可用选项”列出了 utadm 命令的所有可用选项。有关更多信息,请参见 utadm 手册页。

表 20.6. utadm 可用选项

选项

定义

-c

创建 Sun Ray 互连网络的框架。

-r

删除所有的 Sun Ray 互连网络。

-A subnetwork

配置指定为 Sun Ray 子网的子网。此选项仅配置 DHCP 服务以分配 IP 地址给 Sun Ray 客户端,及/或为其提供 Sun Ray 参数。它还可以从共享的子网中自动打开 LAN 连接支持。

-a interface_name

interface_name 添加为 Sun Ray 互连。

-D subnetwork

删除由已配置的 Sun Ray 子网列表指定的子网。

-d interface_name

删除作为 Sun Ray 互连的 interface_name

-l

打印所有 Sun Ray 子网(包括远程子网)的当前配置。

-p

打印当前配置。

-f

将服务器脱机

-n

将服务器联机

-x

以计算机可读取的格式打印当前配置


20.6.3. Sun Ray 服务器故障转移组工作表

请填写表 20.7 “Sun Ray 服务器故障转移组工作表”表 20.8 “故障转移组中第一个和最后一个单元的地址”,以便这些信息在实际配置过程中随手可用。

  • 斜体形式提供的值仅为示例,请勿使用。

  • 以常规字体提供的值为默认值,可以使用。

  • 上标数字 (#) 对应每个部分末尾的脚注。

注意

在工作表中为您提供了一些空白行,供您在选择打印工作表时添加有关环境的附加信息。

如果打算配置故障转移组,请填写下面的工作表:

表 20.7. Sun Ray 服务器故障转移组工作表

操作或变量

默认值、示例或(其他信息)

主服务器的值

辅助服务器的值

使用 utreplica 配置 Sun Ray 服务器分层结构(对故障转移组为必需)

(提供起始时间)

主 Sun Ray 服务器主机名(1)

primary-server

辅助 Sun Ray 服务器主机名(1)

secondary-server


(1) 对每个 Sun Ray 服务器而言,这些值均有所不同,即使服务器是故障转移组成员也是如此。

表 20.8. 故障转移组中第一个和最后一个单元的地址

服务器

第一个单元的地址

最后一个单元的地址

辅助

辅助

辅助

192.168.128.16

192.168.128.56

192.168.128.96

192.168.128.136

192.168.128.55

192.168.128.95

192.168.128.135

192.168.128.175


注意

如果您忘记了地址范围,可使用 utadm -l 列出您指定的地址,或使用 utadm -p 将它们打印出来。