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_instance
mendefinisikan sebuah instance individu dariVRRP
protokol yang berjalan pada antarmuka. Saya secara sewenang-wenang menamai instance ini VI_1.state
mendefinisikan status awal tempat instance harus dimulai.interface
mendefinisikan antarmuka yangVRRP
berjalan.virtual_router_id
adalah pengidentifikasi unik yang Anda pelajari di artikel pertama seri ini.priority
adalah 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_int
menentukan frekuensi pengiriman iklan (1 detik, dalam hal ini).authentication
menentukan informasi yang diperlukan untuk server yang berpartisipasi dalamVRRP
untuk mengotentikasi satu sama lain. Dalam hal ini, kata sandi sederhana ditentukan.virtual_ipaddress
mendefinisikan alamat IP (bisa ada beberapa) yangVRRP
bertanggung 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. ]