1
使用IPv6的无盘启动
在我们的工作中,我们正在使用大约80台运行Ubuntu的无盘计算机。我们想过渡到IPv6,所以现在我试图使我们的无盘系统与IPV6一起使用。内核和initramfs的传输仍然可以通过IPv4连接进行,但是一旦机器完全启动,我希望所有网络连接都通过IPv6。 这意味着必须通过IPv6挂载nfsroot。我对此的研究表明,initramfs-tools(1.18.5-1ubuntu4.1)不支持IPv6。这意味着在早期引导时用于接口配置的ipconfig或nfs根的安装过程都不支持IPv6。 为了避免这种情况,我在initramfs(/etc/initramfs-tools/hooks/ipv6)中添加了两个二进制文件: #!/bin/bash . /usr/share/initramfs-tools/hook-functions copy_exec /sbin/dhclient /sbin copy_exec /sbin/mount.nfs4 /sbin 我使用这些来(a)在早期启动时请求DHCPv6 /sbin/dhclient -6 -1 -cf /tmp/dhclient.conf -pf /tmp/dhclient6.eth0.pid -lf /tmp/dhclient6.eth0.leases eth0 (b)通过执行以下操作,使用我获得的地址来配置接口: ipv6=$(cat /tmp/dhclient6.eth0.leases | grep iaaddr | egrep -o "([a-f0-9]{1,4}:){3}([a-f0-9]{0,4}:){0,4}[a-f0-9]{1,4}") ip -6 addr add $ipv6/112 dev eth0 通常,在以下位置使用以下命令挂载nfs根目录/usr/share/initramfs-tools/scripts/nfs: nfsmount -o nolock ${roflag} ${NFSOPTS} ${NFSROOT} ${rootmnt} 但这似乎不接受IPv6地址。 所以我将其更改为: …