目錄
一、概述
1.簡介
2.原理
3.作用
二、安裝
1.配置文件
2.配置項
三、功能模塊
1.core
2.vrrp
3.check
四、配置雙機(jī)熱備
1.master
2.backup
五、驗證
1.ping驗證
2.服務(wù)驗證
六、雙機(jī)熱備的腦裂現(xiàn)象
七、keepalived+lvs(DR)
1.作用
2.調(diào)度器配置
2.1 安裝keepalived
2.2 安裝ipvsadm
2.3 配置keepalived
2.3.1 主
2.3.1 從
2.4 查看lvs節(jié)點(diǎn)狀態(tài)
3.web節(jié)點(diǎn)配置
3.1?調(diào)整ARP參數(shù)
3.2?配置虛擬IP地址
3.3?添加回環(huán)路由
3.4?安裝nginx
一、概述
1.簡介
Keepalived 是一個基于 VRRP 協(xié)議來實現(xiàn)的 LVS 服務(wù)高可用方案,可以解決靜態(tài)路由出現(xiàn)的單點(diǎn)故障問題。
2.原理
在一個 LVS 服務(wù)集群中通常有主服務(wù)器(MASTER)和備份服務(wù)器(BACKUP)兩種角色的服務(wù)器,但是對外表現(xiàn)為一個虛擬 IP,主服務(wù)器會發(fā)送 VRRP 通告信息給備份服務(wù)器,當(dāng)備份服務(wù)器收不到 VRRP消息的時候,即主服務(wù)器異常的時候,備份服務(wù)器就會接管虛擬 IP,繼續(xù)提供服務(wù),從而保證了高可用性。
3.作用
解決單點(diǎn)故障問題
二、安裝
yum install -y keepalived
1.配置文件
/etc/keepalived/keepalived.conf
2.配置項
router_id 1????????定義節(jié)點(diǎn)id
state MASTER|BACKUP????????定義節(jié)點(diǎn)主從狀態(tài)
interface ens33????????配置監(jiān)聽的網(wǎng)卡
virtual_router_id 51????????同一個熱備組要保持一致
priority 100????????節(jié)點(diǎn)優(yōu)先級
advert_int 1????????多少秒進(jìn)行一次心跳檢測
authentication {
? ? ? ? auth_type PASS
? ? ? ? auth_pass 1111
? ? }?????????keepalived節(jié)點(diǎn)的認(rèn)證方式,同一個keepalived雙機(jī)熱備組一定要保持一致
virtual_ipaddress?????????配置VIP,即漂移地址
vrrp????????
????????vrrp_script chk_nginx_server {
? ????????? ? ?script "/etc/keepalived/chk_nginx.sh "
? ? ????????? ?interval 1
? ? ????????? ?weight -2
????????}
?
三、功能模塊
1.core
主進(jìn)程啟動
2.vrrp
vrrp協(xié)議:熱備份路由協(xié)議
3.check
健康狀態(tài)檢測
四、配置雙機(jī)熱備
1.master
vrrp_instance VI_1 {
? ? state MASTER
? ? interface ens33
? ? virtual_router_id 51
? ? priority 100
? ? advert_int 1
? ? authentication {
? ? ? ? auth_type PASS
? ? ? ? auth_pass 1111
? ? }
? ? virtual_ipaddress {
? ? ? ? 192.168.42.100
????????192.168.42.101
????????192.168.42.102
? ? }
}
2.backup
vrrp_instance VI_1 {
? ? state BACKUP
? ? interface ens33
? ? virtual_router_id 51
? ? priority 90
? ? advert_int 1
? ? authentication {
? ? ? ? auth_type PASS
? ? ? ? auth_pass 1111
? ? }
? ? virtual_ipaddress {
? ? ? ? 192.168.42.100
????????192.168.42.101
????????192.168.42.102
? ? }
}
五、驗證
1.curl驗證
?
2.關(guān)閉主服務(wù)驗證
?
?
六、雙機(jī)熱備的腦裂現(xiàn)象
- Keepalived配置里同一 VRRP實例如果 virtual_router_id兩端參數(shù)配置不一致也會導(dǎo)致裂腦問題發(fā)生。
- vrrp實例名字不一致、優(yōu)先級一致
- 防火墻打開,導(dǎo)致心跳無法正常通信
- 網(wǎng)卡故障????????網(wǎng)卡進(jìn)行多路復(fù)用
?注:VIP無法通信,注釋:vrrp_strict
七、keepalived+lvs(DR)
1.作用
- 使用keepalived解決lvs的單點(diǎn)故障
- 高可用集群
2.調(diào)度器配置
2.1 安裝keepalived
yum install -y keepalived
2.2 安裝ipvsadm
yum install -y ipvsadm
modprobe ip_vs
lsmod |grep ip_vs
2.3 配置keepalived
2.3.1 主
vim /etc/keepalived/keepalived.conf
global_defs {
? ?notification_email {
? ? ?acassen@firewall.loc
? ? ?failover@firewall.loc
? ? ?sysadmin@firewall.loc
? ?}
? ?notification_email_from Alexandre.Cassen@firewall.loc
? ?smtp_server 192.168.200.1
? ?smtp_connect_timeout 30
? ?router_id LVS_DEVEL1
? ?vrrp_skip_check_adv_addr
? ?#vrrp_strict
? ?vrrp_garp_interval 0
? ?vrrp_gna_interval 0
}
vrrp_instance VI_1 {
? ? state MASTER
? ? interface ens33
? ? virtual_router_id 51
? ? priority 100
? ? advert_int 1
? ? authentication {
? ? ? ? auth_type PASS
? ? ? ? auth_pass 1111
? ? }
? ? virtual_ipaddress {
?? ?192.168.42.200?? ??? ?
? ? }
}
virtual_server 192.168.42.200 80 {
? ? delay_loop 6
? ? lb_algo rr
? ? lb_kind DR
? ? #persistence_timeout 50
? ? protocol TCP
? ? real_server 192.168.42.5 80 {
? ? ? ? weight 1
? ? ? ? HTTP_GET {
? ? ? ? ? ? url {
? ? ? ? ? ? ? path /
? ? ? ? ? ? }
? ? ? ? ? ? connect_timeout 3
? ? ? ? ? ? nb_get_retry 3
? ? ? ? ? ? delay_before_retry 3
? ? ? ? }
? ? }
? ? real_server 192.168.42.6 80 {
? ? ? ? weight 1
? ? ? ? HTTP_GET {
? ? ? ? ? ? url {
? ? ? ? ? ? ? path /
? ? ? ? ? ? }
? ? ? ? ? ? connect_timeout 3
? ? ? ? ? ? nb_get_retry 3
? ? ? ? ? ? delay_before_retry 3
? ? ? ? }
? ? }
}
2.3.1 從
vim /etc/keepalived/keepalived.conf
global_defs {
? ?notification_email {
? ? ?acassen@firewall.loc
? ? ?failover@firewall.loc
? ? ?sysadmin@firewall.loc
? ?}
? ?notification_email_from Alexandre.Cassen@firewall.loc
? ?smtp_server 192.168.200.1
? ?smtp_connect_timeout 30
? ?router_id LVS_DEVEL2
? ?vrrp_skip_check_adv_addr
? ?#vrrp_strict
? ?vrrp_garp_interval 0
? ?vrrp_gna_interval 0
}
vrrp_instance VI_1 {
? ? state BACKUP
? ? interface ens33
? ? virtual_router_id 51
? ? priority 90
? ? advert_int 1
? ? authentication {
? ? ? ? auth_type PASS
? ? ? ? auth_pass 1111
? ? }
? ? virtual_ipaddress {
?? ?192.168.42.200?? ??? ?
? ? }
}
virtual_server 192.168.42.200 80 {
? ? delay_loop 6
? ? lb_algo rr
? ? lb_kind DR
? ? #persistence_timeout 50
? ? protocol TCP
? ? real_server 192.168.42.5 80 {
? ? ? ? weight 1
? ? ? ? HTTP_GET {
? ? ? ? ? ? url {
? ? ? ? ? ? ? path /
? ? ? ? ? ? }
? ? ? ? ? ? connect_timeout 3
? ? ? ? ? ? nb_get_retry 3
? ? ? ? ? ? delay_before_retry 3
? ? ? ? }
? ? }
? ? real_server 192.168.42.6 80 {
? ? ? ? weight 1
? ? ? ? HTTP_GET {
? ? ? ? ? ? url {
? ? ? ? ? ? ? path /
? ? ? ? ? ? }
? ? ? ? ? ? connect_timeout 3
? ? ? ? ? ? nb_get_retry 3
? ? ? ? ? ? delay_before_retry 3
? ? ? ? }
? ? }
}
2.4 查看lvs節(jié)點(diǎn)狀態(tài)
systemctl start keepalived
ipvsadm -ln
ip a
3.web節(jié)點(diǎn)配置
3.1?調(diào)整ARP參數(shù)
vim /etc/sysctl.conf
????????net.ipv4.conf.all.arp_ignore=1?
????????net.ipv4.conf.all.arp_announce=2?
????????net.ipv4.conf.default.arp_ignore=1?
????????net.ipv4.conf.default.arp_announce = 2?
????????net.ipv4.conf.lo.arp_ignore = 1?
????????net.ipv4.conf.lo.arp_announce=2
sysctl -p
3.2?配置虛擬IP地址
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
????????DEVICE=lo:0
????????IPADDR=192.168.115.200
????????NETMASK=255.255.255.255
????????ONBOOT=yes
????????NAME=loopback:0
3.3?添加回環(huán)路由
route add -host 192.168.42.200/32 dev lo:0
3.4 測試
?
?斷掉主,測試備
?
?文章來源:http://www.zghlxwxcb.cn/news/detail-681611.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-681611.html
到了這里,關(guān)于【keepalived雙機(jī)熱備與 lvs(DR)】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!