GNU/Linux >> Belajar Linux >  >> Linux

Menggunakan Keepalive untuk mengelola failover sederhana dalam kluster

Saat Anda mendengar istilah "ketersediaan tinggi", Anda mungkin memikirkan lingkungan yang besar dan kompleks dengan teknologi misterius yang berada di luar jangkauan rata-rata sysadmin. Tetapi HA dasar tidak harus rumit:dalam seri ini, Anda akan belajar tentang mengimplementasikan layanan dasar yang sangat tersedia menggunakan Keepalived . Saya akan membawa Anda melalui situasi failover sederhana, serta konfigurasi yang lebih kompleks yang digunakan untuk menanggapi peristiwa eksternal dan memicu failover. Pertama, kita akan mulai dengan dasar-dasar Keepalived dan Virtual Router Redundancy Protocol (VRRP).

Artikel ini adalah yang pertama dari rangkaian tiga artikel yang membahas semuanya, mulai dari penyiapan dasar hingga konsep HA Linux tingkat lanjut.

Keepalived dan Dasar-dasar VRRP

Simbol jaringan dalam diagram tersedia melalui Ekstensi Peralatan Jaringan VRT, CC BY-SA 3.0.

Jika Anda telah membaca beberapa artikel Aktifkan jaringan Sysadmin, maka Anda tahu bahwa semua sysadmin dapat memperoleh manfaat dari pemahaman yang kuat tentang dasar-dasar jaringan. Pengetahuan tentang Keepalived tidak berbeda. Protokol yang mendukung failover HA adalah Virtual Router Redundancy Protocol (VRRP), dan Keepalived menyediakan implementasi versi 2 dan versi 3 dari protokol ini.

Mungkin terdengar aneh bahwa kami menggunakan protokol yang dibuat untuk router di server kami. Ternyata teknologi jaringan yang sama yang digunakan untuk menyediakan redundansi ke peralatan jaringan juga dapat menyediakan redundansi di lingkungan server. Router sering digunakan berpasangan, di mana satu router aktif dan yang lain standby, siap digunakan jika router aktif gagal. Konsep yang sama ini dapat diterapkan ke server.

VRRP menggunakan konsep alamat IP virtual (VIP). Satu atau lebih host (router, server, dll.) berpartisipasi dalam pemilihan untuk menentukan host yang akan mengontrol VIP tersebut. Hanya satu host (master) yang mengontrol VIP pada satu waktu. Jika master gagal, VRRP menyediakan mekanisme untuk mendeteksi kegagalan itu dan dengan cepat gagal ke host siaga. Dalam topologi di atas, server1 adalah master dan bertanggung jawab atas alamat IP 192.168.122.200. Jika server1 gagal, maka server2 mengambil alih IP ini.

Perlu diketahui juga bahwa Keepalived menyediakan lebih dari sekedar VRRP penerapan. Keepalived juga memiliki kemampuan untuk mengkonfigurasi Linux IP Virtual Server untuk load balancing. Mengonfigurasi IPVS berada di luar cakupan seri ini, tetapi sebaiknya Anda mengetahui bahwa Anda dapat menggunakan Keepalived untuk mengonfigurasi penyeimbang beban redundan all-in-one untuk lingkungan Anda.

Operasi Protokol VRRP

VRRP perilaku ditentukan oleh RFC 3768 (versi 2) dan RFC 5798 (versi 3). Saya akan menggunakan versi 2 dalam rangkaian artikel ini. Meskipun meninjau RFC adalah cara terbaik untuk memahami sepenuhnya perilaku protokol, Anda tidak perlu menjadi ahli untuk mulai menggunakan Keepalived implementasi di lingkungan Anda. Namun, pengetahuan dasar tentang VRRP Perilaku ini akan menempatkan Anda dengan lebih baik untuk mengoperasikan dan memecahkan masalah di lingkungan Anda.

Langkah pertama dalam VRRP Operasinya adalah pemilihan master untuk menentukan server (atau router, dalam spesifikasi protokol) mana yang akan menyimpan alamat IP bersama. VRRP server dikonfigurasi dengan nilai prioritas, yang dapat dianggap seperti bobot. Server dengan prioritas tertinggi akan menjadi pemilik VRRP alamat. Spesifikasi menunjukkan bahwa prioritas master harus 255 , dengan server cadangan apa pun yang memiliki nilai lebih rendah dari 255 . Dalam praktiknya, prioritas 255 tidak sepenuhnya diperlukan karena protokol akan memilih server dengan prioritas tertinggi, meskipun bukan 255.

Setelah master dibuat, semua server lain mendengarkan pesan berkala yang dikirim oleh master untuk menunjukkan bahwa itu masih hidup. Master mengirimkan iklan ini secara berkala. Selama master masih hidup, itu akan melayani lalu lintas untuk VIP dan mengirim iklan. Jika master offline karena suatu alasan, maka server cadangan dengan prioritas tertinggi akan mengambil alih. Demikian pula, fitur yang disebut preemption dapat memungkinkan server mana pun yang memiliki prioritas lebih tinggi untuk menjadi master secara otomatis saat online.

Ketika master pertama kali online dan mengambil alih alamat IP, ia menyiarkan ARP gratis. Pesan ini menginformasikan server lain di jaringan alamat MAC yang terkait dengan VIP sehingga mereka dapat mengatasi lalu lintas mereka dengan benar di Layer 2. Ini juga membuat failover VIP lebih cepat:host tidak perlu menunggu penghitung waktu ARP mereka kedaluwarsa dan dapat cukup perbarui tabel ARP mereka dengan alamat MAC yang benar untuk host yang memiliki VIP.

Format paket

Menggali aspek teoretis dari operasi protokol mungkin agak membosankan, tetapi sangat penting untuk memahami bagaimana suatu teknologi beroperasi (dan untuk memecahkan masalah ketika rusak). Jika Anda melihat struktur paket dari sebuah VRRP iklan menggunakan Wireshark, beberapa hal menjadi lebih jelas.

Pertama, Anda akan melihat bahwa alamat tujuan Ethernet dan IP adalah multicast alamat. Lalu lintas multicast, seperti namanya, dikirim ke beberapa host di jaringan yang "mendengarkan" alamat multicast itu. Sebagian besar jaringan menghindari konfigurasi multicast yang rumit, sehingga lalu lintas multicast untuk VRRP akan menjadi lalu lintas siaran di segmen jaringan lokal dan akan menuju ke semua host.

Anda juga dapat melihat bahwa VRRP bukan TCP atau UDP. VRRP menggunakan protokol IP nomor 112 untuk operasinya. Mengetahui nomor protokol ini bisa menjadi penting, karena Anda mungkin perlu mengonfigurasi firewall host Anda untuk mengizinkan lalu lintas ini dari VRRP server di lingkungan Anda.

Setelah Anda mulai melihat VRRP bagian dari paket, Anda akan melihat bahwa itu berisi semua informasi yang diperlukan untuk memilih master dan menginformasikan server lain dari master saat ini:

  • Virtual Router ID (VRID) adalah pengidentifikasi unik untuk VRRP instance dan alamat IP-nya (bisa lebih dari satu) di jaringan. Anda harus menghindari penggunaan kembali VRID pada LAN yang sama, tetapi VRID dapat digunakan kembali dengan aman pada jaringan Layer 2 yang berbeda.
  • Prioritas adalah prioritas host yang mengirimkan iklan. Setelah master terpilih, ini adalah apa pun prioritas master yang ditentukan. Kepatuhan yang ketat terhadap spesifikasi harus menggunakan 255 untuk prioritas master, tetapi banyak konfigurasi memilih nilai yang berbeda.
  • Jenis Otentikasi dan String Otentikasi berisi kata sandi teks sederhana untuk mengotentikasi anggota VRRP berkelompok satu sama lain.
  • Interval Iklan menunjukkan seberapa sering iklan akan dikirim oleh master. Dalam hal ini, master akan mengirimkan iklan setiap detik.
  • Alamat IP berisi satu atau lebih alamat IP yang menjadi tanggung jawab master. Meskipun seri ini hanya akan mencakup failover dari satu alamat IP, dimungkinkan untuk memiliki VRRP kelola banyak IP.

Kesimpulan

Artikel ini memandu Anda melalui protokol dasar yang mendukung Keepalived , implementasi perangkat lunak VRRP di Linux. Meskipun meninjau spesifikasi protokol mungkin tampak membosankan, penting untuk memahami protokol jaringan yang beroperasi di lingkungan Anda sehingga Anda dapat mengonfigurasi dan memecahkan masalah secara efektif. Pada artikel berikutnya, Anda akan mempelajari cara menginstal dan mengonfigurasi Keepalived .

[ Perlu mempelajari lebih lanjut tentang administrasi sistem Linux? Pertimbangkan untuk mengambil kursus administrasi sistem Red Hat. ]


Linux
  1. Kiat Linux untuk menggunakan cron untuk menjadwalkan tugas

  2. Menggunakan di untuk pekerjaan cron sekali pakai di Linux

  3. CentOS / RHEL :Mengelola penuaan kata sandi untuk pengguna menggunakan chage (dengan Contoh praktis)

  1. Menggunakan AppImage untuk manajemen paket Linux

  2. Menggunakan Bash untuk otomatisasi

  3. Apakah saya menggunakan virtio untuk tamu KVM saya?

  1. Panduan Lengkap untuk Menggunakan AsciiDoc di Linux

  2. Menggunakan alat SS untuk pemecahan masalah jaringan

  3. Indikator Cuaca Sederhana yang Elegan untuk Linux