LVS Server : 192.168.0.201
Virtual IP : 192.168.0.220
Nginx Server1 : 192.168.0.202
Nginx Server2 : 192.168.0.203
Nginx Server1(192.168.0.202) & Nginx Server2(192.168.0.203), do following same settings:
1.Edit /etc/rc.local,add following content, then restart linux server
2.sudo apt-get install nginx & sudo ufw allow 80/tcp & sudo service nginx start
LVS Server(192.168.0.201):
1.sudo apt-get install ipvsadm keepalived
2.edit /etc/keepalived/keepalived.conf, add following contents
3.sudo service keepalived start
4.sudo ipvsadm -ln (check ipvsadm settings)
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.0.220:80 wrr
-> 192.168.0.202:80 Route 3 0 0
-> 192.168.0.203:80 Route 3 0 0
Virtual IP : 192.168.0.220
Nginx Server1 : 192.168.0.202
Nginx Server2 : 192.168.0.203
Nginx Server1(192.168.0.202) & Nginx Server2(192.168.0.203), do following same settings:
1.Edit /etc/rc.local,add following content, then restart linux server
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
ifconfig lo:0 192.168.0.220 netmask 255.255.255.255 broadcast 192.168.0.220 up
route add -host 192.168.0.220 dev lo:0
echo "0" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
exit 0
2.sudo apt-get install nginx & sudo ufw allow 80/tcp & sudo service nginx start
LVS Server(192.168.0.201):
1.sudo apt-get install ipvsadm keepalived
2.edit /etc/keepalived/keepalived.conf, add following contents
global_defs {
router_id LVS_DEVEL
}
vrrp_instance VI_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.0.220
}
}
virtual_server 192.168.0.220 80 {
delay_loop 1
lb_algo wrr
lb_kind DR
#persistence_timeout 60
protocol TCP
real_server 192.168.0.202 80 {
weight 3
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.0.203 80 {
weight 3
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
3.sudo service keepalived start
4.sudo ipvsadm -ln (check ipvsadm settings)
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.0.220:80 wrr
-> 192.168.0.202:80 Route 3 0 0
-> 192.168.0.203:80 Route 3 0 0