การปรับสมดุลภาระสวิตช์ด้วยความอดทนต่อความผิดพลาด


9

ในขณะที่กำลังศึกษาเพื่อรับรอง Cisco และ Microsoft ฉันอ่านมากเกี่ยวกับ NIC Teaming, Etherchannels และสิ่งที่คล้ายกัน

ฉันรู้ว่าคุณสามารถทำทีมแบบสแตติกใน MS Windows Server หรือสร้างพอร์ตช่องสัญญาณใน Cisco หรือใช้โปรโตคอลแบบไดนามิกเช่น LACP และ PAgP แต่พวกเขาทั้งหมดนำเสนอการโหลดบาลานซ์โดยใช้แหล่งที่มาหรือที่อยู่ MAC หรือที่อยู่ IP ปลายทางการรวมกันของ XOR เข้าด้วยกันหรือสิ่งที่คล้ายกันใช่ไหม และดูเหมือนว่าไม่มีทางที่จะเพิ่มปริมาณงานจริงของคุณหากคุณมีการถ่ายโอนไฟล์ที่ยาวนานจากเซิร์ฟเวอร์หนึ่งไปยังอีกเซิร์ฟเวอร์หนึ่ง (เช่นการมี 4 GigE ผูกมัดไว้ด้วยกันเพื่อเพิ่มเป็น 4 Gbps)

ดังนั้นฉันสงสัยว่ามันจริงหรือไม่? มีวิธีใช้แบนด์วิดท์ทั้งหมดของอินเตอร์เฟสที่ถูกผูกมัดหรือไม่? ฉันได้ยินมาจากแหล่งข้อมูลไม่กี่แห่งที่มีบางอย่างเช่น SLB (Load-Assisted Load Balancing w / Fault Tolerance) ซึ่งรองรับการทำ load balance เต็มรูปแบบและอนุญาตให้ใช้แบนด์วิดท์เต็มรูปแบบ (เช่น 4 Gbps จากตัวอย่างของฉันระหว่างเซิร์ฟเวอร์สองรายการ)

ฉันได้ยินสิ่งที่ขัดแย้งกันมากมายเกี่ยวกับเรื่องนั้นและฉันก็สับสนอย่างสิ้นเชิง ช่วยฉันด้วย!


ไม่ใช่คำถามที่ไม่ดี แต่ AFAIK ไม่มีวิธีเพิ่มปริมาณงานของสตรีมข้อมูลเดียวโดยใช้ load balancing
pauska

นั่นไม่ใช่คำตอบ! เพียงแค่ความคิดเห็น :-) รอคนที่มีทักษะมากขึ้นเพื่อหาคำตอบในเชิงลึกมากขึ้น
pauska

แน่นอนว่าฉันจะ :) แต่ฉันก็สงสัยเล็กน้อยเกี่ยวกับความเป็นไปได้ แต่มีคนขายบางคนบอกว่ามันเป็นและเพื่อนร่วมงานของฉัน (คนที่แต่งตัวประหลาดเซิร์ฟเวอร์) ก็สับสนด้วย :) ต้องการออกกฎนี้
Alex

haha เพิ่งจำได้ว่า: โปรดอย่าทำตามคำแนะนำของคนขายจากบทเรียน OSI ไม่กี่ปีที่ผ่านมา
อเล็กซ์

คำตอบ:


8

ที่เลเยอร์ 2 การโหลดบาลานซ์ทั้งหมดทำได้ดีที่สุดโดย XOR หรือแฮชของต้นทางและปลายทาง MAC และหากคุณโชคดีมันอาจอ่านลงในเลเยอร์ 3 และแฮชข้อมูลนั้นได้เช่นกัน

อย่างไรก็ตามในเลเยอร์ 3 ที่โดยปกติแล้วเรากำลังพูดถึงเกตเวย์หลาย ๆ แห่ง (อย่างมีประสิทธิภาพลิงก์ฟิสิคัลสองลิงก์ที่มีการกระโดดครั้งต่อไปที่ไม่เหมือนใคร) คุณสามารถแบนด์วิดท์สูงสุดข้ามลิงก์ถ้าคุณเตรียมต่อไป สมดุลของแพ็กเก็ต

ก่อนที่ฉันจะไปการทำสมดุลแพ็คเก็ตโดยทั่วไปนั้นเป็นสิ่งที่ไม่ดีเนื่องจากความจริงที่ว่ามันอาจส่งผลให้เกิดการส่งแพ็คเก็ตที่ไม่เป็นไปตามลำดับซึ่งอาจแย่มากโดยเฉพาะกับการเชื่อมต่อ TCP กองที่ทันสมัยที่สุดสามารถทนต่อสิ่งนี้ได้ค่อนข้างดี

ในการทำสมดุลแพ็คเก็ตต่อหนึ่งความต้องการที่ชัดเจนคือที่อยู่ IP ต้นทางและปลายทางนั้นไม่ได้อยู่ในลิงก์ไปยังอุปกรณ์ที่มีเส้นทางหลายเส้นทางเนื่องจากต้องมีการกำหนดเส้นทางเพื่อให้สามารถทำสมดุลได้ ความซ้ำซ้อนสามารถทำได้ผ่านโปรโตคอลการกำหนดเส้นทางเช่น BGP, OSPF, ISIS, RIP หรืออีกวิธีหนึ่งคือ BFD หรือการตรวจสอบสถานะลิงก์อย่างง่าย

ในที่สุดก็มีแน่นอนโซลูชันเลเยอร์การขนส่ง - โปรโตคอลเช่นการสนับสนุน SCTP เชื่อมต่อกับหลายปลายทางและ TCP มีร่างในการทำที่จะเพิ่มตัวเลือกในการทำสิ่งที่คล้ายกัน หรือ ... คุณสามารถทำให้แอปพลิเคชันของคุณเปิดได้หลายซ็อกเก็ต


ขอบคุณสำหรับคำตอบ! ใช่ฉันรู้ว่าการโหลดบาลานซ์ L3 นั้น และโดยทั่วไปถ้าคุณต้องการมากกว่าหนึ่งกิ๊กที่เลเยอร์สองไปกับ 10gig? โดยเฉพาะถ้าคุณต้องการสำรองข้อมูลระหว่างเซิร์ฟเวอร์ @ เลเยอร์ 2 ซึ่งเชื่อมต่อกับสวิตช์เดียวกัน
Alex

โดยทั่วไปแล้วใช่ - คุณอาจทำสิ่งที่แฮ็คในโฮสต์เช่นสร้างสะพานเชื่อมแล้วเขียน MAC ปลายทางของแต่ละเฟรมเพื่อให้แต่ละส่วนออกจากอินเตอร์เฟสที่แตกต่างกัน แต่สิ่งนี้ขึ้นอยู่กับระบบปฏิบัติการของคุณ ไม่ใช่เรื่องไม่สำคัญและไม่สามารถปรับขนาดได้
Olipro

เราได้ผสมผสาน RHEL กับ Win 08 R2
Alex

5

อันดับแรกให้เป็นจริงเกี่ยวกับประสิทธิภาพของระบบ คุณต้องแน่ใจว่าระบบของคุณสามารถสพูลแบนด์วิดธ์ที่คุณต้องการอย่างสม่ำเสมอจากดิสก์ถึง NIC ที่เป็นปัญหา (ดูด้านล่างของคำตอบ) ...

ตราบใดที่คุณเต็มใจที่จะใช้ FTP สำหรับการถ่ายโอนไฟล์ของคุณคุณสามารถใช้ไคลเอนต์ที่สนับสนุนการแบ่งส่วนไฟล์ผ่านRESTคำสั่งFTP สำหรับการดาวน์โหลดและเซิร์ฟเวอร์ที่รองรับCOMBคำสั่งFTP สำหรับการอัปโหลดที่แบ่งกลุ่ม ด้วยการใช้ไคลเอนต์ FTP ที่สนับสนุนการแบ่งกลุ่มคุณสามารถเปิดเซสชัน FTP หลายรายการต่อการถ่ายโอนไฟล์และใช้ประโยชน์จากการแฮชของ Layer4 LACP ที่ได้รับการสนับสนุนจากผู้จำหน่ายสวิตช์หลายราย ... ไม่ว่าคุณจะเชื่อมโยง 1GE หรือ 10GE ก็ตาม ข้าม LACP

CuteFTP สำหรับ Windows สนับสนุนการถ่ายโอนส่วนที่เหลือและFilezilla สนับสนุนคำสั่งหวี นี่เป็นเพียงสองตัวเลือกที่คุณสามารถใช้ได้


ขีด จำกัด ของระบบ

ฉันไม่รู้ว่าคุณมีดิสก์ประเภทใด แต่บ่อยครั้งที่ข้อ จำกัด ของระบบเดียวคือดิสก์ I / O ... มีหลายจุดที่น่าสนใจที่นี่ ... จากมุมมองของคอนโทรลเลอร์ ...

  • SATA (รุ่นที่ 1) xfer สูงสุด: 1.2Gbps หลังจากค่าใช้จ่าย 8b / 10b
  • SATA (รุ่นที่ 2) สูงสุด xfer: 2.4Gbps หลังจากค่าใช้จ่าย 8b / 10b
  • SATA (รุ่นที่ 3) xfer สูงสุด: 4.8Gbps หลังจากค่าใช้จ่าย 8b / 10b
  • 4G Fiber Channel xfer สูงสุด: 3.56Gbps

อีกข้อ จำกัด ที่เป็นไปได้คือความเร็วดิสก์ / แกน / แขน ... เว้นแต่ว่าคุณกำลังใช้ SSD

ในที่สุดคุณต้องมี NIC ที่มีความจุเพียงพอกับมาเธอร์บอร์ด ... ตรวจสอบว่ามีเลนอยู่บน PCIe NIC ของคุณจำนวนเท่าใด ฉันสมมติว่าคุณใช้ LAN และการสูญเสียแพ็กเก็ต / ความแออัดจะไม่เป็นปัญหา คุณอาจต้องการเปิด jumbos หากคุณพบว่า CPU เป็นปัจจัย จำกัด สำหรับการถ่ายโอนของคุณ


ฉันคิดว่าเราใช้ FTP และ SCP เพื่อถ่ายโอน เท่าที่ประสิทธิภาพ I / O ที่เกี่ยวข้องเรากำลังวางแผนที่จะย้ายไปยัง iSCSI และไม่ว่าฉันจะพูดอะไรเราไม่สามารถจ่ายสวิตช์ 10gig ที่มีความหนาแน่นสูงได้เนื่องจากงบประมาณ จำกัด (ซึ่งจำเป็นจริงๆในกรณีนั้น) เราพยายามที่จะพูดโพล่งออกมาขณะที่เราไป เพียงแค่วางแผน
Alex

@Alex ฉันทำงานด้วยงบประมาณที่ จำกัด และใช้ iSCSI .. สวิตช์ Dell PowerConnect 8132 / 8164F นั้นราคาถูกคุณจะได้รับพอร์ตต่อ SFP และไม่ใช่พอร์ต absymal เราประสบความสำเร็จอย่างมากกับพวกเขา
pauska

ฉันจะมองพวกเขา :)
อเล็กซ์

@Alex ฉันไม่ได้เสนอให้คุณใช้สวิตช์ 10GE ... แม้แต่ 1GE ที่เชื่อมต่อกันหลายตัวอาจเกินความจุของเซิร์ฟเวอร์ ... ฉันได้อัปเดตคำตอบเพื่อเน้นว่าฉันแนะนำให้คุณใช้ LACP
Mike Pennington
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.