web-dev-qa-db-ja.com

Linuxミント(ライブCD)をcifsを使用してpxebootするとネットワークが正しく初期化されませんが、nfsで動作します

192.168.26.1にTFTP/DHCP/NFS/SMBサーバー(Ubuntuサーバー12.04 LTS)があります。私はpxelinuxを使用して、Windows、Ubuntuネットワークインストーラー、およびLinux Mint 17の起動およびインストールオプションを含むメニューを表示しますMATEライブCD。これをこのように実行することはすでに厄介で、私はSteamが不足しています...

Linux Mintには、NFSとCIFSの2つのネットブートオプションを用意しました。私はそれをNFSで完全に機能させました:ユーザーはブートメニューでそれを選択でき、しばらくしてからLinux MintライブCDデスクトップに移動します。しかし、CIFSでは、ネットワーキングが適切に初期化されません。 Linux Mintが起動すると、ネットワークは120秒間ハングします。その後、デスクトップから起動し続けますが、net network-managerが起動していません(起動していません)。 DHCPサーバーが応答しないことが問題であると考えましたが、DHCPサーバーのログでDHCP要求と正常な応答を確認できます。

Linux Mintデスクトップに入ると、ifconfigはDHCPによって割り当てられたIPアドレスを報告し、サーバーへのpingが機能します。

私のpxelinux構成は(APPENDの後のすべてが1行にあります。このサイトで読みやすくするために分割しています):

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

CIFSメニューにip=dhcpオプションを挿入する必要があることに注意してください。そうしないと、ネットワークの初期化時に起動プロセスが120秒間ハングしますが、その後は続行されません。その行を追加してもハングしますが、120秒後も起動し続けます。

セットアップ:

クライアントとサーバーの仮想マシンは、相互(内部ネットワーク)にのみ接続されます。ネットワークには他のマシンはまったくありません。

サーバーの/var/lib/tftpboot/の下にすべてのpxeブートファイルがあります。 Linux Mint ISO(未変更)は/var/lib/tftpboot/linux-mint-17/imageの下にマウントされています。 vmlinuzinitrd/var/lib/tftpboot/linux-mint-17/image/casperにあります。 /var/lib/tftpboot/はNFSエクスポートです。 /var/lib/tftpboot/にマップされるtftpshareというsamba共有があります(読み取り専用、全員へのアクセスを許可)。

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を使用する場合に両方のケースで何が起こるかです。

Hangs

サーバー上:

...
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

nodhcp1nodhcp2

これは、デスクトップが表示される直前のip=dhcpで発生します。

success

どんなアイデアでもありがたいです。他のログ(どれですか?)が役立つ場合は、それらを提供できます。

9
dialer

この問題は Serva によって解決されました(私はServa開発に関連しています)

完全なカーネルと追加行、およびCIFSを使用した現在のUbuntu/MintライブバージョンをPXEブートするために必要な追加のinitrd.gzは、次の場所にあります here

基本的に、問題はキャスパーのバグ(AFAIKはこれまでに報告/修正されていない)であり、CIFSネットマウントの場合、カーネルパラメーターのエクスポートを忘れ、後でネットワーク構成スクリプトに影響を与え、ファイル/ etc/networkで遅延とエラーが発生して再作成される/ interfaces。

ServaのUbuntu/Mintの「append」行が表示された場合

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 

最初の1つ(initrd.lz)はUbuntu/Mintに付属するもので、2番目の1つ(INITRD_N11.GZ)はパッチされたコンポーネントを含む小さな8K(元々はServaによって開発された)カスタムinitrdです。このアプローチにより、元の大きなinitrd.lz(20 MB)を再作成する必要がなくなります。 INITRD_N11.GZはServaのサイトから自由にダウンロードできます(ここに直接リンクを投稿しないでください)

「追加」行の分析を続けると、この場合、何らかの誤解を招く変数「NFSOPTS」によって実行されるCIFSマウントオプションを追加する必要があることがわかります(OPはこの手順を忘れます)。

NFSOPTS=-ouser=serva,pass=avres,ro

この例では、SMB共有にはuser = servaとpassword = avresがあり、「読み取り専用」としてマウントされます。当然のことながら、ユーザー/パスのパラメーターを編集する必要があります。

TFTPパスとCIFSロケーターは、Servaリポジトリー構造に必要なものです。 PXEサーバーがServaでない場合は、これらのパラメーターを適宜編集する必要があります。

CIPX共有からUbuntu/Mint Liveバージョンをこの方法でPXEブートすると、ネットワーク関連の遅延は発生せず、ブート直後にインターネット/ネットワークが機能します

編集:

バグはすでに buntu Launchpad に報告され、確認されました

3
Pat