验证 Jumpstart 服务器上的设置

  1. 验证 Jumpstart 服务器上的 hosts 和 ethers 文件
    确保 Jumpstart 服务器上的 /etc/hosts 和 /etc/ethers 文件包含所有 Jumpstart 客户端和服务器本身的条目。
jumpstart # grep onitroad /etc/ethers /etc/hosts
/etc/ethers:0:c:29:f6:ef:7b    onitroad
/etc/hosts:192.168.1.20	   onitroad

还要确保 /etc/ethers 文件中没有重复的 MAC 地址条目

jumpstart # grep 0:c:29:f6:ef:7b /etc/ethers
0:c:29:f6:ef:7b    onitroad

如果我们正在使用任何名称服务,例如 DNS、NIS、LDAP 使用 getent 命令来检查正确的主机和 ethers 条目。

jumpstart # getent hosts onitroad
192.168.1.228	onitroad
jumpstart # getent ethers onitroad
onitroad    01:02:03:04:05:06
  1. 检查 /etc/netmasks 文件
    确保 Jumpstart 服务器和客户端使用的子网的网络掩码正确。
jumpstart # cat /etc/netmasks
192.168.1.0     255.255.255.0

3.检查/tftpboot目录
验证 /tftpboot 目录是否具有链接 C0A80114,它是客户端的 IP 地址(十六进制)。

jumpstart # ls -l /tftpboot
total 522
lrwxrwxrwx 1 root root 27 Jan 02 12:15 C0A80114 -> inetboot.SUN4U.Solaris_10-1
lrwxrwxrwx 1 root root 27 Jan 02 12:15 C0A80114.SUN4V -> inetboot.SUN4U.Solaris_10-1
-rwxr-xr-x 1 root root 220840 Jan 02 12:15 inetboot.SUN4U.Solaris_10-1
-rw-r--r-- 1 root root 322 Jan 02 12:15 rm.192.168.1.20
lrwxrwxrwx 1 root root 1 Jan 02 12:15 tftpboot -> .
  1. 验证 /etc/bootparams 文件
    确保 Jumpstart 客户端条目存在于 /etc/bootparams 文件中并带有正确的参数。
jumpstart # cat /etc/bootparams
onitroad root=jumpstart:/export/install/Solaris_10/Tools/Boot install=jumpstart:/export/install boottype=:in install_config=jumpstart:/export/install/Tools/Boot rootopts=:rsize=8192
  1. 检查 NFS 共享
    检查 /etc/dfs/dfstab 中的 NFS 共享条目
jumpstart # cat /etc/dfs/dfstab
share -F nfs -o ro,anon=0 /export/install
share -F nfs -o ro,anon=0 /export/config
jumpstart # share
- /export/install anon=0,sec=sys,ro "install server directory" 
- /export/config ro,anon=0 "Config Directory"

验证其他配置设置

除了上述检查外,请确保我们还执行以下检查以确保正确的 Jumpstart 安装。

  1. 确保 Jumpstart 服务器和客户端之间的连通性
    测试 Jumpstart 服务器和客户端之间的连接。
    在客户端可以使用 watch-net 命令查看哪个接口有链接。
ok> watch-net-all

我们可以将笔记本电脑连接到电缆而不是 Jumpstart 客户端,配置 IP 地址并从 Jumpstart 服务器 ping 客户端 IP 地址以确保它们之间的连接正常。

  1. 确保客户端连接的交换机端口设置为AUTO NEGOTIATE

使用以下命令检查客户端连接的交换机端口是否设置为 AUTO NEGOTIATE

for ge   # ndd /dev/ge lp_1000autoneg_cap
# ndd /dev/hme lp_autoneg_cap     (for hme)
# ndd /dev/qfe lp_autoneg_cap     (for qfe)
# ndd /dev/eri lp_autoneg_cap     (for eri)
# kstat ce:::lp_cap_autoneg       (for ce)
# ndd /dev/dmfe0 lp_autoneg_cap   (for dmfe)
# kstat -c net :::lp_cap_autoneg  (for e1000g,nge,igb and others)
  1. 验证 Jumpstart 服务器和客户端是否连接到相同的 VLAN 和子网

确保 Jumpstart 服务器和客户端位于同一子网以及同一 VLAN 上。
Jupstart 不适用于 WAN 或者不同的子网和 VLAN。

验证 Jumpstart 客户端上的设置

了解哪个界面将用于 Jumpstart 安装 (SPARC)
当我们进行 Jumpstart 安装时,客户端向 Jumpstart 引导服务器发出 RARP 请求,以获取与其网络接口的 MAC 地址之一相对应的 IP 地址。
因此,了解在 Jumpstart 安装中使用的是哪个界面非常重要。

要检查系统上所有可用的网络接口:

ok> show-nets
a) /pci@0/pci@0/pci@1/pci@0/pci@3/network@0,1
b) /pci@0/pci@0/pci@1/pci@0/pci@3/network@0
c) /pci@0/pci@0/pci@1/pci@0/pci@2/network@0,1
d) /pci@0/pci@0/pci@1/pci@0/pci@2/network@0
q) NO SELECTION
Enter Selection, q to quit: q

要检查上述哪些网络接口连接到网络:

ok> watch-net-all
/pci@0/pci@0/pci@1/pci@0/pci@3/network@0,1
Timed out waiting for Autonegotation to complete
Check cable and try again
Link Down
/pci@0/pci@0/pci@1/pci@0/pci@3/network@0
Timed out waiting for Autonegotation to complete
Check cable and try again
Link Down
/pci@0/pci@0/pci@1/pci@0/pci@2/network@0,1
Timed out waiting for Autonegotation to complete
Check cable and try again
Link Down
/pci@0/pci@0/pci@1/pci@0/pci@2/network@0
1000 Mbps full duplex Link up
Looking for Ethernet Packets.
'.' is a Good Packet. 'X' is a Bad Packet.
Type any key to stop.
....................................................

从上面的输出接口 /pci@0/pci@0/pci@1/pci@0/pci@2/network@0 连接到网络。
所以我们可以继续使用这个界面进行快速启动安装。
要检查此接口使用的 MAC 地址:

ok> cd /pci@0/pci@0/pci@1/pci@0/pci@2/network@0
ok> .properties
local-mac-address 00 14 4f 46 52 30
mac-addresses 00 14 4f 46 52 30

确保将网络别名设置为此接口:

ok> nvalias net /pci@0/pci@0/pci@1/pci@0/pci@2/network@0

或者,如果我们不想设置别名,请使用完整路径进行 Jumpstart 安装

ok> boot /pci@0/pci@0/pci@1/pci@0/pci@2/network@0 -v - install
欢迎来到之路教程(on itroad-com)

等待 ARP/RARP 数据包超时

这是 Jumpstart 安装中最常见的问题之一。
Jumpstart 服务器使用 RARP 协议使用 /etc/ethers 文件以正确的 IP 地址响应客户端请求。
很多时候,当我们在 /etc/ethers 文件中手动添加 MAC 地址时,我们需要重新启动 in.rarpd 守护进程。

为 RARP 请求和响应留出足够的时间
E25K 等硬件模型可能需要更长的时间来发送 RARP 请求(大约 60 秒)。
如果 5 分钟没有响应,则可以确定存在问题。

2.检查.rarpd守护进程在jumpstart引导服务器上运行
检查 in.rarpd 守护进程是否在引导服务器上运行。
该守护进程负责使用其 IP 地址响应 Jumpstart 客户端。

# ps -ef | grep rarp
root 546 10 Nov 02 12:20 /usr/sbin/in.rarpd -a

在 Jumpstart 服务器上手动启动 in.rarpd:

  1. Solaris 10:
# svcadm enable svc:/network/rarp:default
  1. Solaris 9 及更早版本:
# /usr/sbin/in.rarpd -a

在 Jumpstart 服务器上手动重新启动 in.rarpd 以确保看到新的名称服务条目:

  1. Solaris 10:
# svcadm restart svc:/network/rarp:default
  1. Solaris 9 及更早版本:
# pkill in.rarpd
# /usr/sbin/in.rarpd -a
  1. 验证客户端 RARP 请求发送的 MAC 地址是否正确
    确保 jumpstart 客户端发送的 RARP 请求包含 /etc/ethers.conf 文件中提到的相同 MAC 地址。
    为此,在应接收 RARP 请求的接口上运行 snoop 命令。
jumpstart # vi /etc/ethers
0:c:29:f6:ef:7b	   onitroad

在 Jumpstart 客户端上运行 boot net install 后,在 Jumpstart 服务器上运行 snoop 命令:

jumpstart # snoop -d ce3 0:c:29:f6:ef:7b
Using device /dev/ce (promiscuous mode)
OLD-BROADCAST -> (broadcast)  RARP C Who is 0:c:29:f6:ef:7b
    jumpstart -> onitroad      RARP R 0:c:29:f6:ef:7b is 192.168.1.20, onitroad

如 snoop 命令输出所示,jumpstart 服务器在接口 ce3 上接收 RARP 请求,并使用 IP 地址 192.168.1.20 响应客户端。

Solaris jumpstart 安装故障排除

对jumpstart问题进行故障排除可能很麻烦。
以下是检查和提示列表,可开始对最常见的启动问题进行故障排除。

日期:2020-09-17 00:15:23 来源:oir作者:oir