Beberapa seni bina ketersediaan tinggi memerlukan alamat IP terapung. Fungsi ini tersedia di platform Vultr setelah rangkaian peribadi diaktifkan. Vultr menawarkan julat IP di setiap rangkaian peribadi: "Anda boleh menggunakan IP yang anda suka di rangkaian peribadi. Kami menetapkan satu IP secara lalai, tetapi anda boleh mengabaikannya dan menggunakan yang lain jika anda mahu." . Oleh itu, kita boleh menggunakan mana-mana IP maya dalam julat IP peribadi. Contoh ini menampilkan persediaan pasif / aktif. Pelayan induk akan menuntut IP terapung melainkan pelayannya turun. Sekiranya pelayan induk dimatikan, IP terapung akan dituntut oleh pelayan sandaran.
Prasyarat
Menyiapkan sistem
Mulakan dengan mengaktifkan rangkaian peribadi pada setiap VPS. Ciri ini telah didokumentasikan dengan baik .
Log masuk ke setiap sistem sebagai sudo
pengguna, dan kemas kini sistem dan pakejnya:
apt-get update && apt-get upgrade
Setelah ini selesai, kami siap untuk memulai dengan memasang dan mengkonfigurasi Keepalived.
Memasang Keepalived
Setelah setiap sistem dikemas kini dan mempunyai IP peribadi, anda boleh memasang Keepalived pada keduanya.
apt-get install keepalived
Ini akan memasang daemon ketersediaan tinggi. Keepalived adalah program yang menyediakan ketersediaan dan fungsi pengimbangan beban tinggi berdasarkan Virtual Router Redundancy Protocol (VRRP).
Pelayan induk
Pada pelayan induk, edit fail konfigurasi Keepalived.
nano /etc/keepalived/keepalived.conf
Ini virtual_ipaddress
adalah IP yang akan kita gunakan antara pelayan. Yang priority
mentakrifkan yang akan memiliki IP. Untuk tuan, kami akan menggunakan keutamaan 200
. Kami akan menggunakan 10.99.0.200
IP maya terapung kami.
vrrp_instance VI_1 {
state MASTER
interface ens7
virtual_router_id 51
priority 200
advert_int 1
authentication {
auth_type PASS
auth_pass thisismysupersecretpassword
}
virtual_ipaddress {
10.99.0.200
}
}
Pelayan sandaran
Pada pelayan sandaran, edit fail konfigurasi Keepalived.
nano /etc/keepalived/keepalived.conf
Di sini kita akan menentukan virtual_ipaddress
sama seperti pada pelayan induk. Perbezaannya di sini adalah bahawa keutamaan pelayan ini lebih rendah, jadi ia hanya akan menuntut IP apabila induknya tidak berada dalam talian.
vrrp_instance VI_1 {
state BACKUP
interface ens7
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass thisismysupersecretpassword
}
virtual_ipaddress {
10.99.0.200
}
}
Penggunaan dan ujian
Setelah kedua-dua perkhidmatan Keepalived dikonfigurasi, mulakan setiap perkhidmatan dan aktifkan semasa boot.
systemctl start keepalived
systemctl enable keepalived
Pada pelayan ketiga (atau pada pelayan sandaran) mulakan dengan melakukan ping IP bersama kami:
ping 10.99.0.200
Sekarang reboot pelayan induk dan perhatikan IP beralih ke pelayan sandaran. Ini biasanya ditunjukkan oleh peningkatan latensi ping yang kecil.
64 bytes from 10.99.0.200: icmp_seq=80 ttl=64 time=0.384 ms
64 bytes from 10.99.0.200: icmp_seq=81 ttl=64 time=1.33 ms <<< failover has happened
64 bytes from 10.99.0.200: icmp_seq=82 ttl=64 time=0.388 ms
64 bytes from 10.99.0.200: icmp_seq=83 ttl=64 time=0.339 ms
64 bytes from 10.99.0.200: icmp_seq=84 ttl=64 time=0.570 ms
Kesimpulannya
Keepalived berfungsi tanpa masalah pada Vultr, dan siap untuk semua reka bentuk seni bina ketersediaan tinggi anda.