實驗一:實作keepalived企業級高可用基于LVS-DR模式的應用實戰
一、環境準備:兩台centos系統做DR、一主一從,兩台實作過基于LNMP的電子商務網站
準備四台主機:都是僅主機模式
一台Director-master,DIP:192.168.159.151 VIP:192.168.159.110
一台Director-backup,DIP:192.168.159.129 VIP:192.168.159.110
一台背景伺服器,RIP:192.168.159.120 VIP:192.168.159.110
一台背景伺服器,RIP:192.168.159.121 VIP:192.168.159.110
二、安裝步驟:
使用yum方式安裝keepalived服務
Director-master上操作:
安裝keepalived服務:yum install keepalived
Director-backup上操作:
iptables -F && setenforing 清空防火牆政策,關閉selinux
三、配置基于DR模式的LVS負載均衡叢集:
修改keepalived主(Director-master)配置檔案實作virtual_instance(vim /etc/keepalived/keepalived.conf)
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost 郵件接收者
}
notification_email_from [email protected] 發件人
smtp_server 127.0.0.1 發郵件的伺服器
smtp_connect_timeout 2 連接配接逾時時間
router_id LVS_DEVEL 路由器的辨別
vrrp_instance VI_1 { 配置虛拟路由器
state MASTER 初始狀态
interface eth0 所用端口
virtual_router_id 51 虛拟路由的ID号
priority 100 優先級
advert_int 1 VRRP通告間隔
authentication { 認證機制
auth_type PASS
auth_pass magedu
nopreempt 非搶占式,當多個BACKUP時,其中有個BACKUP的優先級高但是為非搶占式,那麼它就不去搶VIP。
virtual_ipaddress {
168.159.110
virtual_server 192.168.159.110 80 { 虛拟服務
delay_loop 6 服務輪詢的時間間隔
ld_algo wrr LVS排程算法
lb_kind DR LVS叢集模式
protocol TCP
real_server 192.168.159.120 80 { 後端真實節點主機
weight 1 權重
TCP_CHECK {
connect_timeout 3
real_server 192.168.159.121 80 {
weight 1
connect_timeout 3 連接配接逾時時間
systemctl start keepalived
修改keepalived從Director-backup)配置檔案實作virtual_instance
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 99
advert_int 1
authentication {
auth_pass grr02
virtual_server 192.168.159.110 80 {
delay_loop 6
ld_algo rr
lb_kind DR
real_server 192.168.159.120 80 {
rs01,rs02:配置回環網卡
①配置回環網卡:
ifconfig lo:0 192.168.159.110 broadcast 192.168.159.110 netmask 255.255.255.255 up
route add -host 192.168.159.110 lo:0
删除:route del -net 169.254.0.0/16 dev eth0
②忽略ip與mac不比對的問題:
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
四、測試:剛啟動服務檢視ip是在MASTER上,當關閉MASTER上的keepalived服務,那麼ip就被BACKUP拿走了

實驗二:實作keepalived主主架構 (基于DR叢集工作模式)
Director-master1上操作:
*# nopreempt 非搶占式,當多個BACKUP時,其中有個BACKUP的優先級高但是為非搶占式,那麼它就不去搶VIP。****
vrrp_instance VI_2 {
168.159.122
virtual_server 192.168.159.122 80{
啟動服務:systemctl start keepalived
Director-master2上操作:(vim /etc/keepalived/keepalived.conf)
state BACKUP 初始狀态
priority 98 優先級
*# nopreempt 非搶占式,當多個BACKUP時,其中有個BACKUP的優先級高但是為非搶占式,那麼它就不去搶VIP。**
virtual_server 192.168.159.110 443 { 虛拟服務
real_server 192.168.159.120 443 { 後端真實節點主機
real_server 192.168.159.121 443 {
state MASTER
priority 100
virtual_server 192.168.159.122 443{
real_server 192.168.159.120 443 {
ifconfig lo:1 192.168.159.122 broadcast 192.168.159.122 netmask 255.255.255.255 up
route add -host 192.168.159.122 lo:1
route del default gw 192.168.159.110 dev eth1
四、測試:剛啟動服務時MASTER1主機上有192.168.159.110無192.168.159.122
MASTER2主機上有192.168.159.122無192.168.159.110
當關閉MASTER2主機時,兩個VIP都會在MASTER1主機上,而MASTER2主機上無VIP
實驗三、實作keepalived的NAT模型
一、環境準備:兩台centos系統做NAT、一主一從,兩台實作過基于LNMP的電子商務網站
準備四台主機:
一台Director-master,DIP:192.168.159.151 VIP:192.168.159.110(作為可漂移的DIP),172.17.253.115 (橋接與僅主機)
一台Director-backup,DIP:192.168.159.129 VIP:192.168.159.110,172.17.253.115
一台背景伺服器,RIP:192.168.159.120 VIP:192.168.159.110(僅主機模式)可實作網站通路
一台背景伺服器,RIP:192.168.159.121 VIP:192.168.159.110(僅主機模式)
開啟路由轉發 vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p
root@localhost
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 5
router_id LVS_DEVEL
virtual_router_id 23
auth_pass riqi
17.253.115
virtual_server 172.17.253.115 80 {
lb_algo wrr
lb_kind NAT
Director-master2上操作:
priority 91
rs01,rs02:配置網關
route add default gw 192.168.159.110 dev eth1
四、測試:剛啟動服務時MASTER1主機上有192.168.159.110和172.17.253.115
MASTER2主機上無192.168.159.110和172.17.253.115.
當關閉MASTER1上的keepalived,MASTER2有192.168.159.110和172.17.253.115
通路172.17.253.115
以上是做的實驗,還望各位多多賜教!
本文轉自 優果馥思 51CTO部落格,原文連結:http://blog.51cto.com/youguofusi/2044116