個人整理,如有疑問,評論留言!
- 一,Keepalived
- 介紹
- 二,搭建LVS+Keepalived
- 主調度器配置:
- 備調度器配置:
- 三,超鏈接(搭建web,nfs的)
- 四,驗證LVS+Keepalived
一,Keepalived
解決單臺服務器承擔應用存在的單點故障的危險
介紹
專為LVS和HA設計的一款健康的健康檢查工具
- 支持故障自動切換
- 支持節點健康狀態檢查
- 官方網站:http://www.keepalived.org/

二,搭建LVS+Keepalived
- VRRP (虛擬路由冗余協議)針對對路由器的一種備份解決方案
- Keepalived可實作多機熱備,沒個熱備組可有多臺服務器
- 咱們是雙機熱備,雙機熱備的故障切換是由虛擬ip地址的漂移來實作的,適用于各種應用服務器
準備環境:
依賴于LVS-DR的操作基礎上,添加了備調度器,和更改了一下配置,
| 主調度器: | 192.168.100.25 vip地址:ens33:0 192.168.100.100 |
| 備調度器: | 192.168.100.29 |
| web1: | 192.168.100.26 vip地址:lo:0 192.168.100.100 |
| web2: | 192.168.100.27 vip地址:lo:0 192.168.100.100 |
| nfs存盤: | 192.168.100.28 |
主調度器配置:
1.安裝Keepalived ipvsadm
root@localhost ~]# yum -y install keepalived ipvsadm
2.配置keepalived.conf 組態檔
[root@localhost ~]# cd /etc/keepalived/
[root@localhost keepalived]# cp keepalived.conf keepalived.conf.bakup
[root@localhost keepalived]# vi keepalived.conf
global_defs {
router_id HA_TEST_R1
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 1
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.100.100
}
}
virtual_server 192.168.100.100 80 {
delay_loop 15
lb_algo rr
lb_kind DR
persistence 60
protocol TCP
real_server 192.168.100.26 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
real_server 192.168.100.27 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
區域配置模塊解釋:
global_defs { :定義本路由器的服務器router_id
vrrp_instance VI_1 { :定義VRRP熱備實列
virtual_ipaddress { :定義漂移地址(VIP),可以是多個
virtual_server 192.168.100.10 80 { :定義虛擬服務器地址(VIP)、埠
real_server 192.168.100.26 80 { :定義WEB站點的地址,埠
3.啟動keepalived和開機自啟,ipvsadm
systemctl start keepalived
systemctl enable keepalived
systemctl enable ipvsadm
4.配置vip地址192.168.100.100
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]# vi ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.100.100
NETMASK=255.255.255.255
ONBOOT=yes
ifup lo:0 #開啟lo:0
ifconfig
5.查看配置下負載策略
[root@localhost ]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.100.100:80 rr
-> 192.168.100.26:80 Route 1 0 0
-> 192.168.100.27:80 Route 1 0 0
6.查看vip資訊
ip addr show
ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:da:8c:3c brd ff:ff:ff:ff:ff:ff
inet 《192.168.100.25/24》 brd 192.168.100.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet 《192.168.100.100/32》scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::a33e:6402:8d1:c2aa/64 scope link noprefixroute
valid_lft forever preferred_lft forever
7.調整/proc回應引數(內核引數優化)
vi /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
sysctl -p
備調度器配置:
咱們只需要配置keepalive 組態檔設定優先升級,router_id,bakup(備)
LVS的調度規則咱們也在keepalived.conf組態檔里,可直接生成
1.安裝Keepalived ipvsadm
root@localhost ~]# yum -y install keepalived ipvsadm
2.配置keepalived.conf 組態檔
[root@localhost ~]# cd /etc/keepalived/
[root@localhost keepalived]# cp keepalived.conf keepalived.conf.bakup
[root@localhost keepalived]# vi keepalived.conf
global_defs {
router_id HA_TEST_R2
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 1
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.100.100
}
}
virtual_server 192.168.100.100 80 {
delay_loop 15
lb_algo rr
lb_kind DR
persistence 60
protocol TCP
real_server 192.168.100.26 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
real_server 192.168.100.27 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
}
3.啟動keepalived和開機自啟,ipvsadm
systemctl start keepalived
systemctl enable keepalived
systemctl enable ipvsadm
4.查看配置下負載策略
[root@localhost ]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.100.100:80 rr
-> 192.168.100.26:80 Route 1 0 0
-> 192.168.100.27:80 Route 1 0 0
三,超鏈接(搭建web,nfs的)
還有三臺服務器未配置(web1,web2, nfs存盤)
web服務器和nfs存盤服務,見博主分類負載群集的LVS-DR模式部署
參考web和nfs部分步驟就行 下面是超鏈接:
鏈接:參看web,nfs存盤搭建步驟…
四,驗證LVS+Keepalived
通過cmd驗證下,是否做故障切換,vip地址轉移!!
1.先驗證正常的:

2.一直ping vip地址;讓主調度器斷開,看看mac地址是否變化,vip地址是否漂移


3.查看vip地址是否漂移到備調度器
ip addr show
ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:9e:cf:4e brd ff:ff:ff:ff:ff:ff
inet <192.168.100.29/24> brd 192.168.100.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet <192.168.100.100/32> scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::f50a:6f87:cda8:5a2d/64 scope link noprefixroute
valid_lft forever preferred_lft forever
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/124465.html
標籤:其他
上一篇:LVS 負載均衡群集 ---------- DR(直連路由)模式
下一篇:docker鏡像制作、資料管理
