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


9

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

Linux Mintには、NFSとCIFSの2つのネットブートオプションを用意しました。私はそれをNFSで完全に動作させました:ユーザーはブートメニューでそれを選択でき、しばらくするとLinux MintライブCDデスクトップに移動します。しかし、CIFSでは、ネットワーキングが適切に初期化されません。Linux Mintが起動すると、ネットワークは120秒間ハングします。その後、デスクトップから起動し続けますが、ネット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

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

セットアップ:

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

サーバーのすべてのpxeブートファイルがにあります/var/lib/tftpboot/。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

(約120秒の起動遅延が発生した時点で、エントリのない2分のギャップ)

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

nodhcp1 nodhcp2

これはip=dhcp、デスクトップが表示される直前ので何が起こるかです。

成功

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


これが質問の書き方です:)
warren

サーバーでtcpdumpを実行して、クライアントから何かを取得したかどうかを確認しましたか?
lacasitos 2014年

1
キャスパーブートスクリプトをご覧ください。問題があると思います。initramfsを再生成しましたか?私はあなたがBOOT =キャスパーセットを持っていると思いますか?
Matt

1
マット、OPにboot = casperが設定されていることがはっきりとわかります。何のためにinitramfsを再生成しますか?
Pat

1
@warren試してみたところ、うまくいきました。@Sneetsher eth0インターネットアクセスが必要な場合は、ゲートウェイに接続します。
ダイヤラ

回答:


3

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

完全なカーネルと追加行に加えて、CIFSを使用して現在のUbuntu / MintライブバージョンをPXEブートするために必要な追加のinitrd.gzは、こちらから入手できます。

基本的に問題はキャスパーのバグ(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つ目(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ブートする場合、ネットワーク関連の遅延は発生せず、インターネット/ネットワークはブート後すぐに機能します

編集:

バグはすでにUbuntu Launchpadに報告され、確認されています


追加INITRD_N11.GZあなたがそれをやったmentiodedとしてセルバのサイトから。NFSOPTS私のsambaサーバーは認証を使用しないため、何も含めていません。
ダイヤラ2014年

良い; コマンドラインで特定のNFSOPSを使用せずにCIFSを使用して起動する場合、CasperはデフォルトでCIFSOPTS = "-ouser = root、password ="に設定しますが、後で副作用が生じる可能性がある「ro」を指定していません。あなたの場合、私はie NFSOPTS = "-ouser = root、password =、ro"を指定します
Pat

1
変更されたinitrdイメージはServaの開発チームからのものですか?または、誰かが実際にこのバグを実際に修復したことがありますか?
ダイヤラ2014年

INITRD_N11.GZはServa開発です。編集した回答を参照すると、私が実行したバグレポートへのリンクが見つかります。Ubuntu Launchpadアカウントをお持ちの場合は、バグを「確認」できます。これは、今後のリリースでこれを修正するのに役立ちます。
Pat
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.