centos6.5實現LVS+Keepalived雙主熱備

拓撲


wKiom1g_qcmgovsJAAEqbqM00aM165.jpg-wh_50

1、   基本配置

根據拓撲配置IP

2、   調度器配置

-安裝ipvsadm,並啓用ip_vs模塊
[root@localhost ~]# yum -y install ipvsadm
[root@localhost ~]# modprobe ip_vs
[root@localhost ~]# echo "modproce ip_vs" >>/etc/rc.local


-修改內核參數
[root@localhost ~]# sysctl –p
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.eth0.send_redirects = 0


-安裝keepalived,並修改配置文件

  --安裝

[root@localhost~]# cd /usr/src/
[root@localhost src]# tar zxfkeepalived-1.2.13.tar.gz 
[root@localhost src]# cd keepalived-1.2.13
[root@localhost keepalived-1.2.13]#./configure --prefix=/--with-kernel-dir=/usr/src/kernels/2.6.32-431.el6.x86_64/ && make&& make install


--修改配置文件-全局配置

global_defs {
  notification_email {
    [email protected]
    [email protected]
    [email protected]
  }
  notification_email_from [email protected]
  smtp_server 192.168.200.1
  smtp_connect_timeout 30
  router_id LVS_DEVEL_1     #調度器名稱
}


--修改配置文件-熱備配置

vrrp_instance VI_1 {     #熱備組1
   state MASTER       #熱備狀態
   interface eth0
   virtual_router_id 51
   priority 100           #優先級
   advert_int 1
   authentication {
       auth_type PASS
       auth_pass 1111
   }
   virtual_ipaddress {        
       192.168.1.11                 #羣集VIP地址
   }
}
vrrp_instance VI_2 {             #熱備組2
   state BACKUP
   interface eth0
   virtual_router_id 52
   priority 90
   advert_int 1
   authentication {
       auth_type PASS
       auth_pass 1111
    }
   virtual_ipaddress {
       192.168.1.22
   }
}


--修改配置文件-web服務器配置

irtual_server 192.168.1.11 80 {     #虛擬服務器地址(VIP),端口’
   delay_loop 6           #健康檢查時間間隔(s)
   lb_algo rr            #調度算法-輪詢
   lb_kind DR            #集羣工作模式
 !  persistence_timeout 50      #連接保持時間(s),去掉!啓用
   protocol TCP           #應用服務採用的是TCP協議
 
   real_server 192.168.1.2 80 {        #第一個web節點的地址,端口
       weight 1              #節點的權重
       TCP_CHECK {            #健康檢查方式
            connect_timeout 3     #連接超時
            nb_get_retry 3      #重試次數
            delay_before_retry 3   #重試間隔
       }
   }
   real_server 192.168.1.3 80 {        #第二個web節點的地址,端口
       weight 1
       TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
       }
   }
}
virtual_server 192.168.1.22 80 {
   delay_loop 6
   lb_algo rr
   lb_kind DR
 !  persistence_timeout 50
   protocol TCP
 
   real_server 192.168.1.2 80 {
       weight 1
       TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
       }
   }
   real_server 192.168.1.3 80 {
       weight 1
       TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
       }
   }
}


--重啓服務

service keepalived restart


--同理配置另一調度器

3、   節點服務器配置

-修改內核參數
[root@localhost network-scripts]# sysctl–p
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2


-配置lo:0,lo:1虛接口
[root@localhost ~]# cat/etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.1.11
NETMASK=255.255.255.255
[root@localhost ~]# cat/etc/sysconfig/network-scripts/ifcfg-lo:1
DEVICE=lo:1
ONBOOT=yes
IPADDR=192.168.1.22
NETMASK=255.255.255.255


-添加本地路由
[root@localhost ~]# route add -host192.168.1.11 dev lo:0
[root@localhost ~]# route add -host192.168.1.22 dev lo:1
[root@localhost ~]# echo "route add-host 192.168.1.11 dev lo:0" >> /etc/rc.local 
[root@localhost ~]# echo "route add-host 192.168.1.22 dev lo:1" >> /etc/rc.local


-啓動web服務

 

4、   NFS配置

[root@localhost ~]# cat /etc/exports 
/var/www/html     192.168.2.0/24(rw,sync,no_root_squash)
[root@localhost ~]# service rpcbindrestart
停止 rpcbind:                                             [確定]
正在啓動 rpcbind:                                         [確定]
[root@localhost ~]# service nfs restart
關閉 NFS 守護進程:                                        [失敗]
關閉 NFS mountd:                                          [失敗]
關閉 NFS quotas:                                          [失敗]
Shutting down RPC idmapd:                                  [失敗]
啓動 NFS 服務:                                            [確定]
關掉 NFS 配額:                                            [確定]
啓動 NFS mountd:                                          [確定]
啓動 NFS 守護進程:                                        [確定]
正在啓動 RPC idmapd:                                     [確定]
 
 
[root@localhost ~]# showmount -e192.168.2.1
Export list for 192.168.2.1:
/var/www/html 192.168.2.0/24
[root@localhost ~]# mount192.168.2.1:/var/www/html/ /var/www/html/


5、   內部服務器發佈—NAT

服務配置防火牆代替路由器測試

Eth0配置兩個ip

[root@localhost network-scripts]# catifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:D5:AD:1B
TYPE=Ethernet
UUID=d3db1bd9-b0f5-4cc2-a5bb-3f0c28430ee0
ONBOOT=yes
IPADDR0=200.0.0.11
NETMASK=255.255.255.0
IPADDR1=200.0.0.22
NETMASK=255.255.255.0


--NAT

[root@localhost ~]# iptables -t nat -APREROUTING -i eth0 -d 200.0.0.11 -p tcp --dport 80 -j DNAT --to 192.168.1.11
[root@localhost ~]# iptables -t nat -APREROUTING -i eth0 -d 200.0.0.22 -p tcp --dport 80 -j DNAT --to 192.168.1.22


附:DNS配置

[root@j1 ~]# cat /var/named/abc.com 
$TTL 1D
@    INSOA   @ rname.invalid. (
                                   0     ; serial
                                   1D   ; refresh
                                   1H   ; retry
                                   1W  ; expire
                                   3H) ; minimum
       in    ns    dns
dns      in    a     200.0.0.2
www      in    a     200.0.0.11
       in    a     200.0.0.22


--啓動nfs前


wKioL1g_q8KTCLt3AAAnXb-4oxA596.jpg-wh_50

wKiom1g_q8KRQxYoAAAnfyNyRnE981.jpg-wh_50

  --啓動nfs後

wKioL1g_q_viacTTAAAvreM883o350.jpg-wh_50

--調度器1

 wKioL1g_rK7QPSCYAAB-bz4IWT4212.jpg-wh_50                          

--調度器2

wKioL1g_rMChZAK9AABwbDa88Rs011.jpg-wh_50




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章