GNU/Linux >> Belajar Linux >  >> Linux

Menyiapkan cluster Linux dengan Keepalive:Konfigurasi dasar

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 dari VRRP 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 yang VRRP 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 dalam VRRP untuk mengotentikasi satu sama lain. Dalam hal ini, kata sandi sederhana ditentukan.
  • virtual_ipaddress mendefinisikan alamat IP (bisa ada beberapa) yang VRRP 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. ]


Linux
  1. Pemecahan masalah Linux:Menyiapkan pendengar TCP dengan ncat

  2. Perintah JQ di Linux dengan Contoh

  3. Layanan OS Linux 'o2cb'

  1. Konfigurasi Dasar PHP 7 dan Nginx di Ubuntu 16.04 Linux

  2. Menyiapkan pengalihan port di Linux dengan ncat

  3. Visual Basic .Net di Linux

  1. Instal Linux dengan LVM

  2. Ganti du dengan debu di Linux

  3. Menyiapkan subdomain dengan Apache di Linux