主机

对于在系统级别配置了多个 IP 地址和不同官方主机名的主机, LSF hosts 文件将使 LSF中的主机名和 IP 地址相关联。

缺省情况下, LSF 假定集群中的每个主机都具有以下属性:

  • 具有唯一的官方主机名
  • 可以从其名称解析其 IP 地址
  • 可以从其 IP 地址解析其官方名称

不应在此文件中配置仅具有一个 IP 地址的主机或具有多个已解析为唯一正式主机名的 IP 地址的主机; 而是使用系统的缺省方法 (例如,本地配置文件,例如 /etc/hosts 或通过 DNS) 来解析这些主机。

LSF hosts 文件在以下环境中使用:
  • 集群中的机器具有多个网络接口,不能在系统中使用唯一的官方主机名进行设置
  • DNS 速度较慢或未正确配置
  • 机器具有特殊拓扑需求; 例如,在 HPC 系统中,需要将多个实际主机映射到单个头端主机

缺省情况下,未安装 LSF hosts 文件。 它通常位于 LSF_CONFDIR 参数指定的目录中。 LSF_CONFDIR/hosts 文件的格式类似于 UNIX 机器上 /etc/hosts 文件的格式。

hosts 文件结构

每个 IP 地址一行,由 IP 地址组成,后跟官方主机名, (可选) 后跟主机别名,全部用空格或制表符分隔。 每行都具有以下格式:
official IP_address [alias [alias ...]]

IP 地址可以采用点分四表示法 (IPv4) 或 IP Next Generation (IPv6) 格式。 如果在 lsf.conf 文件中定义了参数 LSF_ENABLE_SUPPORT_IPV6 ,那么可以使用 IPv6 地址。 您不必将 IPv4 地址映射到 IPv6 格式。

对属于同一主机的 IP 地址使用连续行。 您可以将不同的别名分配给不同的地址。

使用井号 (#) 指示注释 ( LSF未读取该行的其余部分)。 请勿使用 #if ,因为它是基于时间的配置的保留语法。

IP 地址

使用 IPv4 或 IPv6 格式编写。 LSF 支持两种格式; 您不必将 IPv4 地址映射到 IPv6 格式 (如果在 lsf.conf 文件中定义了参数 LSF_ENABLE_SUPPORT_IPV6 )。
  • IPv4 格式:nnn.nnn.nnn.nnn
  • IPv6 格式:nnnn:nnnn:nnnn:nnnn:nnnn:nnnn:nnnn:nnnn

正式主机名

正式主机名。 不允许使用单字符名称。

如果主机充当 GATEWAY ,请指定 -GATEWAY-GW 作为主机名的一部分。

如果主机是 TAC 且是 DoD 主机,请指定 -TAC 作为主机名的最后一部分。

以因特网 RFC 952 中定义的格式指定主机名,该格式声明名称 (Net , Host , Gateway 或 Domain name) 是从字母 (A-Z) ,数字 (0-9) ,减号 (-) 和句点 (.) 绘制的最多 24 个字符的文本字符串。 仅当句点用于对域样式名称的组件进行定界时,才允许使用句点。 (请参阅 RFC 921 ,域名系统实现调度,以获取背景信息)。 不允许将空白或空格字符作为名称的一部分。 没有区分大写和小写。 第一个字符必须是 alpha 字符。 最后一个字符不能是减号或句点。

RFC 952 已被 RFC 1123 修改,以放宽对第一个字符为数字的限制。

为了实现与因特网的最大互操作性,您应该对主机部分 (不包括域组件) 使用不超过 24 个字符的主机名。

别名

可选。 主机名的别名。

以下是缺省主机文件语法:
ip_address official_name [alias [alias ...]]

此语法功能强大且灵活,但在单个主机名具有多个别名的系统和多宿主主机环境中很难配置。

在这些情况下, hosts 文件可能会变得非常大且不可管理,并且配置容易出错。

LSF hosts 文件的语法支持将主机名范围作为 IP 地址的别名。 这简化了主机名别名规范。

要使用主机名范围作为别名,主机名必须由固定节点组名前缀和节点索引组成,以如下格式指定:
host_name[index_x-index_y, index_m, index_a-index_b]
例如:
atlasD0[0-3,4,5-6, ...]
相当于:
atlasD0[0-6, ...]

节点列表不需要是连续范围 (某些节点可以配置出来)。 节点索引可以是数字或字母 (大写和小写)。

例如,某些系统将内部计算节点映射到单个 LSF 主机名。 主机文件可能包含 64 行,每行指定对应于每个 LSF 主机的 LSF 主机名和 32 个节点名:
...
177.16.1.1 atlasD0 atlas0 atlas1 atlas2 atlas3 atlas4 ... atlas31
177.16.1.2 atlasD1 atlas32 atlas33 atlas34 atlas35 atlas36 ... atlas63
...
在新格式中,您仍将节点映射到 LSF 主机,因此行数保持不变,但格式已简化,因为您只需为节点指定范围,而不能将每个节点单独指定为别名:
...
177.16.1.1 atlasD0 atlas[0-31]
177.16.1.2 atlasD1 atlas[32-63]
...

您可以将 IPv4 或 IPv6 格式用于 IP 地址 (如果在 lsf.conf中定义了参数 LSF_ENABLE_SUPPORT_IPV6 )。

IPv4 示例

192.168.1.1 hostA hostB
192.168.2.2 hostA hostC host-C

在此示例中,hostA具有 2 个 IP 地址和 3 个别名。 别名hostB指定第一个地址和别名hostChost-C指定第二个地址。 LSF 使用官方主机名,hostA,以标识两个 IP 地址都属于同一主机。

IPv6 示例

3ffe:b80:3:1a91::2 hostA hostB 3ffe:b80:3:1a91::3 hostA hostC host-C

在此示例中,hostA具有两个 IP 地址和三个别名。 别名hostB指定第一个地址和别名hostChost-C指定第二个地址。 LSF 使用官方主机名,hostA,以标识两个 IP 地址都属于同一主机。