การรวมเครือข่าย (Network Bond) ช่วยให้ระบบ SUSE Linux Enterprise Server 15 มีอินเทอร์เฟซเครือข่ายเชิงตรรกะหนึ่งตัวที่รองรับโดยพอร์ตทางกายภาพสองพอร์ตขึ้นไป ผลลัพธ์ที่ดีคือbond0อุปกรณ์ที่มีความเสถียรพร้อมการกำหนดค่า IP ที่ต้องการ สมาชิกที่คาดหวังที่เชื่อมต่อ และสถานะการเชื่อมต่อที่ชัดเจน การรวมเครือข่ายสามารถปรับปรุงความพร้อมใช้งาน และบางโหมดจะกระจายปริมาณการรับส่งข้อมูล แต่ไม่รับประกันความเร็วที่สูงขึ้นสำหรับทุกการเชื่อมต่อหรือป้องกันความล้มเหลวของสวิตช์ สายเคเบิล หรือต้นทางทุกครั้ง
คู่มือนี้ปฏิบัติตามขั้นตอนการสร้างบอนด์ของ SUSE SLES 15 SP7 ที่เผยแพร่เมื่อวันที่ 1 ตุลาคม 2026 โดยใช้ ไฟล์ wickedแบบดั้งเดิมifcfgตัวอย่างนี้ใช้ DHCP และactive-backupซึ่งเป็นโหมดเฟลโอเวอร์ที่ใช้งานได้จริงและไม่ต้องการการสนับสนุนสวิตช์พิเศษใดๆ เปลี่ยนชื่ออินเทอร์เฟซและการกำหนดแอดเดรสให้ตรงกับโฮสต์ ดูคู่มือการจัดการอุปกรณ์บอนด์เครือข่ายของ SUSEเพิ่มเติม
กำหนดความหมายของความสำเร็จ
การเชื่อมต่อแบบ Bond จะรวมอินเทอร์เฟซ Ethernet หลายตัวเข้าไว้ในอุปกรณ์เชิงตรรกะเดียว เช่นbond0แอปพลิเคชันและการกำหนดเส้นทางจะใช้อุปกรณ์นั้น ไดรเวอร์ Bonding ของ Linux จะเลือกหรือกระจายการรับส่งข้อมูลไปยังพอร์ตสมาชิก ตัดสินใจก่อนเริ่มแก้ไขว่าคุณต้องการอะไร:
- ระบบสำรอง:การเชื่อมต่อของสมาชิกเพียงจุดเดียวอาจล้มเหลวได้ ในขณะที่การให้บริการยังคงดำเนินต่อไปผ่านการเชื่อมต่ออีกจุดหนึ่ง
- การรวมลิงก์:สวิตช์และโฮสต์ตกลงกันในเรื่องโปรโตคอล และการกระจายปริมาณการรับส่งข้อมูลจะเหมาะสมกับปริมาณงาน
- การทำงานที่เชื่อถือได้:พันธบัตรจะกลับมาทำงานอีกครั้งหลังจากการรีบูต รับที่อยู่และเส้นทางที่คาดหวัง และรายงานสถานะสมาชิกที่ถูกต้อง
การเชื่อมต่อแบบ Bonding ไม่ได้หมายความว่าจะสร้างเส้นทางสวิตช์อิสระโดยอัตโนมัติ และการเชื่อมต่อสองลิงก์ก็ไม่ได้หมายความว่าการเชื่อมต่อ TCP หนึ่งรายการจะทำงานด้วยความเร็วเป็นสองเท่า ตรวจสอบการออกแบบเครือข่ายและสถานะของโฮสต์ให้แน่ใจ
เลือกโหมดการเชื่อมต่อ
| โหมด | การใช้งานทั่วไป | การพึ่งพา |
|---|
active-backup(โหมด 1) | ระบบสำรอง (Failover); พอร์ตหนึ่งจะส่งข้อมูลในแต่ละครั้ง | ไม่จำเป็นต้องใช้อุปกรณ์รองรับสวิตช์พิเศษใดๆ |
802.3ad(โหมด 4, LACP) | การรวมกลุ่มแบบไดนามิกและการสลับการทำงานเมื่อเกิดข้อผิดพลาด | การกำหนดค่า LACP ของสวิตช์; สมาชิกต้องมีความเร็วและโหมดการทำงานแบบ Duplex ที่ตรงกัน และต้องเชื่อมต่อกับสวิตช์เดียวกัน |
balance-xor(โหมด 2) | การกระจายแบบอิงแฮช | การรองรับและการกำหนดค่าสวิตช์ที่เข้ากันได้ |
balance-rr(โหมด 0) | การส่งแบบวนรอบ | การรองรับสวิตช์; การเรียงลำดับแพ็กเก็ตใหม่สามารถส่งผลต่อผลลัพธ์ได้ |
โหมด 0, 2 และ 4 จำเป็นต้องมีการรองรับหรือการกำหนดค่าสวิตช์ที่เข้ากันได้ ใช้active-backupเมื่อเป้าหมายหลักของคุณคือการสลับการทำงานเมื่อเกิดข้อผิดพลาดอย่างตรงไปตรงมา เลือกใช้802.3adเฉพาะหลังจากที่ทีมเครือข่ายยืนยันช่องพอร์ต LACP ที่ตรงกันแล้ว สำหรับรายละเอียดโหมด โปรดดูคู่มือของ SUSE และ เอกสารประกอบการรวมพอร์ต ของเคอร์เนล Linux
เตรียมความพร้อมสำหรับเจ้าภาพ
ควรเตรียมคอนโซลหรือเซสชันนอกแบนด์ไว้ให้พร้อม การกำหนดค่าอินเทอร์เฟซที่ใช้ SSH ใหม่ อาจทำให้เซสชันของคุณหลุดได้ กำหนดเวลาการเปลี่ยนแปลงในระบบการผลิตในช่วงเวลาบำรุงรักษา และเก็บรักษาการกำหนดค่าเดิมไว้สำหรับการย้อนกลับ
- ระบุอินเทอร์เฟซและที่อยู่ปัจจุบันด้วย
ip -br linkและip -br addr. - ตรวจสอบว่าตัวจัดการเครือข่ายใดควบคุมเซิร์ฟเวอร์ โดยทั่วไปแล้วเวิร์กโหลดเซิร์ฟเวอร์ SLES จะใช้ตัวจัดการเครือข่ายหลักเพียงตัวเดียว
wickedหลีกเลี่ยงการจัดการลิงก์เดียวกันด้วยตัวจัดการสองตัว - ตรวจสอบ
/etc/sysconfig/network/อย่างละเอียดifcfg-<interface>และสำรองไฟล์ที่เกี่ยวข้องไว้ด้วย - จับคู่ NIC แต่ละตัวกับสายเคเบิลและพอร์ตสวิตช์ ตรวจสอบว่าโหมดที่คุณเลือกต้องการกลุ่มการรวมสวิตช์หรือไม่
ตัวอย่างนี้ใช้enp1s0และenp2s0ระบบของคุณอาจใช้eth0, ens3, หรือชื่ออื่นๆ โปรดตรวจสอบชื่ออุปกรณ์จริงก่อนคัดลอกสิ่งใดๆ
กำหนดค่าการสำรองข้อมูลแบบแอคทีฟด้วยไฟล์ ifcfg
1. จงนิยามพันธะ
สร้าง/etc/sysconfig/network/ifcfg-bond0:
STARTMODE='auto'
BOOTPROTO='dhcp'
BONDING_MASTER='yes'
BONDING_SLAVE0='enp1s0'
BONDING_SLAVE1='enp2s0'
BONDING_MODULE_OPTS='mode=active-backup miimon=100'
STARTMODE='auto'เริ่มการเชื่อมต่อโดยอัตโนมัติBOOTPROTO='dhcp'ร้องขอที่อยู่แบบไดนามิกสำหรับการเชื่อมต่อ สำหรับการกำหนดค่าแบบคงที่ ให้ใช้BOOTPROTO='static'และเพิ่มIPADDRค่าที่ถูกต้อง เช่นIPADDR='192.0.2.20/24'ที่อยู่สำรองนั้นเป็นเพียงตัวอย่าง อย่ากำหนดให้กับเครือข่ายจริงเว้นแต่จะเป็นของคุณจริงๆ กำหนดค่าที่อยู่บนbond0ไม่ใช่แยกต่างหากบนพอร์ตสมาชิก
BONDING_MASTERระบุความสัมพันธ์ โดยแต่ละBONDING_SLAVEnรายการที่มีหมายเลขกำกับจะระบุชื่อสมาชิกหนึ่งราย ฟังก์ชันนี้miimon=100จะเปิดใช้งานการตรวจสอบความสัมพันธ์ทุกๆ 100 มิลลิวินาที SUSE เตือนว่าไม่ควรลบฟังก์ชันนี้ ตั้งค่าเกตเวย์, DNS และตัวเลือก IPv6 ตามแผนเครือข่ายของคุณ
2. ตั้งค่าอินเทอร์เฟซสมาชิก
สำรองไฟล์สมาชิก แก้ไขไฟล์/etc/sysconfig/network/ifcfg-enp1s0เพื่อ/etc/sysconfig/network/ifcfg-enp2s0ให้แต่ละไฟล์มีข้อมูลการตั้งค่าสมาชิกและไม่มีที่อยู่ IP แยกต่างหาก:
BOOTPROTO='none'
STARTMODE='hotplug'
วิธีนี้จะช่วยให้เครือข่ายควบคุมพอร์ตและอนุญาตให้สมาชิกเข้าร่วมได้เมื่อมีที่ว่าง โปรดเก็บรักษาการตั้งค่าภายในเครื่องที่จำเป็นและเปรียบเทียบผลลัพธ์กับข้อมูลสำรองก่อนเปิดใช้งาน
3. ตรวจสอบและเปิดใช้งาน
ตรวจสอบดูว่าคนชั่วจะใช้อะไร:
sudo wicked show-config
ตรวจสอบให้แน่ใจว่าbond0รายชื่อสมาชิกที่ต้องการปรากฏอยู่ ไฟล์สมาชิกไม่ได้กำหนดค่าที่อยู่แยกต่างหาก และโปรโตคอลและโหมดที่ต้องการปรากฏอยู่ แก้ไขข้อผิดพลาดก่อนดำเนินการต่อ เริ่มการเชื่อมต่อด้วยคำสั่ง:
sudo wicked ifup all bond0
ขั้นตอนของ SUSE ใช้ wicked เพื่อเริ่มต้นการเชื่อมต่อแบบบอนด์ อย่าพยายามเริ่มต้นหน่วย systemd ที่เฉพาะเจาะจงกับอุปกรณ์ หลังจากแก้ไขการกำหนดค่าการเชื่อมต่อแบบบอนด์ที่ใช้งานอยู่แล้ว ให้ใช้คำสั่ง `apply` sudo wicked ifreload bond0การเชื่อมต่อระยะไกลอาจหลุดระหว่างการเปลี่ยนแปลงเครือข่าย ดังนั้นควรเปิดการเข้าถึงคอนโซลไว้เสมอ
ใช้ LACP เฉพาะเมื่อมีการประสานงานสวิตช์เท่านั้น
สำหรับพอร์ตแชนเนล LACP ที่กำหนดค่าผ่านสวิตช์ ให้ใช้ตัวเลือกนี้ในขณะที่ยังคงตรวจสอบสถานะการเชื่อมต่ออยู่:
BONDING_MODULE_OPTS='mode=802.3ad miimon=100'
ทำการเปลี่ยนแปลงหลังจากที่ตั้งค่าสวิตช์สำหรับการรวมสัญญาณแบบไดนามิก IEEE 802.3ad แล้ว และลิงก์ต่างๆ ตรงตามข้อกำหนดแล้วเท่านั้น SUSE กำหนดความเร็วและโหมดการทำงานแบบดูเพล็กซ์ที่ตรงกัน และการเชื่อมต่อกับสวิตช์เดียวกัน สวิตช์แบบเรียงซ้อนและการออกแบบหลายแชสซีมีข้อกำหนดเฉพาะของผู้ผลิต โปรดตรวจสอบในเอกสารประกอบของสวิตช์
หาก LACP ไม่พร้อมใช้งานหรือไม่ได้กำหนดค่า ให้ใช้active-backupสำหรับการสลับการทำงานในกรณีฉุกเฉินขั้นพื้นฐาน การที่ Linux bond อยู่ในสถานะใช้งานได้ไม่ได้หมายความว่าพอร์ตแชนเนลของสวิตช์ได้รับการกำหนดค่าอย่างถูกต้องเสมอไป
ตรวจสอบผลลัพธ์
ตรวจสอบค่า wicked, addresses และรายงานการเชื่อมต่อเคอร์เนล:
sudo wicked ifstatus --verbose bond0
ip -br addr
cat /proc/net/bonding/bond0
wicked ifstatus --verbose bond0รายงานสถานะของ wicked ip -br addrแสดงว่าbond0ทำงานอยู่หรือไม่และถือครองที่อยู่ตามที่ต้องการหรือไม่ รายงานเคอร์เนลแสดงโหมด อินเทอร์เฟซสมาชิก สถานะลิงก์ และสมาชิกที่ใช้งานอยู่สำหรับ active-backup
สังเกตสัญญาณเหล่านี้ก่อนสรุปว่างานเสร็จสมบูรณ์แล้ว:
bond0มีอยู่และใช้งานได้ตามที่คาดไว้- ที่อยู่และเส้นทางต่างๆ เป็นของพันธบัตร ไม่ใช่ของหมายเลขประกันสังคมส่วนบุคคล
- สมาชิกทั้งสองปรากฏตัวขึ้น โดยสถานะการเชื่อมต่อสอดคล้องกับสายเคเบิลและพอร์ตสวิตช์
- ในระบบสำรองข้อมูลแบบแอคทีฟ สมาชิกหนึ่งคนจะทำงานอยู่ และอีกคนหนึ่งจะพร้อมใช้งานเป็นตัวสำรอง
- สำหรับ LACP ทั้งโฮสต์และสวิตช์จะแสดงค่าการรวมข้อมูลที่คาดหวังไว้ การที่ลิงก์ Linux ทำงานได้เพียงอย่างเดียวไม่ได้หมายความว่า LACP ทำงานได้อย่างปกติเสมอไป
เมื่อได้รับอนุญาตแล้ว ให้ทดสอบการสลับการทำงานโดยการตัดการเชื่อมต่อหรือปิดใช้งานสมาชิกทีละตัวในขณะที่เฝ้าดูการเชื่อมต่อและรายงานการเชื่อมต่อ ยืนยันว่าการรับส่งข้อมูลกลับมาใช้งานได้ผ่านลิงก์ที่ยังใช้งานได้ จากนั้นกู้คืนลิงก์ที่ทดสอบ แล้วทดสอบลิงก์อื่น อย่าขัดจังหวะระบบระยะไกลโดยไม่มีสิทธิ์เข้าถึงคอนโซลและช่วงเวลาการบำรุงรักษา
แก้ไขปัญหาโดยพิจารณาจากอาการที่สังเกตได้
| ผลลัพธ์ที่สังเกตได้ | ตรวจสอบครั้งต่อไป |
|---|
bond0หายไป | เรียกใช้คำสั่งsudo wicked show-config; ตรวจสอบชื่อไฟล์ ไวยากรณ์ ชื่ออุปกรณ์ และตัวจัดการเครือข่าย |
| พันธบัตรนี้ไม่มีที่อยู่ | ตรวจสอบ DHCP หรือที่อยู่ IP แบบคงที่และคำนำหน้าบนเครือbond0ข่าย; มองหาที่อยู่ IP ที่ซ้ำกันบนเครือข่ายสมาชิก |
| สมาชิกไม่มีลิงก์ | ตรวจสอบสายเคเบิล ตัวรับส่งสัญญาณ การ์ดเครือข่าย พอร์ตสวิตช์ และการเชื่อมต่อที่ตกลงกันไว้ การเชื่อมต่อแบบ Bonding ไม่สามารถแก้ไขปัญหาการเชื่อมต่อทางกายภาพได้ |
| LACP ไม่ทำงานหรือการจราจรติดขัด | ตรวจสอบการกำหนดค่าพอร์ตแชนเนล การเป็นสมาชิก LACP ความเร็วลิงก์ ข้อกำหนดของสวิตช์ และบันทึกของสวิตช์ ใช้การสำรองข้อมูลแบบแอคทีฟหาก LACP ไม่ได้เป็นส่วนหนึ่งของการออกแบบ |
| มันใช้งานได้จนกว่าจะรีบูตเครื่อง | ตรวจสอบSTARTMODE='auto'การตั้งค่าสมาชิก การกำหนดค่าของ Wicked และการรีบูตอย่างเป็นระบบ |
หากการเปลี่ยนแปลงใดๆ ทำให้เซิร์ฟเวอร์ตัดการเชื่อมต่อ ให้ใช้คอนโซลเพื่อกู้คืนไฟล์ที่บันทึกไว้ และทำตามขั้นตอนการกู้คืนเครือข่ายของไซต์ เก็บรักษาข้อมูลสำรองไว้จนกว่าการเชื่อมต่อจะผ่านการตรวจสอบการรีบูตและการสลับไปใช้เซิร์ฟเวอร์สำรอง
เข้าใจข้อจำกัด
การเชื่อมต่อแบบ Bonding สามารถรับมือกับอุปกรณ์ที่เสียหายได้เมื่ออุปกรณ์อื่นยังคงใช้งานได้ และส่วนที่เหลือของเครือข่ายยังคงอนุญาตให้การรับส่งข้อมูลดำเนินต่อไปได้ อย่างไรก็ตาม การเชื่อมต่อแบบ Bonding ไม่ได้ครอบคลุมความเสียหายของสวิตช์ การทำงานผิดพลาดของเราเตอร์ต้นทาง ข้อผิดพลาดของ VLAN หรือปัญหาการกำหนดเส้นทางโดยอัตโนมัติ SUSE แนะนำไม่ให้แบ่งการเชื่อมต่อแบบ Bonding ไปยังสวิตช์หลายตัวในระบบฮาร์ดแวร์ส่วนใหญ่ ควรปฏิบัติตามการออกแบบของผู้ผลิตสวิตช์สำหรับระบบที่มีสวิตช์หลายตัว
การกระจายปริมาณการรับส่งข้อมูลขึ้นอยู่กับโหมด การสลับอุปกรณ์ และรูปแบบของโฟลว์ที่ใช้งานอยู่ การเชื่อมต่อเดียวอาจคงอยู่บนอุปกรณ์เพียงตัวเดียว ดังนั้น การเพิ่มพอร์ตสองพอร์ตจึงไม่ได้หมายความว่าการถ่ายโอนข้อมูลจะเร็วขึ้นเป็นสองเท่าเสมอไป ควรวัดปริมาณการรับส่งข้อมูลที่เป็นตัวแทน และสังเกตข้อผิดพลาด การสูญหาย ปริมาณงาน และพฤติกรรมการสลับอุปกรณ์ หากผลลัพธ์ไม่ตรงตามข้อกำหนดของบริการ ให้ตรวจสอบโหมดและการกำหนดค่าการสลับอุปกรณ์แทนที่จะสันนิษฐานว่าการเพิ่มอินเทอร์เฟซเพียงอย่างเดียวจะช่วยปรับปรุงประสิทธิภาพได้