Score:0

จะจัดการเซิร์ฟเวอร์ Ubuntu หลายเครื่องด้วยการบูต UEFI PXE ได้อย่างไร

ธง sa

จากพื้นหลังการบู๊ตแบบดั้งเดิม ฉันเคยสามารถจัดเตรียมการกำหนดค่าการเริ่ม/การบูตเฉพาะเซิร์ฟเวอร์ตามที่อยู่ MAC โดยการสร้าง /pxelinux.cfg/01-MAC-ที่อยู่ ไฟล์. ฉันกำลังพยายามทำสิ่งที่คล้ายกันกับการบูต UEFI และไม่สามารถหาวิธีทำให้เซิร์ฟเวอร์ใช้การกำหนดค่าเฉพาะได้ (เช่น ISO เฉพาะหรือไฟล์ข้อมูลผู้ใช้ตามที่ระบุใน grub.cfg).

ฉันได้ตั้งค่าเซิร์ฟเวอร์ PXE/TFTP/Apache แล้ว โดยส่วนใหญ่ทำตามคำแนะนำในโพสต์ที่ยอดเยี่ยมนี้: https://askubuntu.com/a/1235724/1094816.

ทุกอย่างทำงานได้ดีและระบบก็รับ grub.cfg ไฟล์ตามที่คาดไว้ อย่างไรก็ตาม เมื่อฉันใช้ไฟล์ grub เฉพาะระบบ (เช่น /tfpt/grub/grub.cfg-01-ec-eb-b8-92-44-70) จะถูกละเว้น แม้ว่าสิ่งนี้จะอยู่ใน ด้วงเอกสารเมื่อดูเอกสารหลายฉบับที่ฉันเคยเห็น ฉันสงสัยว่ามันเป็นตัวเลือกเฉพาะของ Fedora และอนุพันธ์ตาม grubx64.efi ที่บรรจุมาด้วยหรือไม่ และถ้าเป็นเช่นนั้น อะไรคือวิธีการทำสิ่งนี้ให้สำเร็จด้วย Ubuntu+UEFI?

การตั้งค่าปัจจุบันของฉัน:

ฉันใช้ dnsmasq, tftp และ apache2 บน Ubuntu 20.04 ฉันพยายามติดตั้งเซิร์ฟเวอร์ Ubuntu 20.04 โดยอัตโนมัติ

โครงสร้างไดเรกทอรี:

/tftp/
/tftp/grub/grubx64.efi
/tftp/grub/grub.cfg-01-ec-eb-b8-92-44-70
/tftp/grub/grub.cfg
/tftp/initrd
/tftp/pxelinux.0
/tftp/vmlinuz

เนื้อหาของ /etc/dnsmasq.conf:

อินเทอร์เฟซ=enp1s0,แท้จริง
เชื่อมต่ออินเทอร์เฟซ
โดเมน=โพไซดอน.แล็บ
dhcp-ช่วง=10.50.129.100,10.50.129.200,255.255.255.0,2h
dhcp-option=3,10.50.129.1
dhcp-ตัวเลือก=6,10.50.128.20
เซิร์ฟเวอร์=10.50.128.20
dhcp-boot=pxelinux.0
เปิดใช้งาน-tftp
tftp-root=/tftp
dhcp-mac=set:efi-x86_64,ec:eb:b8:92:44:70
dhcp-boot=tag:efi-x86_64,grub/grubx64.efi

เนื้อหาของ grub.cfg-01-MAC-ADDRESS:

ตั้งค่าเริ่มต้น = อัตโนมัติ
ตั้งหมดเวลา = 10

เมนูรายการ 'Ubuntu 20.04' --id=auto {
        ลินุกซ์ /vmlinuz ip=dhcp url=http://${pxe_default_server}/tftp/ubuntu-20.04-live-server-amd64.iso ติดตั้งอัตโนมัติเงียบ ds=nocloud-net\;s=http://${pxe_default_server}/ tftp/01-mac-address/ root=/dev/ram0 cloud-config-url=/dev/null
        initrd/initrd
}
Score:0
ธง sa

อาจไม่ใช่คำตอบที่ดีที่สุด แต่ฉันสามารถแก้ไขได้โดยทำสิ่งต่อไปนี้เป็นค่าเริ่มต้น grub.cfg (ขอบคุณคำตอบของ Andrew ที่นี่: https://askubuntu.com/a/1272415/1094816):

ตั้งค่าเริ่มต้น = อัตโนมัติ
ตั้งหมดเวลา = 10

เมนูรายการ 'Ubuntu 20.04 - ติดตั้งอัตโนมัติ' --id=auto {
        ลินุกซ์ /vmlinuz ip=dhcp url=http://${pxe_default_server}/tftp/ubuntu-20.04-live-server-amd64.iso ติดตั้งอัตโนมัติเงียบ ds=nocloud-net\;s=http://${pxe_default_server}/ tftp/01-${net_default_mac}/ root=/dev/ram0 cloud-config-url=/dev/null
        initrd/initrd
}

และรักษาก ข้อมูลเมตา และ ข้อมูลผู้ใช้ ไฟล์สำหรับแต่ละเซิร์ฟเวอร์ในไดเร็กทอรีแยกต่างหากสำหรับแต่ละโฮสต์:

/tftp/
/tftp/01-aa:bb:cc:dd:ee:00/meta-data
/tftp/01-aa:bb:cc:dd:ee:00/user-data

ดังนั้นเมื่อเซิร์ฟเวอร์กับ MAC aa:bb:cc:dd:ee:00 บูต มันจะดาวน์โหลดไฟล์เหล่านั้นเพื่อกำหนดค่าเซิร์ฟเวอร์ ดูเหมือนว่าจะทำงานจนถึงตอนนี้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา