Saya pikir DNS primer / sekunder untuk keperluan redundansi sangat mudah. Pemahaman saya adalah bahwa Anda harus memiliki primer dan setidaknya satu sekunder, dan bahwa Anda harus mengatur sekunder Anda di lokasi yang berbeda secara geografis, tetapi juga di belakang router yang berbeda (lihat misalnya /server/48087 / why-are-there-many-nameserver-untuk-my-domain )
Saat ini, kami memiliki dua server nama di pusat data utama kami. Baru-baru ini, kami mengalami beberapa pemadaman karena berbagai alasan yang menyebabkan kedua server nama, dan meninggalkan kami dan pelanggan kami tanpa bekerja DNS selama beberapa jam. Saya telah meminta tim sysadmin saya untuk menyelesaikan pengaturan server DNS di pusat data lain dan mengkonfigurasinya sebagai server nama sekunder.
Namun, sysadmin kami mengklaim bahwa ini tidak banyak membantu jika pusat data lain setidaknya tidak dapat diandalkan seperti pusat data primer. Mereka mengklaim bahwa sebagian besar klien masih gagal melihat ke atas dengan benar, atau waktu terlalu lama, ketika pusat data utama sedang down.
Secara pribadi, saya yakin kami bukan satu-satunya perusahaan dengan masalah seperti ini dan kemungkinan besar sudah merupakan masalah yang diselesaikan. Saya tidak bisa membayangkan semua perusahaan internet terpengaruh oleh masalah kita. Namun, saya tidak dapat menemukan dokumen daring yang bagus yang menjelaskan apa yang terjadi dalam kasus kegagalan (misalnya, waktu tunggu klien) dan bagaimana cara mengatasinya.
Argumen apa yang bisa saya gunakan untuk menyodok alasan sysadmin kami? Sumber daya online apa pun yang dapat saya hubungi untuk lebih memahami masalah yang mereka klaim ada?
Beberapa catatan tambahan setelah membaca balasan:
- kita ada di Linux
- kami memiliki kebutuhan DNS rumit tambahan; entri DNS kami dikelola oleh beberapa perangkat lunak khusus, dengan BIND saat ini bekerja keras dari implementasi Twisted DNS, dan beberapa tampilan dalam campuran juga. Namun kami sepenuhnya mampu mengatur server DNS kami sendiri di pusat data lain.
- Saya sedang berbicara tentang DNS otoritatif untuk orang luar untuk menemukan server kami, bukan server DNS rekursif untuk klien lokal kami.
sumber
Sayangnya resolver DNS Linux tampaknya tidak memiliki dukungan langsung untuk mendeteksi dan melakukan failover untuk server DNS. Itu terus memberi makan permintaan ke server penyelesaian utama Anda, menunggu batas waktu yang dikonfigurasi, mencoba lagi, dll.
Ini sering berarti penundaan hingga 30 detik untuk setiap permintaan. Tanpa terlebih dahulu mencoba yang sekunder selama primernya turun.
Saya ingin menyelesaikan ini karena nameserver yang menyelesaikan Amazon EC2 kami tidak dapat dijangkau oleh banyak pekerja kami. Ini menyebabkan keterlambatan besar dalam proses kami dan bahkan downtime dalam beberapa kasus karena kami mengandalkan resolusi. Saya ingin failover yang bagus untuk nameserver Google / Level3 kalau-kalau Amazon turun lagi. Dan mundur secepatnya, karena dengan begitu Amazon akan menyelesaikan nama host ke alamat lokal jika ada, menyelesaikan latensi yang lebih rendah misalnya komunikasi.
Tapi apa pun alasannya, ada kebutuhan untuk failover yang lebih baik. Saya ingin menyelesaikan ini. Saya ingin menjauh dari daemon proxy, layanan, dll. Karena itu hanya akan memperkenalkan lebih banyak Kegagalan Titik Tunggal. Saya ingin menggunakan teknologi yang paling kuno & sekuat yang saya bisa.
Saya memutuskan untuk menggunakan crontab & bash, dan menulis nsfailover.sh . Semoga ini membantu.
sumber
linux first dns server is down second works but is slow
Kedengarannya masalahnya adalah bahwa klien — yang bisa siapa saja, di mana saja — melihat dua server DNS dan jika salah satu gagal, mereka tidak gagal ke server sekunder atau ada batas waktu yang lama sebelum mereka melakukannya.
Saya setuju bahwa server DNS primer dan sekunder harus ditempatkan di fasilitas yang berbeda sebagai praktik terbaik, tetapi saya tidak melihat bagaimana itu akan memperbaiki masalah khusus ini.
Jika klien akan bersikeras meminta alamat IP tertentu, mengabaikan alamat IP sekunder (atau mengambil waktu beberapa saat untuk itu), maka Anda hanya harus datang dengan solusi yang membuat alamat IP tersebut berfungsi, bahkan jika server utama sedang down.
Beberapa arahan untuk dijelajahi adalah penyeimbang beban yang dapat mengalihkan lalu lintas untuk satu alamat IP ke beberapa server di pusat data yang berbeda; atau mungkin anycast routing.
sumber
Selama masing-masing pusat data Anda berada di sirkuit yang berbeda (idealnya dengan penyedia hulu yang berbeda jauh ke awan), Anda dapat mengatur DNS yang cukup andal hanya dengan dua pusat data. Anda hanya perlu memastikan registrar pilihan Anda mengisi catatan lem yang sesuai ke server besar di langit.
Pengaturan kami adalah:
Pengaturan ini telah cukup efektif untuk memberi kami sekitar 5 9 dari waktu operasi selama 6 atau 7 tahun terakhir, bahkan dengan server yang tidak aktif untuk pembaruan, dll. Jika Anda ingin menghabiskan beberapa dolar tambahan, Anda dapat melihat outsourcing hosting zona dengan seseorang seperti ultradns ...
Mengenai memuat percakapan yang disebutkan KPWINC, itu 100% benar. Jika pusat data terkecil Anda tidak dapat menangani 100% dari beban Anda, maka Anda kemungkinan besar akan bertulang karena pemadaman Anda akan terjadi ketika Anda paling tidak menginginkannya =)
Saya mengambil beban maksimum dari semua router tepi saya, menambahkan semuanya bersama-sama, dan kemudian membagi dengan 0,65 ... itu adalah bandwidth minimum yang harus kita miliki di setiap pusat data. Saya menerapkan peraturan itu sekitar 5 tahun yang lalu, dengan beberapa dokumen untuk membenarkannya, saya mengumpulkan dari CCO dan tentang internet, dan itu tidak pernah mengecewakan kami. Namun, Anda harus memeriksa statistik tersebut setidaknya setiap tiga bulan. Kami mengalami peningkatan lalu lintas hampir 3 kali lipat antara November dan Februari tahun lalu dan saya tidak siap untuk itu. Sisi baiknya adalah bahwa situasinya memungkinkan saya untuk menghasilkan beberapa data keras yang sangat jelas yang mengatakan pada beban 72% di sirkuit WAN kami, kami mulai menjatuhkan paket. Tidak ada pembenaran tambahan yang pernah diminta dari saya untuk bandwidth yang lebih banyak.
sumber
Saya menyadari dari membaca deskripsi Anda bahwa tidak jelas apakah maksud Anda DNS otoritatif bagi orang luar untuk menemukan server Anda, atau server DNS rekursif untuk klien lokal Anda. Perilaku keduanya sangat berbeda.
Untuk server DNS resmi, "klien" akan menjadi server DNS lain yang memiliki caching dan banyak kecerdasan. Mereka akan cenderung mencoba beberapa server sekaligus jika yang pertama lambat, dan akan cenderung memilih yang memberi mereka balasan lebih cepat. Downtime untuk satu pusat data dalam kasus itu akan memiliki dampak kinerja yang sangat kecil.
Untuk server DNS rekursif, klien adalah klien lokal Anda yang mungkin memiliki server DNS yang terdaftar di DHCP. Mereka akan mencoba server mereka dalam urutan yang tercantum setiap kali, dengan waktu tunggu yang sangat lama (beberapa detik) sebelum pindah dari server pertama ke server kedua.
Jika pusat data utama Anda sedang down, tidak ada seorang pun yang dapat menjangkau server-server itu, tetapi seringkali kesalahan dari itu lebih dapat dipahami daripada kesalahan dari server DNS yang tidak terjangkau. "tidak dapat menghubungi server" atau "batas waktu koneksi" alih-alih "tidak dapat menemukan server" atau "tidak ada server seperti itu". Sebagai contoh, sebagian besar server SMTP akan mengantri surat selama seminggu jika mereka melihat server dalam DNS tetapi tidak dapat mencapainya; jika mereka tidak dapat menemukannya di DNS sama sekali, mereka dapat langsung menolak untuk mencoba mengirimkannya ke domain Anda.
DNS sekunder yang terpisah secara geografis dan jaringan adalah hal yang baik. Anda mungkin dapat berdagang DNS sekunder dengan perusahaan yang ramah, dan ada banyak penyedia DNS yang dapat Anda bayar untuk melakukannya untuk Anda. Beberapa pendaftar memiliki DNS sekunder sebagai layanan juga.
sumber
Thomas,
Setelah membaca pembaruan Anda, saya telah merevisi posting saya (posting sebelumnya memiliki referensi ke perangkat lunak Windows).
Hampir terdengar bagi saya seperti sysadmin Anda memberi tahu Anda bahwa lokasi sekunder Anda tidak memiliki perangkat keras yang diperlukan untuk menangani FULL LOAD?
Kedengarannya seolah dia berkata, "Hai teman, jika lokasi utama kami (yang termasuk DNS primer) turun maka DNS adalah LEAST dari kekhawatiran kami karena jika COLO1 turun maka COLO2 tidak dapat menangani beban pula."
Jika itu masalahnya, maka saya akan menyarankan Anda memeriksa infrastruktur Anda dan mencoba dan membuat desain yang lebih baik. Ini lebih mudah diucapkan daripada dilakukan, terutama sekarang Anda tinggal di lingkungan produksi.
Selain itu, di dunia yang sempurna, COLO1 dan COLO2 akan mampu berdiri sendiri dan menangani beban Anda.
Setelah itu terjadi ... DNS benar-benar tidak lebih dari memiliki server DNS yang cukup dengan refresh yang cukup cepat dan jika satu sisi gagal Anda dapat menulis ulang DNS Anda untuk menunjuk ke server yang UP.
Saya telah menggunakan metode ini di lingkungan berukuran kecil hingga wajar dan ini berhasil dengan baik. Kegagalan biasanya memakan waktu kurang dari 10 menit.
Anda hanya perlu memastikan server DNS Anda dapat menangani beban tambahan TTL pendek (waktu tinggal).
Semoga ini membantu.
sumber
Sysadmin Anda (sebagian besar) salah.
Server rekursif yang meminta server otoritatif Anda akan melihat dengan sangat cepat jika salah satu situs tidak responsif.
Ya, ada kemungkinan klien mungkin mengalami penundaan resolusi DNS yang sangat sederhana ketika ada pemadaman, tetapi mereka hanya akan menjadi satu atau dua detik, dan begitu server DNS klien mengetahui bahwa salah satu server sedang down mereka akan menggunakan server yang tersisa lebih disukai daripada yang gagal.
Jika perlu (untuk menenangkan sysadmin) terus jalankan dua server di pusat data utama Anda, tetapi lakukan setidaknya satu lagi di luar.
sumber
Server dns sekunder tidak pernah sakit, tergantung di mana ia di-host itu akan memberi Anda fungsionalitas lebih atau kurang.
Jika host utama Anda gagal, sekunder dapat mengambil alih tidak peduli apakah itu duduk di sebelahnya atau di lokasi yang jauh. Namun jika uplink datacenter Anda gagal, Anda mungkin masih mendapatkan balasan DNS dari server di datacenter lain tetapi Anda tidak akan dapat menjangkau server Anda. Jadi pengguna akhir Anda tidak akan langsung mendapat manfaat dari DNS sekunder di lokasi yang jauh.
Klien yang berbeda bereaksi dengan cara lain bahwa server DNS tidak tersedia sehingga ada beberapa kebenaran waktu penghentian klien, tetapi tidak semua.
Namun, DNS sekunder di pusat data jarak jauh masih dapat menyelesaikan alamat IP server yang ingin Anda jangkau sehingga Anda dapat men-debug perutean dan melihat kapan mereka muncul lagi. Dan jika Anda telah menyiapkan server MX sekunder dengan benar, Anda bahkan tidak akan kehilangan surat apa pun.
sumber