keepalived高可用雙主lvs-dr模型集群

keepalived高可用雙主lvs-dr模型集群
keepalived高可用雙主lvs-dr模型集群
環境 centos6.8
在keepalived服務器上安裝keepalived RS服務器上安裝nginx ,安裝過程省略
為了便于實驗,四臺機器將關閉iptables和selinux

配置如下:

K1:

#修改keepalived配置文件

vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived
global_defs {
notification_email {
root@localhost            #郵件地址
}
notification_email_from Alexandre.Cassen@firewall.loc     #定義發件人
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id 192.168.37.133   #此為keepalived1服務器的IP
vrrp_mcast_group4 224.0.100.32     #定義多播地址
}
vrrp_instance nginx1 {       #節點名稱
state BACKUP                #節點模式
interface eth0            #指定網卡名
virtual_router_id 51
priority 95            #權重
advert_int 1            #健康檢查間隔時間,生產環境配置請慎重
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {         #指定VIP
192.168.37.200/16 dev eth0
}
}
virtual_server 192.168.37.200 80{      #指定虛擬服務器
delay_loop 6                          
lb_algo wrr                       #循環模式
lb_kind DR                        #LVS工作模式
protocol TCP                       #協議
real_server 192.168.37.134 80     #真實物理機的ip和端口
{
weight 2                         #權重
HTTP_GET {                      #健康檢查的模式
url {
path /
status_code 200                  #如果返回狀態碼為200,則視為服務器健康   
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.37.135 80 {           #定義第二臺真實服務器
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
} } }
   
vrrp_instance nginx2 { #定義第二臺虛擬服務器
state MASTER
interface eth0
virtual_router_id 34
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 2222
}
virtual_ipaddress {
192.168.37.201/16 dev eth0
}
}
virtual_server 192.168.37.201 80{
delay_loop 6
lb_algo wrr
lb_kind DR
protocol TCP
real_server 192.168.37.134 80
{
weight 2
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.37.135 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
} } }

#啟動keeplived
service keepalived restart
K2:

修改keepalived配置文件

vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id 192.168.37.130
vrrp_mcast_group4 224.0.100.32
}
vrrp_instance nginx1 {
state MASTER
interface eth0
virtual_router_id 51
priority100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.37.200/16 dev eth0
}
}
virtual_server 192.168.37.200 80{
delay_loop 6
lb_algo wrr
lb_kind DR
protocol TCP
real_server 192.168.37.134 80
{
weight 2
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.37.135 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
} } }
   
vrrp_instance nginx2 {
state BACKUP
interface eth0
virtual_router_id 34
priority 95
advert_int 1
authentication {
auth_type PASS
auth_pass 2222
}
virtual_ipaddress {
192.168.37.201/16 dev eth0
}
}
virtual_server 192.168.37.201 80{
delay_loop 6
lb_algo wrr
lb_kind DR
protocol TCP
real_server 192.168.37.134 80
{
weight 2
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.37.135 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
} } }

#啟動keeplived
service keepalived restart
RS1:
#修改Nginx的首頁為
echo “lvs1 RS1:192.168.37.135” > /usr/share/nginx/html/index.htm
#添加腳本
vim setpara.sh
   
    
vim setpara.sh
vip=192.168.37.200
vip2=192.168.37.201
mask='255.255.255.255'
case $1 in
start)
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
ifconfig lo:0 $vip netmask $mask broadcast $vip up
rgoute add -host $vip dev lo:0
ifconfig lo:1 $vip2 netmask $mask broadcast $vip2 up
rgoute add -host $vip2 dev lo:0
;;
stop)
ifconfig lo:0 down
ifconfig lo:1 down
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
;;
*)
echo "Usage $(basename $0) start|stop"
exit 1
;;
esac

#執行腳本

 bash setpara.sh start

#配置完畢,啟動Nginx
service nginx restart
RS2:
修改Nginx的首頁為
echo “lvs1 RS2:192.168.37.134” > /usr/share/nginx/html/index.html
添加腳本
   
    
vim setpara.sh
vip=192.168.37.200
vip2=192.168.37.201
mask='255.255.255.255'
case $1 in
start)
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
ifconfig lo:0 $vip netmask $mask broadcast $vip up
rgoute add -host $vip dev lo:0
ifconfig lo:1 $vip2 netmask $mask broadcast $vip2 up
rgoute add -host $vip2 dev lo:0
;;
stop)
ifconfig lo:0 down
ifconfig lo:1 down
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
;;
*)
echo "Usage $(basename $0) start|stop"
exit 1
;;
esac

#執行腳本 

bash setpara.sh start

#配置完畢,啟動Nginx

service nginx restart


有關keepalived配置問題,已及LVS-DR模式的ARP抑制原理隨后更新。


原創文章,作者:cnc,如若轉載,請注明出處:http://www.www58058.com/75374

(0)
cnccnc
上一篇 2017-05-13 20:51
下一篇 2017-05-13 21:30

相關推薦

  • Linux進程管理常用命令(一)

    Linux系統上的進程查看及管理工具:     pstree, ps, pidof, pgrep, top, htop, glances, pmap, vmstat, dstat,kill,job,bg,fg, nohup, nice, renice, killall,…     Centos 5: Sys…

    Linux干貨 2017-01-05
  • linux作業管理和任務計劃

    一、作業管理 Linux 的作業控制     前臺作業:通過終端啟動,且啟動后一直占據終端;     后臺作業:可通過終端啟動,但啟動后即轉入后臺運行(釋放終端) 如何讓作業運行于后臺? (1)  運行中的作業: Ctrl+z (2)&nb…

    Linux干貨 2016-09-13
  • 馬哥教育面授班22期:第一天課程練習

    Linux發展史:        1984年:Richard Stallman發起GNU項目和自由軟件基金會創建開源的UNIX實用工具版本        創建通用公共許可證(GPL)        1991年:Linux Torvalds發…

    Linux干貨 2017-05-16
  • 游戲運維工程師

    愛樂盟互動為深圳市政府評定的深圳市重點文化企業,同時為廣東省高科技產業商會常務理事單位,注冊資金人民幣1000萬元。公司的原創大型MMORPG網游《王者傳說2》為深圳市政府重點支持的網游項目,《王者傳說2》將全面領先于國內的同類產品,成為業界新標準的重要網游產品?。?《王者傳說2》已進入產品研發的重要階段。除《王者傳說2》,愛樂盟也已經啟動了數款全新大型網游…

    Linux干貨 2016-10-19
  • 第八周 服務管理與文本處理

    1、簡述systemd的新特性及unit常見類型分析,能夠實現編譯安裝的如nginx\apache實現通過systemd來管理 2、描述awk命令用法及示例(至少3例) 3、描述awk函數示例(至少3例)    

    2018-01-21
  • 文本處理三劍客之vim

    由于Linux中的配置文件都是以文本方式存在的,所以在Linux的系統中使用文本編輯器來配置系統是一件很重要的事情。而vim由于程序簡單、編輯速度快且能夠檢查編程中的語法錯誤,所以已成為最常用也最重要的文本處理工具。下面我們就來介紹一下。 一、vim的模式 Vim在使用過程中,基本上分為三種模式:命令模式、編輯模式與擴展命令模式。在三種模式下,我們可以執行的…

    Linux干貨 2016-08-12
欧美性久久久久