13.18. Sun Ray Client 引导过程

该过程流说明了 Sun Ray Client 获得其基本网络参数、固件服务器和会话服务器的方法。此过程流中列出的许多配置选项在第 20 章 备用网络配置中都有介绍。

注意

客户端上必须启用配置 GUI ,用户才能在本地配置 Sun Ray 参数。本地配置的参数值会覆盖除 MTU(通常是所显示的最小值)以外的网络值。

  1. 打开单元。

  2. 读取本地配置(从配置 GUI,如果有)。

    1. netType = STATIC IP DHCP Auto-config (IPv6)

    2. 如果 netType 的值为 "STATIC IP",则使用以下各项的本地配置值

      • IP 地址

      • 网络掩码

      • 广播地址

      • 路由器

      • MTU

  3. 初启网络接口。

    1. 如果缺失了联网值,则执行 DHCP。

    2. 如果未定义 AuthSrvr 值,则执行 DHCP_INFORM 请求。

    3. 合并所有的本地值、DHCP 供应商选项和 DHCP_INFORM 值(本地值会覆盖除显示的最小值 MTU 以外的 DHCP)。

    4. 如果 DHCP 提供了 XDispMgr 未发现任何 AltAuth 供应商选项,则将 AltAuth 设置为XDispMgr(选项 49)值。

  4. 读取固件服务器上的配置参数文件(model .parms 文件)。

    1. 尝试按以下顺序找出包含 .parms 文件的固件服务器:

      1. 本地配置值

      2. DHCP 供应商选项 (FWSrvr)

      3. 选项 66 (TftpSrvr) IP 地址或 DNS 名称

      4. DNS 查找 "sunray-config-servers"(如果映射到多个地址,则随机选择其中一个)

    2. 下载 .parms 文件。

      1. 搜索 SunRayPx.MAC.parms。

      2. 搜索 SunRayPx.parms。

    3. 解析 .parms 文件。

      • parms.version = 固件版本

      • parms.revision = 支持的最高硬件版本

      • parms.barrier = = 服务器固件的限制值

      • parms.BarrierLevel = 限制覆盖值

      • parms.servers = 服务器列表

      • parms.select = inorder | random

    4. 如果成功解析了 .parms 文件通过本地配置值获取了固件服务器,则转至步骤 5。

      注意

      如果无法获取本地配置的固件服务器或不存在正确的配置参数文件,则 Sun Ray 客户端不会尝试使用步骤 4 中的其他任何方法来定位配置参数文件。该设置可防止意外加载并非由本地指定的固件服务器提供的固件版本。

    5. 如果未找到任何 .parms 文件尚未到达固件服务器列表的末尾,则转至步骤 4,然后选择列表中的下一个固件服务器。

    6. 如果已没有任何可供尝试的固件服务器,则设置以下值:

      • parms.version = DHCP 供应商选项 NewTVer(如果 DHCP 未提供任何选项,则设置为 NULL 字符串)

      • parms.BarrierLevel = DHCP BarrierLevel(如果 DHCP 未提供任何选项,则设置为 current_barrier)

      • 将 parms.revision 的值设置为 "current_revision"

      • 将 parms.barrier 的值设置为 "current_barrier"

      • 将 parms.select 的值设置为 "inorder"

  5. 确定是否需要加载新固件。

    如果:

    • parms.version 不为当前固件版本

    • parms.version 不为 "_NONE_"

    • parms.revision >= 当前硬件修订版

    • parms.barrier >= parms.BarrierLevel 或者 parms.barrier >= 当前固件的限制级别

    请执行以下操作:

    1. 下载固件。

    2. 将固件写入闪存。

    3. 重新引导。

    如若不然:

    无需加载固件。

  6. 确定要连接的 Sun Ray 服务器。

    1. 如果 AlthAuth/AuthSrvr/parms.servers 均为空,则将 server_list 的值设置为 "sunray-servers"。否则,将 server_list 的值设置为 "parms.servers"。

    2. 如果还有未尝试的 server_list 地址,则执行以下操作:

      1. 按顺序选择名称(或者如果 parms.select=random,则随机选择)。

      2. 将名称转换为 IP 地址列表(DNS 查找或 IP 地址表示法)。

      3. 按顺序从列表中选择一个地址(或者如果 parms.select=random,则随机选择)。

      4. 如果选定的地址是广播地址,请将该广播地址设置为显示,然后选择下一个地址。

      5. 转至步骤 6h。

    3. 如果还有未尝试的 AltAuth 地址,则执行以下操作:

      1. 按顺序选择地址(或者如果 parms.select=random,则随机选择)。

      2. 如果选定的地址是广播地址,请将该广播地址设置为显示,然后选择下一个地址

      3. 转至步骤 6h。

    4. 如果已定义 AuthSrvr,则执行以下操作:

      1. 将地址设置为 AuthSrvr。

      2. 转至步骤 6h。

    5. 如果已显示广播地址,则执行广播协议。

    6. 如果已收到广播响应,则执行以下操作:

      1. 将选定的地址设置为响应器。

      2. 转至步骤 6h。

    7. 30 秒后超时并重新引导。

    8. 尝试连接到选定的地址。

    9. 如果连接失败,则转至步骤 6b。

  7. Sun Ray Client 已连接。