7.1 Keepalived 雙機熱備基礎(chǔ)知識
? ? ? ?Keepalived起初是專門針對LVS設(shè)計的一款強大的輔助工具,主要用來提供故障切換(Failover) 和健康檢查査(Health Checking)功能一一判斷LVS 負(fù)載調(diào)度器、節(jié)點服務(wù)器的可用性,及時隔離并替 換為新的服務(wù)器,當(dāng)故障主機恢復(fù)后將其重新加入群集。
7.1.1 Keepalived 概述及安裝
? ? ? ?Keepalived的官方網(wǎng)站位于http://www.keepalived.org/、本章將以YUM方式講解Keepalived的 安裝,配置和使用過程。在非LVS群集環(huán)境中使用時,Keepalived也可以作為熱備軟件使用。
1. Kcepalived的熱備方式
? ? ? ?Keepalived 采用VRRP (Virtual Router Redundancy Protocol,虛擬路由冗余協(xié)議)熱備份協(xié)議,以 軟件的方式實現(xiàn)Linux服務(wù)器的多機熱備功能。VRRP是針對路由器的一種備份解決方案一一由多臺 路由器組成一個熱備組,通過共用的虛擬P地址對外提供服務(wù),每個熱備組內(nèi)同一時刻只有一臺主 路由器提供服務(wù),其他路由器處于冗余狀態(tài),若當(dāng)前在線的路由器失效,則其他路由器會自動接替 (優(yōu)先級決ぐ接替順序)虛擬IP地址,以繼續(xù)提供服務(wù),如圖7.1所示。 熱備組內(nèi)的每臺路由器都可能成為主路由器,虛擬路由器的IP地址(VIP)可以在熱備組內(nèi)的路由器之間進行轉(zhuǎn)移,所以也稱為漂移IP地址。使用Keepalived時,漂移地址的實現(xiàn)不需要手動建立 虛接口配置文件(如 ens33:0),而是由Keepalived 根據(jù)配置文件自動管理。
部署配置實驗
實驗環(huán)境
虛擬機 4臺 centos7.3
網(wǎng)卡NAT模式 數(shù)量 1
組件包LVS、keepslived、httpd
設(shè)備 |
IP |
備注 |
Centos01 |
192.168.161.102 |
node01 |
Centos02 |
192.168.161.103 |
node02 |
Centos03 |
192.168.161.104 |
web1 |
Centos04 |
192.168.161.105 |
web2 |
初始配置
關(guān)閉防火墻
[root@node02 ~]# Systemctl disable firewalld --now
[root@node02 ~]# vim /etc/sysconfig/selinux
關(guān)閉Selinux
[root@node02 ~]# setenforce 0
配置IP DNS 網(wǎng)關(guān)
[root@node02 ~]# nmtui
兩臺調(diào)度節(jié)點配置并安裝
[root@node02 ~]# yum install -y keepalived ipvsadm
修改配置文件
node02 配置內(nèi)容
[root@node02 ~]# vim /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state MASTER //角色 MASTER BACKUP
interface ens33 //本地網(wǎng)卡 ens33
virtual_router_id 51 //VRRP組號
priority 100 //優(yōu)先級
advert_int 1 //VRRP傳遞時間 1s
authentication { //VRRP認(rèn)證
auth_type PASS //認(rèn)證類型
auth_pass abc.123 //密碼
}
virtual_ipaddress { //虛擬IP,VIP,飄逸地址
192.168.161.200
}
}
node03 配置內(nèi)容
[root@node03 ~]# vim /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state BACKUP //角色 MASTER BACKUP
interface ens33 //本地網(wǎng)卡 ens33
virtual_router_id 51 //VRRP組號
priority 90 //優(yōu)先級
advert_int 1 //VRRP傳遞時間 1s
authentication { //VRRP認(rèn)證
auth_type PASS //類型密碼
auth_pass abc.123 //密碼
}
virtual_ipaddress { //虛擬IP,VIP,飄逸地址
192.168.160.200
}
}
啟動服務(wù)
[root@node02 ~]# systemctl enable keepalived --now
驗證虛擬 IP 切換
node02?和 node03?查看虛擬IP
[root@node02 ~]# ip add
node02?關(guān)閉keepalived
[root@node02 ~]# systemctl stop keepalived
node03?查看虛擬IP
[root@node03 ~]# ip add
查看日志
找到主備切換
[root@node03 ~]# tail /var/log/messages
LVS+keepalived 高可用配置
WEB節(jié)點web1、web2配置 服務(wù)及站點
[root@node04 ~]# yum -y install httpd
[root@node04 ~]# echo "<h1>www.web1.com</h1>" > /var/www/html/index.html //僅在web1配置
[root@node04 ~]# echo “<h1>www.web2.com</h1>” > /var/www/html/index.html //僅在web2配置
[root@node04 ~]# systemctl enable httpd --now
主 備 關(guān)聯(lián)后端WEB節(jié)點 并配置節(jié)點切換策略
[root@node02 ~]# vim /etc/keepalived/keepalived.conf
virtual_server 192.168.161.200 80 {
delay_loop 6
lb_algo rr 輪詢方式
lb_kind DR LVS模式 NAT DR TUN
persistence_timeout 50 超時時間50s
protocol TCP 協(xié)議TCP
節(jié)點服務(wù)器1
real_server 192.168.161.104 80 {
weight 1 輪詢權(quán)重
CHECK { 開啟檢測
connect_port 80 鏈接端口
connect_timeout 3 鏈接超時3s
nb_get_retry 3 重試次數(shù)
delay_before_retry 3 重試間隔時間3s
}
}
節(jié)點服務(wù)器2
real_server 192.168.161.105 80 {
weight 1
CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
重啟服務(wù)
[root@node02 ~]# systemctl restart keepalived
主 備 兩臺LVS調(diào)度節(jié)點配置
[root@node02 ~]# ipvsadm > /etc/sysconfig/ipvsadm
[root@node02 ~]# ipvsadm -A -t 192.168.161.200:80 -s rr
[root@node02 ~]# ipvsadm -a -t 192.168.161.200:80 -r 192.168.161.104:80 -g -w 1
[root@node02 ~]# ipvsadm -a -t 192.168.161.200:80 -r 192.168.161.105:80 -g -w 1
[root@node02 ~]# ipvsadm-save > /etc/sysconfig/ipvsadm
[root@node02 ~]# systemctl restart ipvsadm
[root@node02 ~]# ipvsadm -ln
[root@node02 ~]# cat /etc/sysconfig/ipvsadm //查看保存結(jié)果
兩臺web節(jié)點配置
[root@node04 ~]# cd /etc/sysconfig/network-scripts/
[root@node04 network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@node04 network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.160.200
NETMASK=255.255.255.255
ONBOOT=yes
NAME=lo:0
[root@node04 ~]# systemctl restart network
驗證WEB節(jié)點切換訪問
瀏覽器訪問測試
web1 http://192.168.161.104
?web2?http://192.168.161.105
虛擬IP httpd://192.168.161.200
文章來源:http://www.zghlxwxcb.cn/news/detail-842748.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-842748.html
到了這里,關(guān)于Linux--Keepalived 雙機熱備的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!