1. 程式人生 > >lvs負載均衡叢集(DR模式)

lvs負載均衡叢集(DR模式)

在這裡插入圖片描述
DR模式叢集。 實際中都應該是網際網路的IP,這裡模擬現象。由web 直接回包給client。

會出現的問題

1、群集地址 (web回包IP與client請求不同)需要建立vip。
2、路由器ARP請求(需要關閉web1、web2部分arp響應)。
3、lvs關閉ICMP響應 (ICMP重定向問題),pc和路由器都有路由優化功能。死找一個web。

開始配置 NFS就不做了 前一篇文件有。

 chkconfig NetworkManager off
 chkconfig iptables off
 cat /etc/sysconfig/selinux  #例行公事四臺都要這樣。

在這裡插入圖片描述
配置IP web1 web2 lvs 都需要指定閘道器1.1

ip a #以下為web1的輸出

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:5b:d8:33 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.4/24 brd 192.168.1.255 scope global eth0
    inet6 fe80::20c:29ff:fe5b:d833/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:5b:d8:3d brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.4/24 brd 192.168.2.255 scope global eth1
    inet6 fe80::20c:29ff:fe5b:d83d/64 scope link 
       valid_lft forever preferred_lft forever

在這裡插入圖片描述

配置lvs

yum -y install ipvsadm

在這裡插入圖片描述

modprobe ip_vs #啟用ip_vs

在這裡插入圖片描述

配置虛擬IP地址(vip)
cd /etc/sysconfig/network-scripts/
network-scripts]# cp ifcfg-eth0 ifcfg-eth0:0
network-scripts]# vim ifcfg-eth0:0

在這裡插入圖片描述

ip a #lvs1的輸出
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:3b:69:41 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global eth0
    inet 192.168.1.254/24 brd 192.168.1.255 scope global secondary eth0:0
    inet6 fe80::20c:29ff:fe3b:6941/64 scope link 
       valid_lft forever preferred_lft forever


net.ipv4.ip_forward = 0 
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.eth0.send_redirects = 0 #關閉路由轉發、關閉linux核心的重定向引數響應
sysctl -p

在這裡插入圖片描述
在這裡插入圖片描述

service ipvsadm stop
ipvsadm -A -t 192.168.1.254:80 -s rr
ipvsadm -a -t 192.168.1.254:80 -r 192.168.1.4:80 -g -w 1
ipvsadm -a -t 192.168.1.254:80 -r 192.168.1.3:80 -g -w 1
chkconfig ipvsadm on
service ipvsadm save 
service ipvsadm start #配置負載分配策略

在這裡插入圖片描述
web1和web2 使用虛介面lo:0來承載IP ,此地址僅用作傳送web響應資料包的源地址。新增路由記錄表,將訪問vip的資料限制在本地。

cd /etc/sysconfig/network-scripts/
network-scripts]# cp ifcfg-eth0  ifcfg-lo:0
network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.254
NETMASK=255.255.255.255 #web1 、web2配置相同
#子網掩碼必須四個255

在這裡插入圖片描述

route add -host 192.168.1.254 dev lo:0  #代表去1.254走lo:0卡 就在本地
cat /etc/rc.local  #新增路由記錄,寫入檔案,開機自動執行。

在這裡插入圖片描述

vim /etc/sysctl.conf 
net.ipv4.ip_forward = 0
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
sysctl -p  #調整/proc  arp響應引數

在這裡插入圖片描述

echo 123 >  /var/www/html/index.html
service httpd start # 建立網頁測試檔案

在這裡插入圖片描述
web2 與web1 配置相同。

iptables -t nat -A PREROUTING -d 200.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.1.254:80
service iptables save
chkconfig iptables on #路由器設定防火牆規則

在這裡插入圖片描述

#開啟路由轉發
systc -p

在這裡插入圖片描述
在這裡插入圖片描述
如果用client 訪問200.0.0.1
在這裡插入圖片描述
在這裡插入圖片描述