验证 Jumpstart 服务器上的设置
- 验证 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
- 检查 /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 -> .
- 验证 /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
- 检查 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 安装。
- 确保 Jumpstart 服务器和客户端之间的连通性
测试 Jumpstart 服务器和客户端之间的连接。
在客户端可以使用 watch-net 命令查看哪个接口有链接。
ok> watch-net-all
我们可以将笔记本电脑连接到电缆而不是 Jumpstart 客户端,配置 IP 地址并从 Jumpstart 服务器 ping 客户端 IP 地址以确保它们之间的连接正常。
- 确保客户端连接的交换机端口设置为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)
- 验证 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
等待 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:
- Solaris 10:
# svcadm enable svc:/network/rarp:default
- Solaris 9 及更早版本:
# /usr/sbin/in.rarpd -a
在 Jumpstart 服务器上手动重新启动 in.rarpd 以确保看到新的名称服务条目:
- Solaris 10:
# svcadm restart svc:/network/rarp:default
- Solaris 9 及更早版本:
# pkill in.rarpd # /usr/sbin/in.rarpd -a
- 验证客户端 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 响应客户端。
对jumpstart问题进行故障排除可能很麻烦。
以下是检查和提示列表,可开始对最常见的启动问题进行故障排除。