您好,登錄后才能下訂單哦!
LVS+Keepalived 群集
Keepalived起初是專門針對LVS設計的一款強大的復制工具。
主要用來提供故障切換和健康檢查功能——判斷LVS負載調度器、節點服務器的可用性,及時隔離并替換新的服務器。
測試環境:
調度器兩臺(雙機熱備)IP
192.168.30.30
192.168.30.31
Web服務器 IP
192.168.30.33
192.168.30.34
安裝所需軟件
centos7系統中已經自帶modprobe ip_vs 只需打開即可使用
modprobe ip_vs #加載IP_vs模塊
yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel ipvsadm #安裝編譯工具、插件和ipvsadm
在兩臺調度器上編譯安裝 keepalived
tar xf keepalived-1.4.2.tar.gz
cd keepalived-1.4.2
./configure --prefix=/
make && make install
cp keepalived/etc/init.d/keepalived /etc/init.d/ #加入系統管理服務
[root@lin3036 keepalived-1.4.2]# systemctl enable keepalived #設為開機自啟
另一臺安裝方式相同
修改第一臺master keepalived.conf文件
vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id LVS_01 #本服務器的名稱
}
vrrp_instance VI_1 { #定義VRRP熱備實例
state MASTER #熱備狀態,MASTER表示主服務器,BACKUP表示從服務器
interface ens33 #承載VIP地址的物理接口
virtual_router_id 51 #虛擬路由器的ID號,每個熱備組保持一致
priority 110 #優先級,數值越大優先級越高
advert_int 1 #通告間隔秒數(心跳頻率)
authentication { #熱備認證信息,每個熱備組保持一致
auth_type PASS #認證類型
auth_pass 6666 #密碼字符串
}
virtual_ipaddress { #指定漂移地址(VIP),可以有多個
192.168.30.100
}
}
virtual_server 192.168.30.100 80 { #虛擬服務器地址(VIP)、端口
delay_loop 6 #健康檢查的間隔時間(秒)
lb_algo rr #輪詢(rr)調度算法
lb_kind DR #直接路由(DR)群集工作模式
persistence_timeout 60 #連接保持時間(秒)
protocol TCP #應用服務器采用的是TCP協議
real_server 192.168.30.33 80 { #第一個Web服務器節點的地址、端口
weight 1 #節點的權重
TCP_CHECK { #健康檢查方式
connect_port 80 #檢查的目標端口
connect_timeout 3 #連接超時(秒)
nb_get_retry 3 #重試次數
delay_before_retry 3 #重試間隔
}
}
real_server 192.168.30.34 80 { #第二個Web服務器節點的地址、端口
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
[root@dd01 keepalived-1.4.2]# service keepalived start
[root@dd01 keepalived-1.4.2]# ip addr show dev ens33 //驗證綁定了的虛擬地址
備服務配置keepalived.conf文件
! Configuration File for keepalived
global_defs {
router_id LVS_02
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 105
advert_int 1
authentication {
auth_type PASS
auth_pass 6666
}
virtual_ipaddress {
192.168.30.100
}
}
virtual_server 192.168.30.100 80 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 60
protocol TCP
real_server 192.168.30.33 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.30.34 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
啟動服務
配置主服務器LVS
[root@lin3034 keepalived-1.4.2]# modprobe ip_vs #加載ip_vs模塊
配置主服務器LVS
備服務器相同
web服務器也要虛擬出192.168.30.100這個虛擬VIP
ifconfig lo:0 192.168.30.100 broadcast 192.168.30.100 netmask 255.255.255.255 up
route add -host 192.168.30.100 dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p 刷新
查看網卡狀態
另一臺web服務器配置相同
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。