步骤 2. 配置 DHCP/BOOTP 和 TFTP 服务器
这个解决方案使用标准的 Linux DHCP 服务器,该服务器是所有主要的 Linux 发行版的一部分。在这一步骤中,需要配置 DHCP 服务器以为新的 LPAR 提供网络引导信息。初始代码通过 Trivial File Transfer Protocol(TFTP)服务器装载到 LPAR。要设置网络引导,必须将 DHCP 服务器和 TFTP 服务器装载到网络中的服务器。
这个解决方案使用的 DHCP 服务器并没有配置为动态地向网络中的系统提供 TCP/IP 地址,但它能够在同一个网络上和担任这一传统角色的 DHCP 服务器共存。即使 DHCP 服务器所在的网络与引导系统的网络不同,也可以使用这种类型的配置。例如,它可以通过德克萨斯州的服务器动态地引导在纽约的系统。
要使 lpar_netboot 命令能够按照这个解决方案的 步骤 3 那样工作,则需要为每个安装的 LPAR 配置 DHCP 服务器。这个方法的优点是:自动安装 LPAR 所需的所有配置信息都包含在 dhcpd.conf 文件中。因此,在前面步骤中更改的 AutoYaST 文件不需要包含任何用于定义 LPAR 网络配置的硬编码信息。
清单 2 包含了一个示例 dhcp.conf 文件。使用这个示例作为一个模型,并为每个需要配置的 LPAR 添加额外的 host 定义。本文 下载 小节的压缩文件包含一个名为 addsystem 的脚本,您可以使用它来自动化 dhcpd.conf 文件的编辑过程。
每次更改 dhcpd.conf 文件时,必须重启 DHCP 服务器使更改生效。
清单 2. 示例 dhcpd.conf 文件
ddns-update-style ad-hoc;
allow bootp;
subnet 0.0.0.0 netmask 0.0.0.0 {
host rcc-hny-poc-003 {
option host-name "myserver.cloud9.ibm.com";
fixed-address 192.168.0.203;
hardware ethernet 16:E9:10:94:87:03;
filename "inst64";
}
next-server 192.168.0.201;
option routers 192.168.0.201;
}
下面详细说明示例 dhcp.conf 文件中的选项:
●subnet 将该服务器配置为响应其他服务器的请求,而不考虑这些服务器在网络中的位置。因为没有将这个 DHCP 服务器配置为动态寻址,所以它将响应来自 LPAR 的引导请求,并且不影响在网络上进行正常的 DHCP 操作。
●host 部分定义每个需要配置的 LPAR。配置文件中可以拥有多个 host 部分。这个示例的 host 部分仅包含安装 LPAR 所需的最少选项(并且以后将 LPAR 作为 DHCP 客户机引导时还可以使用这个选项)。
host-name 是 DNS 分配给客户机的 IP 地址的名称。如果客户机没有 DNS 条目,这个选项应该指定需要包含在 LPAR 的本地主机文件中的名称。
fixed-address 是分配给 LPAR 的 IP 地址。这个指定的地址用于代替 DHCP 服务器的默认地址池。这样做的优点是在每次引导操作系统时为 LPAR 保留这一 IP 地址。
hardware ethernet 指定 LPAR 的 MAC 地址。使用这个选项在安装的 BOOTP 阶段将 LPAR 和 host 条目关联起来。
●filename 指定响应 BOOTP 请求时需要装载的 Linux 内核。必须能够通过由 next-server 选项指定的服务器上的 TFTP 访问这个文件。或者,如果忽略 next-server,则必须能够通过 DHCP 服务器上的 TFTP 访问这个文件。
●next-server 指定服务器的地址。在这个服务器上,通过 TFTP 可以访问在 filename 选项中定义的 Linux 内核。如果 TFTP 服务器与 DHCP 服务器都在同一个服务器中,则可以跳过这个选项。
option routers 指定 TFTP 服务器的地址,前提是将路由器配置为在网络中不将 TFTP 服务器请求转发到 TFTP 服务器。如果 TFTP 服务器和 DHCP 服务器在同一个机器上,则可以跳过这个选项。
可以使用 SLES 发行版中的 atftpd 包配置 TFTP 服务器。TFTP 配置提供一个目录,在这里可以使用 TFTP 下载文件。下载目录通常为 /tftpboot。在 dhcpd.conf 文件中的每个 host 部分的 filename 参数上指定的文件必须位于该下载目录中。
例如,对于网络安装 SUSE,该文件为 inst64 文件,可从 SUSE 安装 CD 的 /suseboot 目录获得。您需要将该文件放到 /tftpboot 目录,确保所有人都有读取它的权限。