VM to SW Loop Part 2

Lek Noi
3 min readSep 24, 2020

--

มาต่อตอนที่สองกันครับ

ตอนที่สอง มาได้ซะที มาลองดูครับ ว่า config แบบไหน ต่างกันอย่างไร แต่ก่อนนั้น เรามานิยามคำว่าลูปกันก่อน เพื่อให้เข้าใจตรงกัน

Network Loop

ลูปมักจะเกิดขึ้นเมื่อต่ออุปกรณ์ในลักษณะที่เชื่อมโยงเข้าหากัน เช่นเป็นวงกลม หรือเชื่อมสายสัญญาณมากกว่า 1 เส้นไปยังอุปกรณ์คู่เดียวกัน ตัวอย่างเช่น

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

  • Package Lost
  • Package Re-transmit
  • Package Duplicate
  • Package Timeout
  • Heavy Broadcast Traffic

ถ้าพอเห็นภาพแล้วเรามาสรุปกันเลยดีกว่าครับว่าแบบไหนมีโอกาสเกิดปัญหาลูปได้บ้าง

Q1–2 เป็นการติดตั้งโดยใช้ NIC 2 Port ทำงานแบบ Active/Standby เท่าที่ผมเคยติดตั้งมาการติดตั้งแบบนี้ โอกาสเกิดลูปน้อยมากครับ เจอได้บ้างถ้า Hypervisor ตัวนั้นมีบั๊ก เรียกว่าติดตั้งแบบนี้ค่อนข้างปลอดภัย

Q3–4 ท่านี้ต่างไปคือทั้งสอง NIC ทำงานแบบ Active/Active ผลลัพธ์ที่ได้ของท่านี้ไม่แน่นอนขึ้นอยู่กับว่าบน Hypervisor เป็น vSwitch แบบไหนถ้าเป็น vSwitch ที่ทำงานได้แบบ Managed Switch Layer 2 ก็ค่อนข้างมั่นใจได้ว่า STP จะทำงาน และปลดลูปออกให้ แต่ถ้าเป็น vSwitch พื้นๆ ก็ต้องไปไล่ดู Config กันละครับว่าตั้งค่าไว้แบบไหน มีโอกาสที่จะเกิด Loop หรือไม่เกิดเลยก็ได้ ขึ้นอยู่กับการตั้งค่า แต่เท่าที่ผมเข้าไปแก้งานหลายไซต์ บอกเลยว่าตั้งค่าผิดกันเยอะ และจะเจอลูปแทบ 100% (ไม่ขอลงลึกเรื่องการตั้งค่านะครับ เพราะแต่ละยี่ห้อ มีรายละเอียดไม่เหมือนกัน เดี๋ยวจะยาวเกินไป)

Q5–6 ต่างจากท่าที่แล้วคือมีการแยกใช้ NIC ในลักษณะคนละเครือข่ายกัน รูปแบบนี้มีโอกาสเกิดลูปได้ แต่น้อยกว่าแบบ Q3–4 พอสมควร เพราะเงื่อนไขในการตั้งค่าบังคับไว้ ถ้าให้เลือกระหว่าง Q3–4 กับ Q5–6 ให้เลือกตั้งค่าแบบนี้ปลอดภัยกว่า แต่ก็ไม่ได้ปลอดภัย 100% นะครับ

Q7–10 เป็นรูปแบบที่ใช้ Aggregation แบบ Static หรือที่บางค่ายเรียก Mode On โดย Q7–8 ทำงานแบบ Active/Standby และ Q9–10 ทำงานแบบ Active/Active ดูที่ตัว Q7–8 อันนี้จะเห็นว่าจริงๆ ก็คล้ายกับ Q1–2 แต่ความจริง ไม่ใช่ครับ ถึงแม้จะเป็น Static Aggregation แต่ Switch ส่วนใหญ่มักมีเงื่อนไขการทำ Load Balance Traffic อยู่ ต่างกับ Q1–2 ที่ไม่มี ดังนั้น Q7–8 อาจจะเกิด Loop ได้หากสถานะ Standby ยังคงมีการเปิด Monitor Traffic และฝั่ง Switch คิดว่ามีการเปิด Port ใช้งานตามปกติ

สำหรับ Q9–10 อันนี้เรื่องใหญ่ครับ Hypervisor เก่งๆ จะสามารถคำนวณการเคลื่อนไหวของ Switch ได้ทำให้สามารถป้องกันลูปได้พอตัว แต่ปัญหาคือมันทำไม่ได้ในทุกกรณีและยังเลือกทำได้กับ Switch บางค่ายเท่านั้น กลุ่มนี้เป็นท่าปราบเซียนมาก และลูกค้าส่วนใหญ่ชอบให้ทำท่านี้ด้วยสิ ทั้งๆ ที่เป็นท่าที่ค่อนข้างอันตรายมากกว่าทุกท่า ที่ผ่านมา ยิ่ง Hypervisor หลายตัวมีกลไกที่ฉลาดขึ้น วิเคราะห์ระบบเครือข่ายได้มากขึ้น ยิ่งทำให้ยากต่อการวิเคราะห์และแก้ปัญหาขึ้นไปอีก หลายครั้งที่ผมต้องปรับจูน parameter บน Hypervisor เป็นสิบตัวเพื่อแก้ลูปที่เกิดจากการเชื่อมต่อท่านี้ ถ้าเจอแบบนี้เหนื่อยครับ เรียกว่าได้ไม่คุ้มเสีย เพราะถ้าอัพเดท Hypervisor ก็มีโอกาสกลับไปมีปัญหาอีก เพราะ parameter พวกนั้นมีโอกาสเปลี่ยน และอาจจะทำงานได้ไม่เหมือนเดิม

Q11–13 เป็นท่าที่ใช้ Aggregation Protocol ในการติดตั้ง การตั้งค่าแบบนี้มีข้อดีคือเรามีโปรโตคอลที่ใช้ควบคุม แต่ก็มีข้อเสียที่ต้องแลกมากับราคาที่อาจจะแพงขึ้น ท่านี้ผมบอกเลยว่าปลอดภัยจากลูป เกือบ 100% จะเจอปัญหาแค่การตั้งค่าที่ผิดพลาด หรือมีบั๊กในระบบเท่านั้น ถ้าลูกค้าที่ไหนยอมจ่ายเงินเพิ่มเพื่อทำท่านี้นะ รับรองว่าปลอดปัญหาเรื่องลูปแน่นอน

เป็นไงบ้างครับ ใครตั้งค่าแบบไหนแล้วเจอลูปกันบ้างมาแชร์กันหน่อย

จนกว่าจะเจอกันใหม่

Lek Noi~

--

--

Lek Noi

คนธรรมดา คนหนึ่งที่ชอบด้านไอที และรักในการขีดๆ เขียนๆ