LVS負載均衡服務的工作原理及方式
一、LVS—NAT+持久連接(80+443)-負載均衡部署
1.環境準備
服務器A:負載均衡服務器 IP:172.17.16.173和192.168.16.173
服務器B:real-server IP:192.168.17.173
服務器C:real-server IP:192.168.17.174
#服務器B和服務器C開啓基於SSL加密的nginx服務
cd /etc/pki/tls/certs/
make nginx.crt
vim /etc/nginx/nginx.conf
#添加下面幾行
server {
listen 443
root /var/www/html
ssl_certificate "/etc/pki/tls/certs/nginx.crt"
ssl_certificate_key "/etc/pki/tls/certs/nginx.key"
ssl_session_cache shared:SSL:1m
ssl_session_timeout 10m
ssl_ciphers HIGH:!aNULL:!MD5
ssl_prefer_server_ciphers on
}
#去除私鑰口令,否則服務無法啓動
cp nginx.key nginx.key.bak
openssl rsa -in nginx.key.bak -out nginx.key
systemctl start nginx
2.在VS定義持久連接的綁定端口
iptables -t mangle -A PREROUTING -d 172.17.16.173 -p tcp --dport 80 -j MARK --set-mark 99
iptables -t mangle -A PREROUTING -d 172.17.16.173 -p tcp --dport 443 -j MARK --set-mark 99
3.在VS建立NAT模式虛擬服務並設置RS服務地址
ipvsadm -A -f 99 -s wrr -p
ipvsadm -a -f 99 -r 192.168.17.173 -m
ipvsadm -a -f 99 -r 192.168.17.174 -m
4.VS開啓轉發功能
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p
5.RS修改網關爲DIP
route add default gw 192.168.16.173
二、LVS—DR+持久連接(80+443)-負載均衡部署
1.環境準備
服務器A:負載均衡服務器 VIP:172.17.16.173和DIP:172.17.16.100
服務器B:real-server RIP:172.17.17.173
服務器C:real-server RIP:172.17.17.174
#服務器B和服務器C開啓基於SSL加密的nginx服務
cd /etc/pki/tls/certs/
make nginx.crt
vim /etc/nginx/nginx.conf
#添加下面幾行
server {
listen 443
root /var/www/html
ssl_certificate "/etc/pki/tls/certs/nginx.crt"
ssl_certificate_key "/etc/pki/tls/certs/nginx.key"
ssl_session_cache shared:SSL:1m
ssl_session_timeout 10m
ssl_ciphers HIGH:!aNULL:!MD5
ssl_prefer_server_ciphers on
}
#去除私鑰口令,否則服務無法啓動
cp nginx.key nginx.key.bak
openssl rsa -in nginx.key.bak -out nginx.key
systemctl start nginx
2.在VS定義持久連接的綁定端口
iptables -t mangle -A PREROUTING -d 172.17.16.173 -p tcp --dport 80 -j MARK --set-mark 99
iptables -t mangle -A PREROUTING -d 172.17.16.173 -p tcp --dport 443 -j MARK --set-mark 99
3.在VS建立NAT模式虛擬服務並設置RS服務地址
配置VIP只之廣播自己
route add -host 172.17.16.173 dev eth0
ipvsadm -A -f 99 -s wrr -p
ipvsadm -a -f 99 -r 172.17.17.173 -g -w 3
ipvsadm -a -f 99 -r 172.17.17.174 -g -w 3
4.VS開啓轉發功能
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p
5.在RS上:設置迴環網卡別名爲VIP,禁止廣播迴應,迴環網卡路由爲自己
ifconfig lo:0 172.17.16.173 broadcast 172.17.16.173 netmask 255.255.255.255 up
route add -host 172.17.16.173 lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce