Switch-Assisted Load Balancing dengan Toleransi Kesalahan

9

Saat belajar untuk sertifikasi Cisco dan Microsoft, saya banyak membaca tentang NIC Teaming, Etherchannels, dan hal-hal serupa.

Saya tahu Anda dapat melakukan teaming statis di MS Windows Server atau membuat saluran-port di Cisco atau menggunakan protokol dinamis seperti LACP dan PAgP. Tetapi mereka semua menawarkan penyeimbangan beban menggunakan sumber atau alamat MAC tujuan atau alamat IP, kombinasi XOR bersama-sama atau hal serupa, kan? Dan sepertinya tidak ada cara untuk meningkatkan throughput aktual Anda jika Anda memiliki transfer file yang panjang dan panjang dari satu server ke server lain (mis. Memiliki 4 GigE yang terikat bersama untuk meningkatkannya menjadi 4 Gbps).

Jadi saya bertanya-tanya apakah itu benar? Apakah ada cara untuk menggunakan semua bandwidth dari antarmuka terikat? Saya mendengar dari beberapa sumber bahwa ada sesuatu seperti SLB (Switch-Assisted Load Balancing w / Fault Tolerance) yang mendukung balancing beban penuh dan memungkinkan untuk menggunakan bandwidth penuh (seperti 4 Gbps dari contoh saya antara dua server dalam satu transaksi).

Saya sudah mendengar banyak hal yang bertentangan tentang itu, dan saya benar-benar bingung. Bantu aku teman!

Alex
sumber
Bukan pertanyaan yang buruk, tetapi AFAIK tidak ada cara untuk meningkatkan throughput dari aliran data tunggal dengan menggunakan load balancing.
pauska
Itu bukan jawaban! Hanya komentar :-) tunggu pria yang lebih terampil untuk datang dengan jawaban yang lebih mendalam.
pauska
Tentu saja saya akan :) Namun saya sedikit skeptis tentang itu mungkin, tetapi beberapa orang penjualan mengatakan bahwa itu dan rekan saya (server pria) juga bingung :) Ingin mengesampingkan itu
Alex
haha baru ingat: Tolong Jangan Ambil Sales People's Advice dari pelajaran OSI beberapa tahun yang lalu
Alex

Jawaban:

8

Pada layer 2, semua load balancing, paling-paling, dilakukan oleh XOR atau hash dari MAC sumber dan tujuan, dan jika Anda beruntung, ia bahkan bisa membaca ke layer 3 dan hash data itu juga.

Namun, pada layer 3, di mana kita pada dasarnya berbicara tentang beberapa gateway (jadi, efektif, dua tautan fisik dengan next-hop unik di masing-masing), Anda dapat memaksimalkan bandwidth di seluruh tautan JIKA Anda siap melakukan per- balancing paket.

Sebelum saya melanjutkan, per-paket balancing pada umumnya adalah hal yang buruk karena fakta bahwa hal itu dapat mengakibatkan pengiriman paket out-of-order, ini bisa sangat buruk dengan koneksi TCP, tetapi itu tentu saja turun ke implementasi dan sebagian besar tumpukan modern dapat mentolerir ini dengan relatif baik.

Untuk melakukan per-paket balancing, jelas satu persyaratan adalah bahwa alamat IP sumber dan tujuan sama sekali tidak on-link ke perangkat yang memiliki banyak jalur karena mereka perlu dialihkan agar keseimbangan mungkin. Redundansi dapat dicapai melalui protokol routing seperti BGP, OSPF, ISIS, RIP, atau sebagai alternatif, BFD atau deteksi link-state sederhana.

Akhirnya, tentu saja ada solusi lapisan transport - protokol seperti dukungan SCTP yang terhubung ke beberapa titik akhir, dan TCP sudah memiliki konsep dalam pembuatan yang akan menambah opsi untuk melakukan hal serupa. Atau ... Anda bisa membuat aplikasi Anda terbuka beberapa soket.

Olipro
sumber
Terimakasih telah menjawab! Ya, saya tahu L3 load-balancing itu. Dan, pada dasarnya, jika Anda ingin lebih dari satu pertunjukan di lapisan dua, lanjutkan dengan 10gig? Apalagi jika Anda ingin melakukan backup antar server @ layer 2, yang terhubung ke switch yang sama?
Alex
Pada dasarnya, ya - Anda mungkin dapat melakukan hal-hal hacky pada host itu sendiri seperti membuat jembatan palsu dan kemudian menulis ulang MAC tujuan dari setiap frame untuk membuat masing-masing keluar dari antarmuka yang berbeda, tetapi ini benar-benar tergantung pada sistem operasi Anda , Tidak sepele dan tidak dapat diskalakan.
Olipro
Kami telah menggabungkan RHEL dan Menangkan 08 R2
Alex
5

Pertama, mari kita bersikap realistis tentang kinerja sistem Anda; Anda harus memastikan bahwa sistem Anda dapat secara konsisten menggulung bandwidth yang Anda tanyakan dari disk ke NIC yang dimaksud (lihat bagian bawah jawaban) ...

Selama Anda bersedia menggunakan FTP untuk transfer file, Anda dapat menggunakan klien yang mendukung segmentasi file melalui RESTperintah FTP untuk unduhan, dan server yang mendukung COMBperintah FTP untuk unggahan tersegmentasi. Dengan menggunakan klien FTP yang mendukung segmentasi, Anda dapat membuka beberapa sesi FTP per transfer file dan mengambil keuntungan dari hashing Layer4 LACP yang didukung oleh banyak vendor switch ... terlepas dari apakah Anda mengikat tautan 1GE atau 10GE, transfer tersegmentasi mempercepat kinerja Anda melintasi LACP.

CuteFTP untuk Windows mendukung transfer REST dan Filezilla mendukung perintah COMB . Ini hanya dua dari beberapa opsi yang bisa Anda gunakan.


Batas sistem

Saya tidak tahu apa jenis disk yang Anda miliki, tetapi sering batas sistem tunggal adalah disk I / O ... ada beberapa tempat menarik di sini ... dari perspektif pengontrol ...

  • SATA (revisi 1) maks xfer: 1.2Gbps setelah overhead 8b / 10b
  • SATA (revisi 2) maks xfer: 2.4Gbps setelah overhead 8b / 10b
  • SATA (revisi 3) maks xfer: 4,8Gbps setelah overhead 8b / 10b
  • Saluran Serat 4G max xfer: 3.56Gbps

Batas lain yang mungkin adalah kecepatan disk / spindle / lengan ... kecuali jika Anda menggunakan SSD.

Akhirnya Anda membutuhkan NIC dengan kapasitas yang cukup untuk motherboard ... periksa berapa banyak jalur di PCIe NIC Anda. Saya berasumsi Anda menggunakan LAN dan paket loss / congestion tidak akan menjadi masalah. Anda mungkin ingin menghidupkan jumbo jika ternyata CPU adalah faktor pembatas untuk transfer Anda.

Mike Pennington
sumber
Saya pikir kami menggunakan FTP dan SCP untuk mentransfer. Sejauh menyangkut kinerja I / O, kami berencana untuk bermigrasi ke iSCSI dan terlepas dari apa yang saya katakan, kami tidak dapat benar-benar membeli sakelar 10 gig dengan kepadatan tinggi karena anggaran terbatas (yang benar-benar diperlukan dalam kasus itu) jadi kami mencoba berimprovisasi. Hanya perencanaan.
Alex
@Alex Saya juga bekerja dengan anggaran terbatas dan menggunakan iSCSI .. Switch Dell PowerConnect 8132 / 8164F hampir semurah yang bisa Anda dapatkan per port dengan SFP dan bukan portbuffer absim. Kami telah sukses besar bersama mereka.
pauska
Saya akan mengintip mereka :)
Alex
@Alex, saya tidak mengusulkan agar Anda menggunakan saklar 10GE ... bahkan beberapa 1GE yang terikat bersama dapat melebihi kapasitas server ... Saya memperbarui jawaban saya untuk menyoroti bahwa saya menyarankan agar Anda menggunakan LACP
Mike Pennington