การบูทเครือข่าย (PXE) คืออะไรและคุณจะใช้งานได้อย่างไร?
คุณเคยต้องการแก้ไขปัญหาหรือวินิจฉัยคอมพิวเตอร์ที่มีปัญหาและคุณลืมว่าซีดียูทิลิตี้อยู่ที่ไหน? เราจะแสดงวิธีใช้ประโยชน์จากการบูทเครือข่าย (PXE) กับ FOG เพื่อทำให้ปัญหาเป็นเรื่องในอดีต.
ภาพโดย h.koppdelaney
ภาพรวมของ PXE
PXE (Pre eXecution Environment) Pixie ออกเสียงอย่างรักใคร่ (เหมือนในเทพยดาฝุ่น) เป็นวิธีการบูตเครื่องคอมพิวเตอร์ (ไคลเอนต์) โดยใช้การ์ดเครือข่ายเท่านั้น วิธีการบูตนี้สร้างขึ้นในปี 1999 และตราบใดที่คอมพิวเตอร์ที่มีปัญหาเชื่อมต่อกับเครือข่าย (และรองรับมาตรฐานนี้) คุณสามารถหลีกเลี่ยงขั้นตอนการบูตปกติได้ (IE Power on -> BIOS -> HD / CD) และทำสิ่งที่ดีตั้งแต่การแก้ไขปัญหาไปจนถึงการใช้ liveOS และแม้กระทั่งถ่ายภาพเครื่องจักรอีกครั้ง ... แต่เราจะก้าวไปข้างหน้าตัวเราให้กลับไปที่จุดเริ่มต้น.
เมื่อใช้ PXE กระบวนการบูตจะเปลี่ยนจากลำดับปกติเป็น:
เปิด -> BIOS -> สแต็ค PXE ของการ์ดเครือข่าย -> Network Boot Program (NBP) ที่ดาวน์โหลดโดยใช้ TFTP จากเซิร์ฟเวอร์ไปยัง RAM ของไคลเอ็นต์ -> ความรับผิดชอบของ NBP ในการดำเนินการในขั้นตอนต่อไป (a.k.a. การบูตขั้นที่ 2).
การใช้“ PXElinux” NBP เป็นไปได้ที่จะตั้งค่าเซิร์ฟเวอร์สำหรับมากกว่าหนึ่งโปรแกรมการบูต PXE สำหรับลูกค้าของเรา ในความเป็นมันเป็นส่วนผสมลับที่ช่วยให้เราสามารถดำเนินการทั้งหมดข้างต้นแล้วบางส่วน สำหรับคำอธิบายเชิงลึกเพิ่มเติมเกี่ยวกับกระบวนการทั้งหมดประวัติและตัวเลือกโครงสร้างพื้นฐานบางส่วนที่เปิดใช้งานและ gPXE (ซึ่งเป็นลูกพี่ลูกน้องที่พัฒนามากขึ้น) ให้ดูการบรรยายครั้งนี้บน YouTube จากนักพัฒนาของพวกเขา นอกจากนี้ด้านล่างเป็นวิดีโอของการตั้งค่าตั้งแต่ปี 2008 ที่ผ่านไปอย่างรวดเร็วกว่าความเป็นไปได้ในการบูต.
หมายเหตุ: ในวิดีโอนี้โครงการ UDA ที่เลิกใช้นั้นจะใช้เป็นฐานสำหรับเซิร์ฟเวอร์และคำอธิบายประกอบมีวัตถุประสงค์เพื่ออธิบายให้เพื่อน ๆ ทราบเมื่อเร็ว ๆ นี้ (ในเวลา) เพิ่มส่วนล่าสุด.
เป้าหมาย
คู่มือนี้จะเป็นคู่มือแรกของคู่มือเกี่ยวกับ PXEing ในคู่มือนี้เราจะวางรากฐานที่เราจะสร้างในบทความในอนาคต.
ข้อแนะนำข้อสันนิษฐานและข้อกำหนดเบื้องต้น
- เครื่องไคลเอ็นต์ที่คุณกำลังทดสอบรองรับการบูต PXE และคุณรู้วิธีเปิดใช้งาน.
- คู่มือนี้เขียนขึ้นและทดสอบโดยใช้ Debian Squeeze, Ubuntu server 9.10 และ Linux Mint10 ดังนั้นจึงสันนิษฐานว่าคุณมีระบบที่ใช้ Debian เพื่อทำงานด้วยเช่นกัน.
- คุณอาจต้องการดูวิธีการติดตั้งซอฟต์แวร์ RAID สำหรับเซิร์ฟเวอร์ไฟล์แบบง่ายและวิธีการรวมเครือข่ายเชื่อมโยงการเชื่อมโยง (802.3ad) เนื่องจากดิสก์และแบนด์วิดท์เครือข่ายที่ต้องการบนเซิร์ฟเวอร์ประเภทนี้สามารถรับจริงสูงเร็วจริง การสร้างบนพื้นฐานของเซิร์ฟเวอร์ที่มีความยืดหยุ่นสูงสำหรับเครือข่ายและระบบย่อยของดิสก์ขอแนะนำ.
- คุณจะเห็นฉันใช้ VIM เป็นโปรแกรมแก้ไขนี่เป็นเพราะฉันคุ้นเคยกับมัน ... คุณอาจใช้โปรแกรมแก้ไขอื่น ๆ ที่คุณต้องการ.
การติดตั้ง - การยกของหนักโดยใช้ประโยชน์จาก FOG
FOG เป็นโซลูชันการโคลนคอมพิวเตอร์แบบโอเพ่นซอร์สฟรีที่สร้างโดย * Chuck Syperski และ Jian Zhang FOG ใช้ซอฟต์แวร์ที่มีอยู่เป็นประจำ (เช่น Apache, MySQL และ tftpd-hpa เพื่อพูดถึงบางส่วน) และบรรจุลงในโซลูชัน PC Lifecycle Management (PCLM) ฟรีและเป็นผลิตภัณฑ์ การใช้ PCLM ฟรีนี้เป็นไปได้ที่จะสำรองข้อมูลสถานะคอมพิวเตอร์ด้วยการถ่ายภาพปรับใช้โปรแกรมและการตั้งค่า (IE Firefox, Office, เครื่องพิมพ์และอื่น ๆ ) และนโยบายการกำหนดค่า (IE ออกจากระบบอัตโนมัติและการตั้งค่าโปรแกรมรักษาหน้าจอ) เว็บอินเตอร์เฟสกลาง.
บันทึก: สัมภาษณ์ Chuck และ Jian เกี่ยวกับ FOG มีให้ที่ Tightwad Tech.
การใช้ FOG เป็นพื้นฐานสำหรับเซิร์ฟเวอร์ PXE ของคุณเป็นทางลัดที่ยอดเยี่ยมในการมีส่วนต่าง ๆ ที่จำเป็นเช่น TFTP และ DHCP โดยไม่จำเป็นต้องติดตั้งและกำหนดค่าด้วยตนเองโดยไม่ต้องทำการติดตั้งและกำหนดค่าด้วยตนเอง โบนัส.
เนื่องจากเป้าหมายของเราคือการเพิ่มฟังก์ชันการทำงานให้กับระบบที่ยอดเยี่ยมนี้แล้วเราจะไม่ครอบคลุมถึงวิธีการใช้ FOG เองหรือขั้นตอนการติดตั้งในเชิงลึก วิกิของ FOG ที่มีวิธีการเขียนและวิดีโอของพวกเขานั้นแข็งแกร่งเพียงพอที่จะรับข้อมูลเชิงลึกหากคุณต้องการที่จะอ่าน ขั้นตอนสรุปคือ:
-
sudo mkdir -p / opt / fog-setup
cd / opt / fog-setup - ดาวน์โหลดแพ็คเกจ FOG ล่าสุดจากต้นทางไปยังไดเรกทอรีที่สร้างในขั้นตอนก่อนหน้า.
- แตกแพ็กเกจและเริ่มการติดตั้ง.
sudo tar -xvzf หมอก *
cd Fog *
ถังซีดี
sudo ./installfog.sh - คุณจะได้รับแจ้งจากผู้ติดตั้งหลายครั้ง:
1. Linux รุ่นใดที่คุณต้องการเรียกใช้การติดตั้ง - 2 (อีกครั้งสมมติว่าใช้ระบบแบบเดเบียน)
2. คุณต้องการติดตั้งประเภทใด [N] - ป้อน
3. ที่อยู่ IP ที่จะใช้โดยเซิร์ฟเวอร์ FOG นี้คืออะไร [เซิร์ฟเวอร์ IP ตรวจพบ-on-eth0] - เข้าสู่.
4. คุณต้องการตั้งค่าที่อยู่เราเตอร์สำหรับเซิร์ฟเวอร์ DHCP หรือไม่ [Y / n] - ป้อน.
5. คุณต้องการตั้งค่าที่อยู่ DNS สำหรับอิมเมจการบูตเซิร์ฟเวอร์และไคลเอนต์ DHCP หรือไม่ [Y / n] - ป้อน.
6. คุณต้องการเปลี่ยนอินเตอร์เฟสเครือข่ายเริ่มต้นจาก eth0 หรือไม่ หากคุณไม่แน่ใจให้เลือกไม่ [y / N] - ป้อน.
7. คุณต้องการใช้เซิร์ฟเวอร์ FOG สำหรับบริการ dhcp หรือไม่ [Y / n] - * Enter
8. FOG รุ่นนี้มีการสนับสนุนสากลคุณต้องการติดตั้งชุดภาษาเพิ่มเติมหรือไม่ [Y / n] - n.
9. คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ (Y / N) - Y.
10. รับทราบและปฏิบัติตามคำแนะนำบนหน้าจอสำหรับ “MySQL“.
11. ปล่อยให้ รหัสผ่าน MySQL ว่างเปล่า สำหรับบัญชีรูท.
12. คุณต้องการแจ้งกลุ่ม FOG เกี่ยวกับการติดตั้งนี้หรือไม่? - Y (แนะนำ)
รูปภาพจากวิกิ FOG. - ไปที่ที่อยู่ Fog ด้วยเบราว์เซอร์ของคุณและทำตามคำแนะนำบนหน้าจอ.
* * * *บันทึก: สมมติว่าคุณทำ ไม่ มี DHCP อื่นหรือไม่ได้ตั้งค่าให้จัดการ PXE หากคุณต้องการกำหนดค่า DHCP ที่มีอยู่ดูกำหนดค่า DHCP สำหรับ PXE.
เท่าที่การติดตั้ง FOG ดำเนินต่อไป อีกครั้งในขณะที่ FOG เป็นระบบที่ยอดเยี่ยมการใช้งานไม่ใช่จุดเน้นของคู่มือนี้และเราขอแนะนำให้คุณมุ่งหน้าไปที่วิกิเพื่อให้คุณได้รับความเข้าใจที่ดีขึ้นเกี่ยวกับความสามารถของ FOG และวิธีที่จะช่วยคุณจัดการลูกค้าของคุณ วงจรชีวิต.
ถ้าทุกอย่างดีคุณควรจะสามารถบูตเครื่องไคลเอนต์ PXE ของคุณ (ปกติคือ F12) และได้รับการต้อนรับจากเมนูเริ่มต้นของ FOG.
ภาพที่ถ่ายโดย Hotfortech.
เพื่อ“ ลิ้มรสของสิ่งต่าง ๆ ที่เกิดขึ้นอย่างรวดเร็ว” คุณสามารถเลือกตัวเลือก“ Run Memtest86 +” และรับการต้อนรับจากโปรแกรม Memtest ที่เรากล่าวถึงใน“ การวินิจฉัยปัญหาฮาร์ดแวร์พีซีด้วย Ubuntu Live CD”.
โครงสร้างไฟล์และไดเรกทอรี
ตามที่ระบุไว้ก่อนหน้านี้เป้าหมายของเราคือการเพิ่มความสามารถของ FOG และท้ายที่สุดเราจะต้องเพิ่มไฟล์และไดเรกทอรี.
สร้างโครงสร้างไดเรกทอรีย่อย:
sudo mkdir -p / tftpboot / howtogeek / เมนู
sudo mkdir -p / tftpboot / howtogeek / linux
sudo mkdir -p / tftpboot / howtogeek / pics
sudo mkdir -p / tftpboot / howtogeek / utils
ไดเรกทอรีย่อยเหล่านี้จะทำหน้าที่เป็นแม่แบบสำหรับรูปภาพโปรแกรมและการกำหนดค่าทั้งหมดที่เราจะใช้เพื่อขยาย FOG.
การปรับไฟล์กำหนดค่า "เริ่มต้น"
เราจะสร้างเมนูหลักใหม่และใส่ฟังก์ชั่น FOG ทั้งหมดไว้ในเมนูย่อยของพวกเขาเอง.
คัดลอกไฟล์ /tftpboot/pxelinux.cfg/default ลงใน howtogeek / menu / fog.cfg
sudo cp /tftpboot/pxelinux.cfg/default /tftpboot/howtogeek/menus/fog.cfg
ตอนนี้แก้ไขเนื้อหาของไฟล์ "เริ่มต้น" ต้นฉบับ:
sudo vim /tftpboot/pxelinux.cfg/default
ทำให้เนื้อหามีลักษณะดังนี้:
DEFAULT vesamenu.c32
MENU TITLE FOG 0.32 + การปรับปรุงของ HowToGeek
เมนูรวม /pxelinux.cfg/master.cfg
ชื่อสีของเมนู 1; 36; 44 # ff8c00 # 00000000 stdLOGEL FOG
FOG MENU LAB คู่มือการใช้งาน
เมนูค่าเริ่มต้น
KERNEL vesamenu.c32
ผนวก Howtogeek / menu / fog.cfg
LABEL ใช้ประโยชน์จากเมนู
LABEL Utilities
KERNEL vesamenu.c32
ผนวก Howtogeek / menu / utils.cfg
LABEL Linux
MENU LABEL สิ่ง Linux
KERNEL vesamenu.c32
ผนวก Howtogeek / menu / linux.cfgLABEL fog.local
localboot 0
MENU LABEL Boot จากฮาร์ดดิสก์
TEXT HELP Boot จากฮาร์ดไดรฟ์ในเครื่อง หากคุณไม่แน่ใจให้เลือกตัวเลือกนี้.
ENDTEXT
PROMPT 0 TIMEOUT 300
ONTIMEOUT fog.local
เมื่อเราเสร็จสิ้นการกำหนดค่านี้จะให้ 3 เมนูย่อย: "ยูทิลิตี้", "การแก้ไขด้วยตนเอง", "สิ่ง Linux".
สร้างไฟล์ "ต้นแบบ"
ไฟล์ต้นแบบช่วยให้เราสามารถทำการเปลี่ยนแปลงทั่วโลกในรูปลักษณ์และความรู้สึกของเมนูโดยไม่ต้องป้อนซ้ำทีละรายการ สิ่งต่าง ๆ เช่นรูปภาพพื้นหลังเริ่มต้นตัวกั้นขอบตำแหน่ง ฯลฯ จะรวมอยู่ในสิ่งนี้ master.cfg ไฟล์.
สร้างไฟล์:
sudo vim /tftpboot/pxelinux.cfg/master.cfg
ทำให้เนื้อหามีลักษณะดังนี้:
MENU BACKGROUND หมอก / genie.png
หน้าจอสีเมนู 37; 40 # 80ffffff # 00000000 std
ขอบสีของเมนู 30; 44 # 9370db # 00000000 std
ชื่อสีของเมนู 1; 36; 44 # ff8c00 # 00000000 std
สีเมนูไม่ได้เปิด 37; 44 #ffffffff # 00000000 std
ปุ่มลัดของเมนูสี 1; 37; 44 #ffffffff # 00000000 std
เมนูสี sel 7; 37; 40 # 4eee94 # 9370db ทั้งหมด
สีของเมนู hotsel 1; 7; 37; 40 # e0400000 # 20ff8000 ทั้งหมด
สีของเมนูถูกปิดใช้งาน 1; 30; 44 # 60cccccc # 00000000 std
แถบเลื่อนสีเมนู 30; 44 # 40000000 # 00000000 มาตรฐาน
สีของเมนู tabmsg 31; 40 # 90ffff00 # 00000000 std
สีเมนู cmdmark 1; 36; 40 # c000ffff # 00000000 std
เมนูสี cmdline 37; 40 # c0ffffff # 00000000 std
เมนูสี pwdborder 30; 47 # 80ffffff # 20ffffff std
เมนูสี pwdheader 31; 47 # 80ff8080 # 20ffffff มาตรฐาน
เมนูสี pwdentry 30; 47 # 80ffffff # 20ffffff มาตรฐาน
สีของเมนูหมดเวลา _msg 37; 40 # 80ffffff # 00000000 std
หมดเวลาสีของเมนู 1; 37; 40 # c0ffffff # 00000000 std
สีของเมนูช่วย 37; 40 # c0ffffff # 00000000 std
สีเมนู msg07 37; 40 # 90ffffff # 00000000 stdเมนูมาร์จิน 0
เมนู PASSWORDMARGIN 3
MENU ROWS 15
เมนู TABMSGROW 21
เมนู CMDLINEROW 20
MENU PASSWORDROW 11
MENU TIMEOUTROW 20
เมนู HSHIFT 0
เมนู VSHIFT 0
การกำหนดค่าด้านบนจะสร้างเส้นขอบสีม่วงและไฮไลต์ถ้าคุณต้องการมีรูปลักษณ์ที่แตกต่างเพียงเปลี่ยนค่า.
ในการตั้งภาพพื้นหลังให้ใส่ภาพใน“/ tftproot” ไดเรกทอรีและชี้“เมนูพื้นหลัง
” ไปยังเส้นทางสัมพัทธ์ของภาพ (เราแนะนำให้ใช้รูปภาพที่มีความละเอียด 640 * 480) ตัวอย่างเช่นเส้นทางแบบเต็มสำหรับรูปภาพที่กำหนดค่าข้างต้นจะเป็น:“/tftproot/fog/bg.png“.
เชื่อมต่อเมนูย่อย FOG กับเมนูหลัก
เนื่องจากเราทำสำเนาไฟล์กำหนดค่าดั้งเดิมอย่างง่ายลงในไดเรกทอรีย่อยของเมนู (ทำให้สกีมาสีหมดเวลาและเหมือนกัน) หากคุณเข้าสู่เมนูย่อยนี้ตอนนี้จากไคลเอนต์ที่บูต PXE มันจะทำงาน แต่คุณจะ ไม่สามารถกลับสู่เมนูหลักโดยไม่ต้องรีบูตเครื่อง.
ดังนั้นแก้ไข /tftpboot/howtogeek/menus/fog.cfg ไฟล์:
sudo vim /tftpboot/howtogeek/menus/fog.cfg
เพิ่มรายการนี้หลังจากรายการ“ ชื่อสีเมนู” และก่อนหน้าฟังก์ชั่น FOG:
LABEL กลับมา
ฉลากเมนู ...
KERNEL vesamenu.c32
ผนวก pxelinux.cfg / ค่าเริ่มต้น
สร้างโครงกระดูกเมนูย่อย
เราได้สร้างเมนูย่อย 4 เมนูสามรายการขึ้นอยู่กับเราที่จะเติม หากต้องการทำเช่นนั้นให้สร้างเทมเพลตที่เราจะสร้าง.
สร้างไฟล์เทมเพลต:
sudo vim /tftpboot/howtogeek/menus/template.cfg
ทำให้เป็นเนื้อหา:
เมนูรวม /pxelinux.cfg/master.cfg
#MENU BACKGROUND howtogeek / pics / fog-sub.jpg
LABEL back เมนูของ LABEL ...
KERNEL vesamenu.c32
ผนวก pxelinux.cfg / ค่าเริ่มต้น
ให้ตั้งค่าระยะสำหรับเมนูย่อยเพิ่มเติมซึ่งจะกล่าวถึงในคู่มือในอนาคต:
cd / tftpboot / howtogeek / menu /
sudo cp template.cfg ./utils.cfg
sudo cp template.cfg ./linux.cfg
เพียงเท่านี้เลย์เอาต์พื้นฐานก็พร้อมแล้วจากนี้เราต้องสร้างมันต่อไปซึ่งเราจะเป็นแนวทางในอนาคต จนกว่าคำแนะนำในอนาคตเหล่านี้จะมาถึงคุณจะได้รับการสนับสนุนให้คุ้นเคยกับ FOG เนื่องจากเป็นการขับขี่ที่น่าตื่นเต้นเมื่อเป็นของตนเอง.
อัปเดต: อนาคตอยู่ที่นี่ :)
วิธีการ Network Boot (PXE) Ubuntu LiveCD
วิธีการเครือข่ายบูตซีดีกู้ภัย BitDefender (PXE)
วิธีการตั้งค่าดิสก์ยูทิลิตี้สำหรับเน็ตเวิร์กที่สามารถบู๊ตได้โดยใช้ PXE
ไปตัดหมอกด้วยตัวคุณเอง