Hi folks,
I am trying to setup a two box lvs as described in section
9.3 of the howto (the version with a single nic and 2 marks).
For testing I have setup a telnet service.
The first telnet session picks up the master, the second
telnet is sent to the backup, as expected. Problem: If the
telnet session to the backup is terminated, then the backup
gets horrible slow. The master is as fast as usual (as it
seems).
I got the same problem for using Apache, so I would assume
that telnet is innocent.
Attached you can find the keepalived.conf files and the
script to run iptables. Here is the usual data
VIP=172.19.96.33
RIP1=172.19.96.19 ("node08")
RIP2=172.19.96.21 ("node09")
MAC1=00:30:48:9b:42:c2
MAC2=00:30:48:99:b8:72
sysctl.conf says
net.ipv4.conf.eth0.arp_announce = 2
net.ipv4.conf.eth1.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.eth1.arp_ignore = 1
net.ipv4.conf.all.arp_ignore = 1
There _is_ a second interface, but this is supposed to be
the connection to the database server only.
Any helpful comment would be highly appreciated.
Regards
Harri
#!/bin/bash
export PATH=/usr/sbin:/usr/bin:/sbin:/bin
IPTABLES=/sbin/iptables
MAC_NODE08=00:30:48:9b:42:c2
MAC_NODE09=00:30:48:99:b8:72
MARK08=6
MARK09=7
VIP=172.19.96.33
VPORT=80
case `uname -n` in
node08|node08.*)
RMAC=${MAC_NODE09}
MARK=${MARK08}
;;
node09|node09.*)
RMAC=${MAC_NODE08}
MARK=${MARK09}
;;
*)
exec 2>&1
echo "this script is not supposed to be run on host `uname -n`"
exit 1
;;
esac
$IPTABLES -t mangle -F
$IPTABLES -t mangle -I PREROUTING -d $VIP -p tcp -m tcp --dport $VPORT -m mac
\! --mac-source $RMAC -j MARK --set-mark 0x${MARK}
# Configuration File for Keepalived
# Global Configuration
global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server mailhost
smtp_connect_timeout 30
router_id LVS_MASTER # string identifying the machine
}
# describe virtual service ip
vrrp_instance VI_1 {
# initial state
state MASTER
interface eth0
# arbitary unique number 0..255
# used to differentiate multiple instances of vrrpd
virtual_router_id 1
# for electing MASTER, highest priority wins.
# to be MASTER, make 50 more than other machines.
priority 100
authentication {
auth_type PASS
auth_pass dwoeiodmewfivlqoijwmcldm93492oeiwwnn
}
virtual_ipaddress {
172.19.96.33/23
}
}
# describe virtual telnet server
virtual_server fwmark 6 {
delay_loop 15
lb_algo rr
lb_kind DR
protocol TCP
# persistence_timeout 5
real_server 172.19.96.19 23 {
TCP_CHECK {
connect_timeout 5
}
}
real_server 172.19.96.21 23 {
TCP_CHECK {
connect_timeout 5
}
}
}
--- keepalived.conf.node08 2010-03-25 17:00:17.000000000 +0100
+++ keepalived.conf.node09 2010-03-25 17:06:37.000000000 +0100
@@ -8,20 +8,20 @@
notification_email_from [email protected]
smtp_server mailhost
smtp_connect_timeout 30
- router_id LVS_MASTER # string identifying the machine
+ router_id LVS_BACKUP # string identifying the machine
}
# describe virtual service ip
vrrp_instance VI_1 {
# initial state
- state MASTER
+ state BACKUP
interface eth0
# arbitary unique number 0..255
# used to differentiate multiple instances of vrrpd
virtual_router_id 1
# for electing MASTER, highest priority wins.
# to be MASTER, make 50 more than other machines.
- priority 100
+ priority 50
authentication {
auth_type PASS
auth_pass dwoeiodmewfivlqoijwmcldm93492oeiwwnn
@@ -32,7 +32,7 @@
}
# describe virtual telnet server
-virtual_server fwmark 6 {
+virtual_server fwmark 7 {
delay_loop 15
lb_algo rr
lb_kind DR
_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/
LinuxVirtualServer.org mailing list - [email protected]
Send requests to [email protected]
or go to http://lists.graemef.net/mailman/listinfo/lvs-users