Dalam artikel pertama seri ini, Menggunakan Keepalive untuk mengelola failover sederhana dalam kluster, Anda telah mempelajari tentang Keepalived dan VRRP protokol untuk kegagalan-atas alamat IP dari satu mesin ke mesin lainnya. Sekarang saatnya untuk mengotori tangan Anda dan mempelajari tentang penginstalan dan konfigurasi dasar Keepalived . Di artikel ini, Anda akan menyiapkan Keepalived untuk mengaktifkan failover antara dua server. Mari kita mulai!
Instalasi tetap berjalan
Keepalived tersedia dalam repositori paket standar dan mudah diinstal menggunakan yum :
[root@server1 ~]# yum install -y keepalived
[root@server1 ~]# keepalived --version
Keepalived v2.0.10 (11/12,2018)
[root@server1 ~]# systemctl status keepalived
keepalived.service - LVS and VRRP High Availability Monitor
Loaded: loaded (/usr/lib/systemd/system/keepalived.service; disabled; vendor preset: disab
Active: inactive (dead)
Anda juga harus tahu cara mengkompilasi Keepalived dari kode sumber. Keepalived adalah proyek yang dipelihara secara aktif, dan secara teratur menerima fitur baru dan perbaikan bug yang mungkin tidak ada dalam versi manajer paket saat Anda membutuhkannya. Saya bahkan mengalami bug dengan versi saat ini di repositori paket saat menulis seri ini, dan saya harus mengikuti prosedur yang tepat ini untuk menggunakan versi terbaru Keepalived .
# Install prerequisites
yum install -y gcc openssl-devel
# Download the latest version of the code. Be sure to check the downloads page for the most recent version:https://www.keepalived.org/download.html
[root@localhost ~]# wget https://www.keepalived.org/software/keepalived-2.0.20.tar.gz
# Extract the code
[root@localhost ~]# tar -xf keepalived-2.0.20.tar.gz
# Run the configure scripts
[root@localhost ~]# cd keepalived-2.0.20
[root@localhost keepalived-2.0.20]# ./configure
# Build and install keepalived
[root@localhost keepalived-2.0.20]# make
[root@localhost keepalived-2.0.20]# make install
# Test your installation
[root@localhost keepalived-2.0.20]# keepalived --version
Keepalived v2.0.20 (01/22,2020) Konfigurasi dasar
Simbol jaringan dalam diagram tersedia melalui VRT Network Equipment Extension, CC BY-SA 3.0.
File konfigurasi untuk Keepalived terletak di /etc/keepalived/keepalived.conf . Seperti yang dibahas di artikel sebelumnya, Keepalived melakukan lebih dari sekedar mengimplementasikan VRRP dasar . Ini mengarah ke file konfigurasi yang mungkin tampak menakutkan jika Anda melihat halaman manual Keepalive. Namun, topologi sederhana seperti di atas dapat dicapai dengan konfigurasi minimal.
Keepalived yang paling dasar konfigurasi memungkinkan alamat IP bersama antara dua server. Pada topologi di atas, server1 adalah master, dan server2 adalah cadangan. Konfigurasi untuk kedua server sederhana.
Konfigurasi server 1:
server1# cat /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 255
advert_int 1
authentication {
auth_type PASS
auth_pass 12345
}
virtual_ipaddress {
192.168.122.200/24
}
} Konfigurasi server 2:
server2# cat /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 254
advert_int 1
authentication {
auth_type PASS
auth_pass 12345
}
virtual_ipaddress {
192.168.122.200/24
}
} Arahan konfigurasi harus jelas dari konvensi penamaannya, tetapi saya akan membahasnya satu per satu:
vrrp_instancemendefinisikan sebuah instance individu dariVRRPprotokol yang berjalan pada antarmuka. Saya secara sewenang-wenang menamai instance ini VI_1.statemendefinisikan status awal tempat instance harus dimulai.interfacemendefinisikan antarmuka yangVRRPberjalan.virtual_router_idadalah pengidentifikasi unik yang Anda pelajari di artikel pertama seri ini.priorityadalah prioritas yang diiklankan yang Anda pelajari di artikel pertama seri ini. Seperti yang akan Anda pelajari di artikel berikutnya, prioritas dapat disesuaikan saat runtime.advert_intmenentukan frekuensi pengiriman iklan (1 detik, dalam hal ini).authenticationmenentukan informasi yang diperlukan untuk server yang berpartisipasi dalamVRRPuntuk mengotentikasi satu sama lain. Dalam hal ini, kata sandi sederhana ditentukan.virtual_ipaddressmendefinisikan alamat IP (bisa ada beberapa) yangVRRPbertanggung jawab.
Jika Anda menggunakan firewall berbasis host, seperti firewalld atau iptables , maka Anda perlu menambahkan aturan yang diperlukan untuk mengizinkan lalu lintas protokol IP 112. Jika tidak, Keepalived metode iklan tidak akan berfungsi. Mengonfigurasi firewall berbasis host di luar cakupan artikel ini, tetapi pastikan untuk membaca beberapa artikel Aktifkan Sysadmin lainnya tentang iptables dan firewalld untuk informasi selengkapnya.
Dengan konfigurasi di atas, Anda dapat memulai Keepalived di kedua server menggunakan systemctl start keepalived dan amati alamat IP pada setiap mesin. Perhatikan bahwa server1 telah dimulai sebagai VRRP master dan memiliki alamat IP bersama (192.168.122.200), sedangkan alamat IP server2 tetap tidak berubah:
server1# ip -brief address show
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.168.122.101/24 192.168.122.200/24 fe80::5054:ff:fe82:d66e/64
server2# ip -br a
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.168.122.102/24 fe80::5054:ff:fe04:2c5d/64
Setelah Anda mengonfirmasi bahwa Keepalived telah dimulai di kedua server dan server1 adalah master aktif, Anda dapat menguji fungsionalitas failover dengan "membalik" VIP ke server lain. Dengan menghentikan Keepalived di server1, master aktif berhenti mengirimkan iklan, dan server2 mengambil alih VIP:
server1# systemctl stop keepalived
server1# ip -brief address show
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.168.122.101/24 fe80::5054:ff:fe82:d66e/64
server2# ip -brief address show
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.168.122.102/24 192.168.122.200/24 fe80::5054:ff:fe04:2c5d/64 Dan itu saja! Anda sekarang memiliki sepasang server redundan dasar.
Memantau lalu lintas VRRP
Seperti yang dibahas dalam artikel pertama seri ini, memahami perilaku tingkat protokol VRRP penting agar Anda dapat mengonfigurasi dan memecahkan masalah dengan benar. Jika Anda telah membaca artikel Enable Sysadmin sebelumnya tentang menganalisis lalu lintas jaringan, maka Anda mungkin nyaman menggunakan tcpdump . Paket baris perintah ditangkap menggunakan tcpdump dapat mengungkapkan semua yang perlu Anda ketahui tentang VRRP Anda konfigurasi, termasuk VRID dan prioritas master aktif:
server1# tcpdump proto 112
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
16:51:01.353224 IP 192.168.122.102 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 254, authtype simple, intvl 1s, length 20
16:51:02.353673 IP 192.168.122.102 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 254, authtype simple, intvl 1s, length 20
16:51:03.353753 IP 192.168.122.102 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 254, authtype simple, intvl 1s, length 20
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel
Cobalah sendiri dengan menjalankan tcpdump sambil membalik VIP bolak-balik antara dua server.
Menutup
Artikel ini membawa Anda melalui dasar-dasar Keepalived instalasi dan konfigurasi. Anda telah mempelajari cara memasang Keepalived melalui manajer paket dan dengan mengompilasinya dari sumber, dan Anda membangun Keepalived basic dasar konfigurasi untuk mengaktifkan failover VIP antara dua host. Terakhir, Anda menguji konfigurasi ini dan menggunakan tcpdump untuk mengamati VRRP lalu lintas. Dalam artikel berikutnya dari seri ini, saya akan membawa Anda melalui beberapa Keepalived tingkat lanjut konfigurasi.
[ Perlu mempelajari lebih lanjut tentang administrasi sistem Linux? Pertimbangkan untuk mengambil kursus administrasi sistem Red Hat. ]