Saya telah diminta untuk membangun kembali infrastruktur load balancing kami di pusat data.
Permintaan asli adalah untuk memuat server FTP keseimbangan. Saya mencoba melakukan itu menggunakan load balancer saat ini ( Piranha / LVS
), tetapi tidak membuatnya dan berjalan. Bukan hanya karena ada sedikit atau tidak ada dokumentasi untuk perangkat lunak ini. Karena Piranha
dianggap sudah usang, saya pergi ke HAProxy
setelah beberapa hari mencoba, yang melakukan pekerjaan dalam sepersekian waktu yang dihabiskan Piranha
.
Jadi saya punya penyeimbangan beban FTP (mode pasif) di tempatnya. Sekarang, saya diminta mengganti seluruh Piranha Load Balancer di pusat data. Dalam konfigurasi Piranha saat ini, kami memiliki beberapa server web, server IIS .... aaaand DNS .
Tidak ada satu hal:
HAProxy
tampaknya menjadi LB yang umum digunakan, tetapi tidak mampu menanganiUDP load balancing
. Ini menyedihkan, karena saya suka cara HAProxy
kerjanya. Jadi saya banyak mencari di Google dan menemukan beberapa hal. Kebanyakan orang tampaknya menggunakan LVS
sebagai LB untuk DNS (TCP / UDP). Ada yang menggunakan dlbDNS
, ada yang pakai lbnamed
, ada yang pakai netfilter / iptables
.
Karena saya ingin tetap menggunakan HAProxy
FTP, HTTP, server IIS, saya bingung menggunakannya bersisian LVS
.
Persyaratan:
2 instance LB dengan failover
2 server DNS (sudah ada) dengan failover
Beberapa server backend (http, aplikasi, dll ...)
Pertanyaan:
Apakah ini mungkin? Apakah penyetelan beban UDP di server DNS bahkan perlu? Apakah ada sumber daya apa pun yang dapat menunjukkan kepada saya bagaimana memulai dengan itu? Atau apakah ada solusi LB yang mampu tidak hanya menangani TCP / HTTP, tetapi juga load balancing UDP?
PS: Solusi LB harus non-hardware dan open source / lisensi GPL / bebas biaya.
Setiap bantuan atau mengarah ke sumber daya masing-masing sangat dihargai!
sumber
Jawaban:
Jangan memuat saldo DNS Anda.
Ini adalah protokol yang sangat ringan - Anda akan membutuhkan sejumlah besar lalu lintas untuk membutuhkan lebih dari satu kotak (dalam hal ini Anda hanya akan menjadi hambatan pada penyeimbang beban Anda), dan ada ketahanan yang dibangun karena Anda dapat menggunakan beberapa catatan NS dalam delegasi Anda (server lain akan digunakan jika ada yang down).
sumber
Saya tidak nyaman dengan Tanya Jawab ini karena belum benar-benar ditetapkan jenis server DNS yang Anda bicarakan. Ada beberapa kesalahpahaman yang signifikan dalam hal ketahanan DNS rekursif dan penting bahwa orang-orang yang berlayar melalui mesin pencari tidak meninggalkan diskusi ini dengan rasa aman yang salah.
DNS Resmi : Untuk server DNS otoritatif, pengetahuan umum tentang ketahanan DNS cukup tepat. Selama Anda memiliki beberapa server DNS resmi yang geo-redundan, Anda baik-baik saja. Alasan utama untuk menambah ketersediaan tinggi untuk masing-masing IP adalah jika Anda hosting banyak zona otoritatif. Ini memungkinkan Anda meningkatkan jumlah server tanpa harus mengubah pengaturan registrar untuk setiap domain yang dihosting.
DNS Rekursif : Selalu gunakan beberapa bentuk solusi ketersediaan tinggi. (BGP, alat, dll.) Di sinilah Anda dapat mengalami masalah serius. Semua pustaka resolver tidak dibuat sama: klien Windows DNS akan membulatkan robin server awal yang digunakan antara kueri, tetapi sebagian besar sistem berbasis Unix akan selalu menelusuri daftar secara berurutan. Apa yang bahkan kurang dikenal adalah bahwa pustaka Unix ini harus berhenti pada setiap kombinasi domain pencarian sebelum pindah ke server berikutnya. Jika Anda memiliki beberapa domain pencarian yang dikonfigurasi dan server pertama dalam urutan pencarian resolver sudah mati, ini dapat membuat penundaan signifikan dalam resolusi DNS untuk setiap permintaan tunggal: lebih dari cukup untuk menyebabkan masalah dalam aplikasi penting Anda.
Ketika datang ke DNS rekursif, ingatlah bahwa infrastruktur server Anda hanya sekuat konfigurasi klien yang paling braindead. Seiring pertumbuhan perusahaan Anda, ini adalah sesuatu yang tidak pernah Anda kendalikan. Jangan membuat asumsi desain yang didasarkan pada lingkungan OS server yang homogen, karena hal-hal jarang tetap sama di perusahaan yang sedang berkembang. Ini pasti akan menggigit seseorang jika Anda tidak berencana untuk itu.
sumber
Hari-hari ini Anda dapat menggunakan
dnsdist
PowerDNSDari README
https://github.com/PowerDNS/pdns/tree/master/pdns/dnsdistdist
Mereka menyediakan repositori untuk OS umum: https://repo.powerdns.com/
sumber