微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ubuntu – 使用cifs pxebooting Linux Mint(live CD)时,网络无法正常初始化,但与nfs一起使用

我在192.168.26.1上有一个TFTP / DHCP / NFS / SMB服务器(ubuntu服务器12.04 LTS).我使用pxe linux显示一个菜单,其中包含 Windows的启动和安装选项,Ubuntu网络安装程序以及 Linux Mint 17 MATE live CD.让它像这样运行已经是令人讨厌的,我正在失去动力……

对于Linux Mint,我提供了2个netboot选项:NFS和CIFS.我完全使用NFS:用户可以在启动菜单中选择它,不久之后,登陆Linux Mint live CD桌面.但是使用CIFS,网络无法正常初始化.当Linux Mint启动时,网络会挂起120秒.然后,它继续启动到桌面,但网络管理器没有启动(并且没有启动).我怀疑它可能是DHCP服务器没有响应的问题,但是,在DHCP服务器日志中我可以看到DHCP请求和成功响应.

进入Linux Mint桌面后,ifconfig将报告由DHCP分配的IP地址,并对服务器执行ping操作.

我的pxelinux配置是(APPEND之后的所有内容都在一行中,为了便于阅读,我将其拆分):

NFS:

LABEL linuxmint17
    MENU LABEL Linux Mint 17
    KERNEL linux-mint-17/image/casper/vmlinuz
    APPEND 
        root=/dev/nfs boot=casper netboot=nfs
        nfsroot=192.168.26.1:/var/lib/tftpboot/linux-mint-17/image
        initrd=/linux-mint-17/image/casper/initrd.lz

CIFS:

LABEL linuxmint17smb
    MENU LABEL Linux Mint 17 (SMB)
    KERNEL linux-mint-17/image/casper/vmlinuz
    APPEND
        root=/dev/cifs boot=casper netboot=cifs
        nfsroot=//192.168.26.1/tftpshare/linux-mint-17/image
        ip=dhcp
        initrd=/linux-mint-17/image/casper/initrd.lz

请注意,我必须将ip = dhcp选项插入CIFS菜单.如果我不这样做,初始化网络时启动过程会挂起120秒,但它不会继续.如果我添加该行,它仍会挂起,但120秒后它会继续启动.

设置:

客户端和服务器虚拟机仅相互连接(内部网络).网络中根本没有其他机器.

服务器具有/ var / lib / tftpboot /下的所有pxe引导文件. Linux Mint ISO(未修改)安装在/ var / lib / tftpboot / linux-mint-17 / image下. vmlinuz和initrd在/ var / lib / tftpboot / linux-mint-17 / image / casper中. / var / lib / tftpboot /是一个NFS导出.有一个名为tftpshare的samba共享映射到/ var / lib / tftpboot /(只读,允许访问所有人).

smb.conf文件

[tftpshare]
   comment = TFTP Root
   path = /var/lib/tftpboot
   browsable = yes
   guest ok = yes
   read only = no
   create mask = 0644

dhcpd.conf中

authoritative;
subnet 192.168.26.0 netmask 255.255.255.0 {
  range 192.168.26.10 192.168.26.40;
  next-server 192.168.26.1;
  filename "pxelinux.0";
}

在成功启动到实时桌面环境后,客户端计算机的syslog中存在一个奇怪的2分钟差距:

Jun 14 13:13:18 mint kernel: [   23.388873] intel_rapl: domain core energy ctr 0:0 not working,skip
Jun 14 13:13:18 mint kernel: [   23.528409] intel_rapl: domain uncore energy ctr 0:0 not working,skip
Jun 14 13:13:18 mint kernel: [   23.528453] intel_rapl: no valid rapl domains found in package 0
Jun 14 13:13:20 mint ntpdate[1198]: Can't find host ntp.ubuntu.com: Name or service not kNown (-2)
Jun 14 13:13:20 mint ntpdate[1198]: no servers can be used,exiting

(没有任何条目的2分钟间隙,大致在120秒启动延迟发生时)

Jun 14 13:15:19 mint dbus[864]: [system] Activating service name='org.freedesktop.ConsoleKit' (using servicehelper)
Jun 14 13:15:19 mint dbus[864]: [system] Activating service name='org.freedesktop.PolicyKit1' (using servicehelper)
Jun 14 13:15:19 mint acpid: starting up with netlink and the input layer
Jun 14 13:15:19 mint acpid: 9 rules loaded
Jun 14 13:15:19 mint acpid: waiting for events: event logging is off

这是在使用CIFS时两种情况都会发生的情况:

在服务器上:

...
Jun 14 13:12:52 ubuntu-netboot in.tftpd[2722]: RRQ from 192.168.26.13 filename /linux-mint-17/image/casper/initrd.lz
Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPdisCOVER from 08:00:27:1c:c5:43 via eth1
Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPOFFER on 192.168.26.14 to 08:00:27:1c:c5:43 via eth1
Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPREQUEST for 192.168.26.14 (192.168.26.1) from 08:00:27:1c:c5:43 via eth1
Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPACK on 192.168.26.14 to 08:00:27:1c:c5:43 via eth1

根据ifconfig,在成功启动到桌面的情况下分配给客户端的IP确实是…… 14.

这是没有ip = dhcp时发生的事情:

这是在桌面显示之前的ip = dhcp所发生的情况:

我很感激任何想法.如果任何其他日志(哪些?)会有所帮助,我可以提供它们.

这个问题已经解决Serva(我与Serva开发有关)

完整的内核和追加行以及PXE启动当前Ubuntu / Mint带有CIFS的实时版本所需的附加initrd.gz可以在here找到

基本上问题是Casper错误(AFAIK从未报告/修复过),在CIFS netmount的情况下,忘记导出内核参数,该参数随后会影响网络配置脚本,最终会重新创建延迟和错误文件/ etc / network /接口.

如果我们看到Serva的Ubuntu / Mint“追加”线

append   = showmounts toram root=/dev/cifs initrd=NWA_PXE/$HEAD_DIR$/casper/initrd.lz,NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.GZ boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$NFSOPTS=-ouser=serva,pass=avres,ro ip=dhcp ro

我们发现嵌入式“initrd”变量由2个“连续加载”的initrd文件(initrd.lz和INITRD_N11.GZ)组成.

initrd=NWA_PXE/$HEAD_DIR$/casper/initrd.lz,NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.GZ

一个(initrd.lz)是Ubuntu / Mint,而第二个(INITRD_N11.GZ)是一个小的8K(最初由Serva开发)自定义initrd,包括修补组件.这种方法避免了重新创建大原始initrd.lz(20 MB)的需要. INITRD_N11.GZ可以从Serva的网站免费下载(请不要在这里发布直接链接)

如果我们继续分析“追加”行,我们看到需要添加CIFS挂载选项(OP忘记此步骤),在这种情况下通过某种误导性变量“NFSOPTS”进行

NFSOPTS=-ouser=serva,ro

在此示例中,SMB共享具有user = serva,密码= avres,并且它将被安装为“只读”,当然必须相应地编辑用户/传递参数.

TFTP路径和CIFS定位器是Serva存储库结构所需的;当PXE服务器不是Serva时,必须相应地编辑这些参数.

如果你们以这种方式PXE启动,那么来自CIFS共享的Ubuntu / Mint Live版本将没有网络相关的延迟,并且Internet / Networking将在启动后立即工作

编辑:

Bug已经报告到Ubuntu Launchpad并确认

原文地址:https://www.jb51.cc/ubuntu/348849.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐