lvs負載均衡叢集(DR模式)
阿新 • • 發佈:2018-11-01
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