LVS DR mode startup script
LVS DR mode startup script
1. DR script:
[root@ipvs ~] # cat / etc/rc.local
#! / bin/sh
#
This script will be executed after all the other init scripts.You can put your own initialization stuff in here if you don'twant to do the full Sys V style init stuff.
Touch / var/lock/subsys/local
# / usr/local/apache/bin/apachectl-f / usr/local/apache/conf/httpd.conf-k start
/ root/dr_start.sh
[root@ipvs ~] # cat dr_start.sh
#! / bin/bash
Ifconfig eth0:0 192.168.1.100
Ipvsadm-A-t 192.168.1.100 ipvsadm 80-s wlc
Ipvsadm-a-t 192.168.1.100 ipvsadm 80-r 192.168.1.102 purl 80-g-w 2
Ipvsadm-a-t 192.168.1.100 purl 80-r 192.168.1.105 purl 80-g-w 1
Ipvsadmin-Ln
2. Realserver script:
[root@web100 ~] # cat / etc/rc.local
#! / bin/sh
#
This script will be executed after all the other init scripts.You can put your own initialization stuff in here if you don'twant to do the full Sys V style init stuff.
Touch / var/lock/subsys/local
# / usr/local/apache/bin/apachectl-f / usr/local/apache/conf/httpd.conf-k start
/ root/rs_start.sh
[root@web100 ~] # cat rs_start.sh
#! / bin/bash
Echo 1 > / proc/sys/net/ipv4/conf/all/arp_ignore
Echo 1 > / proc/sys/net/ipv4/conf/lo/arp_ignore
Echo 2 > / proc/sys/net/ipv4/conf/lo/arp_announce
Echo 2 > / proc/sys/net/ipv4/conf/all/arp_announce
Ifconfig lo:0 192.168.1.100 netmask 255.255.255.255
Route add-host 192.168.1.100 dev lo:0
Ifconfig
Route-n
VIP and RIP are not in the same network segment:
Gateway configuration:
[root@gateway ~] # ip addr
2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000
Link/ether 00:0c:29:eb:92:bc brd ff:ff:ff:ff:ff:ff
Inet 192.168.1.102/24 brd 192.168.1.255 scope global eth0
Inet6 fe80::20c:29ff:feeb:92bc/64 scope link
Valid_lft forever preferred_lft forever
3: eth2: mtu 1500 qdisc pfifo_fast state UP qlen 1000
Link/ether 00:0c:29:eb:92:c6 brd ff:ff:ff:ff:ff:ff
Inet 192.168.11.102/24 brd 192.168.11.255 scope global eth2
Inet6 fe80::20c:29ff:feeb:92c6/64 scope link
Valid_lft forever preferred_lft forever
4: eth3: mtu 1500 qdisc pfifo_fast state UP qlen 1000
Link/ether 00:0c:29:eb:92:d0 brd ff:ff:ff:ff:ff:ff
Inet 192.168.10.102/24 brd 192.168.10.255 scope global eth3
Inet6 fe80::20c:29ff:feeb:92d0/64 scope link
Valid_lft forever preferred_lft forever
[root@gateway] # sysctl-p
Net.ipv4.ip_forward = 1
[root@gateway ~] # route-n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.11.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 00 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 00 eth2
169.254.0.0 0.0.0.0 255.255.0.0 U 1004 00 eth3
192.168.1.101.61378 > 192.168.11.10.http: Flags [F.], cksum 0x8b64 (correct), seq 506, ack 283, win 16354, length 0
15oui Unknown 50.085817 00:0c:29:71:d0:bc (oui Unknown) > 00:0c:29:eb:92:d0 (oui Unknown), ethertype IPv4 (0x0800), length 60: (tos 0x0, ttl 64, id 16893, offset 0, flags [DF], proto TCP (6), length 40)
192.168.11.10.http > 192.168.1.101.61378: Flags [.], cksum 0xca51 (correct), seq 283, ack 507, win 245, length 0
15oui Unknown 50.085829 00:0c:29:eb:92:bc (oui Unknown) > 00:e0:4c:92:95:82 (oui Unknown), ethertype IPv4 (0x0800), length 54: (tos 0x0, ttl 63, id 16893, offset 0, flags [DF], proto TCP (6), length 40)
IPVS configuration:
[root@ipvs ~] # ip addr
2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000
Link/ether 00:0c:29:0a:98:12 brd ff:ff:ff:ff:ff:ff
Inet 192.168.11.103/24 brd 192.168.11.255 scope global eth0
Inet 192.168.11.10/32 brd 192.168.11.10 scope global eth0:0
Inet6 fe80::20c:29ff:fe0a:9812/64 scope link
Valid_lft forever preferred_lft forever
3: eth2: mtu 1500 qdisc pfifo_fast state UP qlen 1000
Link/ether 00:0c:29:0a:98:1c brd ff:ff:ff:ff:ff:ff
Inet 192.168.10.103/24 brd 192.168.10.255 scope global eth2
Inet6 fe80::20c:29ff:fe0a:981c/64 scope link
Valid_lft forever preferred_lft forever
[root@ipvs ~] # route-n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.11.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 00 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 00 eth2
0.0.0.0 192.168.11.102 0.0.0.0 UG 0 0 0 eth0
Ifconfig eth0:0 192.168.11.10 netmask 255.255.255.255
Ipvsadm-A-t 192.168.11.10 80-s rr
Ipvsadm-a-t 192.168.11.10 purl 80-r 192.168.10.104 purl 80-g
Ipvsadm-a-t 192.168.11.10 purl 80-r 192.168.10.105 purl 80-g
Watch 'ipvsadm-Ln'
192.168.1.101.61361 > 192.168.11.10.http: Flags [.], cksum 0x086c (correct), seq 1, ack 1, win 16425, length 0
Oui Unknown > 00:0c:29:0a:98:12 (oui Unknown), ethertype IPv4 (0x0800), length 60: (tos 0x0, ttl 25228, id 25228, offset 0, flags [DF], proto TCP (6), length 40)
192.168.1.101.61361 > 192.168.11.10.http: Flags [.], cksum 0x086c (correct), seq 1, ack 1, win 16425, length 0
Oui Unknown > 00:0c:29:71:d0:bc (oui Unknown), ethertype IPv4 (0x0800), length 60: (tos 0x0, ttl 25228, id 25228, offset 0, flags [DF], proto TCP (6), length 40)
Web configuration:
[root@web01 ~] # ip addr
2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000
Link/ether 00:0c:29:d3:56:4f brd ff:ff:ff:ff:ff:ff
Inet 192.168.10.104/24 brd 192.168.10.255 scope global eth0
Inet6 fe80::20c:29ff:fed3:564f/64 scope link
Valid_lft forever preferred_lft forever
[root@web01 ~] # route-n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.11.10 0.0.0.0 255.255.255.255 UH 0 0 0 lo
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 00 eth0
0.0.0.0 192.168.10.102 0.0.0.0 UG 0 0 0 eth0
Echo 1 > / proc/sys/net/ipv4/conf/all/arp_ignore
Echo 1 > / proc/sys/net/ipv4/conf/lo/arp_ignore
Echo 2 > / proc/sys/net/ipv4/conf/lo/arp_announce
Echo 2 > / proc/sys/net/ipv4/conf/all/arp_announce
Ifconfig lo:0 192.168.11.10 netmask 255.255.255.255
Ifconfig
Route add-host 192.168.11.10 dev lo:0
192.168.1.101.61361 > 192.168.11.10.http: Flags [S], cksum 0x6a33 (correct), seq 2012475181, win 8192, options [mss 1460, nopweight wscale 2, length 0
Oui Unknown > 00:0c:29:eb:92:d0 (oui Unknown), ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 52)
192.168.11.10.http > 192.168.1.101.61361: Flags [S.], cksum 0xcebb (correct), seq 4055011495, ack 2012475182, win 14600, options [mss 1460
Oui Unknown > 00:e0:4c:92:95:82 (oui Unknown), ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto TCP (6), length 52)
192.168.11.10.http > 192.168.1.101.61361: Flags [S.], cksum 0xcebb (correct), seq 4055011495, ack 2012475182, win 14600, options [mss 1460
Oui Unknown > 00:0c:29:eb:92:c6 (oui Unknown), ethertype IPv4 (0x0800), length 60: (tos 0x0, ttl 128, id 25228, offset 0, flags [DF], proto TCP (6), length 40)
192.168.1.101.61361 > 192.168.11.10.http: Flags [.], cksum 0x086c (correct), seq 1, ack 1, win 16425, length 0
Oui Unknown > 00:0c:29:0a:98:12 (oui Unknown), ethertype IPv4 (0x0800), length 60: (tos 0x0, ttl 277, id 25228, offset 0, flags [DF], proto TCP (6), length 40)
192.168.1.101.61361 > 192.168.11.10.http: Flags [.], cksum 0x086c (correct), seq 1, ack 1, win 16425, length 0
Oui Unknown > 00:0c:29:71:d0:bc (oui Unknown), ethertype IPv4 (0x0800), length 60: (tos 0x0, ttl 277, id 25228, offset 0, flags [DF], proto TCP (6), length 40)