ระบบเครือข่ายไม่เริ่มต้นอย่างถูกต้องเมื่อ pxebooting Linux Mint (Live CD) ใช้ cifs แต่ทำงานได้กับ nfs


9

ฉันมีเซิร์ฟเวอร์ TFTP / DHCP / NFS / SMB (เซิร์ฟเวอร์ Ubuntu 12.04 LTS) ใน 192.168.26.1 ฉันใช้ pxelinux เพื่อแสดงเมนูที่มีตัวเลือกการเริ่มต้นและการติดตั้งสำหรับ Windows เครื่องมือติดตั้งเครือข่าย Ubuntu และซีดีสด Linux Mint 17 MATE การทำให้มันทำงานแบบนี้มันน่ารังเกียจอยู่แล้วและฉันก็หมดแรง ...

สำหรับ Linux Mint ฉันมีตัวเลือก netboot 2 ตัวเลือก: NFS และ CIFS ฉันทำให้มันทำงานได้อย่างสมบูรณ์กับ NFS: ผู้ใช้สามารถเลือกได้ในเมนูบูตและอีกไม่นานหลังจากนั้นที่ดินบนเดสก์ท็อปซีดี Linux Mint live แต่ด้วย CIFS ระบบเครือข่ายไม่เริ่มต้นอย่างถูกต้อง เมื่อ Linux Mint เริ่มทำงานเครือข่ายจะหยุดทำงานเป็นเวลา 120 วินาที จากนั้นจะยังคงบูตไปยังเดสก์ท็อป แต่network-managerไม่ได้เริ่มต้นเน็ต ฉันสงสัยว่าอาจเป็นปัญหากับเซิร์ฟเวอร์ DHCP ที่ไม่ตอบสนองอย่างไรก็ตามในบันทึกของเซิร์ฟเวอร์ DHCP ฉันสามารถดูคำขอ DHCP และการตอบสนองที่สำเร็จ

ครั้งหนึ่งในเดสก์ท็อป Linux Mint ifconfigรายงานที่อยู่ IP ที่กำหนดโดย DHCP และส่ง 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 วินาทีมันก็ยังสามารถบู๊ตได้

การตั้งค่า:

เครื่องเสมือนของไคลเอ็นต์และเซิร์ฟเวอร์เชื่อมต่อกัน (เครือข่ายภายใน) เท่านั้น ไม่มีเครื่องอื่นในเครือข่ายเลย

เซิร์ฟเวอร์มีไฟล์ทั้งหมดที่บูต PXE /var/lib/tftpboot/ภายใต้ ลินุกซ์มิ้นท์ ISO (แปร) /var/lib/tftpboot/linux-mint-17/imageจะติดตั้งอยู่ภายใต้ vmlinuzและอยู่ในinitrd เป็นการส่งออก NFS มีการแบ่งปันแซมบ้าที่เรียกว่าแผนที่ไป(อ่านอย่างเดียวช่วยให้เข้าถึงทุกคน)/var/lib/tftpboot/linux-mint-17/image/casper/var/lib/tftpboot/tftpshare/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เครื่องไคลเอนต์หลังจากการบู๊ตสำเร็จไปยังเดสก์ท็อปจริง:

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

IP ที่ได้รับมอบหมายให้ลูกค้าในกรณีของการบูตที่ประสบความสำเร็จไปยังเดสก์ทอปตามที่เป็นจริงifconfig...14

นี่คือสิ่งที่เกิดขึ้นโดยไม่ต้องip=dhcp :

nodhcp1 nodhcp2

นี่คือสิ่งที่เกิดขึ้นกับip=dhcpเดสก์ท็อปก่อน:

ความสำเร็จ

ฉันขอบคุณสำหรับความคิดใด ๆ หากบันทึกอื่น ๆ (อันไหน) จะช่วยฉันฉันสามารถให้พวกเขา


นี้เป็นวิธีที่คำถามที่ควรจะเขียน :)
วอร์เรน

คุณลอง tcpdump บนเซิร์ฟเวอร์เพื่อดูว่าคุณได้รับอะไรจากลูกค้าหรือไม่
lacasitos

1
ลองดูที่สคริปต์บูตของแคสเปอร์ ฉันคิดว่าปัญหาอยู่ที่นั่น คุณสร้าง initramfs ใหม่หรือไม่ ฉันคิดว่าคุณมี BOOT = ชุดแคสเปอร์?
Matt

1
คุณเห็นได้อย่างชัดเจนว่า OP มี boot = casper set สร้าง initramfs ใหม่เพื่ออะไร
Pat

1
@warren ฉันเพิ่งลองและใช้งานได้ @Sneetsher ฉันเชื่อมต่อeth0กับเกตเวย์ของฉันหากฉันต้องการเชื่อมต่ออินเทอร์เน็ต
หมุนหมายเลข

คำตอบ:


3

ปัญหานี้ได้รับการแก้ไขโดยServa (ฉันเกี่ยวข้องกับการพัฒนาของ Serva)

เคอร์เนลที่สมบูรณ์และสายผนวกรวมกับ initrd.gz เพิ่มเติมที่จำเป็นสำหรับการบูต PXE ปัจจุบัน Ubuntu / Mint live version พร้อม CIFS สามารถดูได้ที่นี่

โดยทั่วไปปัญหาคือข้อผิดพลาดของแคสเปอร์ (AFAIK ไม่เคยรายงาน / แก้ไขมาก่อน) ว่าในกรณีของ CIFS netmount ที่ลืมส่งออกพารามิเตอร์เคอร์เนลที่มีผลต่อสคริปต์กำหนดค่าเครือข่ายที่จบลงด้วยการสร้างความล่าช้าและข้อผิดพลาด / อินเตอร์เฟซ

หากเราเห็นบรรทัด "ผนวก" ของ 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" แบบฝังทำจากไฟล์ "initrd ที่โหลดอย่างต่อเนื่อง" 2 ไฟล์ (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.lz ดั้งเดิมขนาดใหญ่ (20 MB) INITRD_N11.GZ สามารถดาวน์โหลดได้อย่างอิสระจากเว็บไซต์ของ Serva (โปรดอย่าโพสต์ลิงก์โดยตรงที่นี่)

หากเราทำการวิเคราะห์บรรทัด "ผนวก" ต่อไปเราจะเห็นความจำเป็นในการเพิ่มตัวเลือกการติดตั้ง CIFS (OP ลืมรหัสผ่านขั้นตอนนี้) ที่ดำเนินการในกรณีนี้โดยตัวแปร NFSOPTS ที่ทำให้เข้าใจผิด

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

ในตัวอย่างนี้การแชร์ SMB มี user = serva พร้อมรหัสผ่าน = avres และจะถูกเมาท์เป็น "อ่านอย่างเดียว" ต้องปิดพารามิเตอร์ผู้ใช้ / รหัสผ่านของหลักสูตร

พา ธ TFTP และตัวระบุตำแหน่ง CIFS เป็นสิ่งที่ต้องการโดยโครงสร้างที่เก็บ Serva เมื่อเซิร์ฟเวอร์ PXE ไม่ใช่ Serva พารามิเตอร์เหล่านั้นจะต้องแก้ไขให้ถูกต้อง

หากคุณบูต PXE ด้วยวิธีนี้เวอร์ชัน Ubuntu / Mint Live จากการแบ่งปัน CIFS จะไม่มีความล่าช้าเกี่ยวกับเครือข่ายและอินเทอร์เน็ต / ระบบเครือข่ายจะทำงานทันทีหลังจากบูต

แก้ไข:

ข้อผิดพลาดได้รายงานไปยังUbuntu Launchpadและยืนยันแล้ว


ต่อท้ายINITRD_N11.GZจากเว็บไซต์ของ Serva ตามที่คุณระบุไว้ ฉันไม่ได้รวมNFSOPTSเพราะเซิร์ฟเวอร์แซมบ้าของฉันไม่ได้ใช้การตรวจสอบ
หมุนหมายเลข

ดี; เพียงพูดถึงเมื่อคุณบูตโดยใช้ CIFS โดยไม่มี NFSOPS เฉพาะในบรรทัดคำสั่ง Casper จะใช้ค่าเริ่มต้นเป็น CIFSOPTS = "- ouser = root, password =" แต่ไม่ได้ระบุ "ro" ที่อาจมีผลข้างเคียงบางอย่างในภายหลัง ในกรณีของคุณฉันจะระบุเช่น NFSOPTS = "- ouser = root, รหัสผ่าน =, ro"
Pat

1
ภาพเริ่มต้นที่ดัดแปลงมาจากทีมพัฒนาของ Serva หรือไม่ หรือมีคนอื่นซ่อมข้อผิดพลาดนี้มาก่อนหรือไม่
หมุนหมายเลข

INITRD_N11.GZ เป็นการพัฒนาของ Serva ดูคำตอบที่แก้ไขแล้วคุณจะพบลิงค์ไปยังรายงานบั๊กที่ฉันได้ทำไป หากคุณมีบัญชี Ubuntu Launchpad คุณสามารถ "ยืนยัน" ข้อผิดพลาด; ที่จะช่วยแก้ไขปัญหานี้ในรุ่นอนาคต
Pat
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.