Greetings, all:
OS: CentOS 6.4 x86_64 Kernel: 2.6.32-358.14.1
I could use some assistance with setting up pulse to load balance my dns servers. I've configured tcp and udp port 53 with the piranha gui, set up arptable rules on the real servers and added the virtual ip to the bond0 interface on the real servers, but I'm still having no luck in getting things going. A dig against the virtual ip address simply times out and ipvsadm shows no servers under the UDP connection for the virtual IP I defined in lvs.cf. Nanny also complains in /var/log/messages like so:
READ to x.x.x.x timed out
I've attached my lvs.cf and sysctl.conf files for the lvs server and real dns servers. Any help or nudges in the right direction would be greatly appreciated!
Thanks.
--
lvs.cf: serial_no = 56 primary = 10.100.9.40 service = lvs backup_active = 1 backup = 10.100.9.41 heartbeat = 1 heartbeat_port = 539 keepalive = 6 deadtime = 18 network = direct debug_level = NONE monitor_links = 1 syncdaemon = 1 syncd_iface = eth0 syncd_id = 0 virtual ns1 { active = 1 address = 10.100.9.224 eth0:2 vip_nmask = 255.255.255.0 port = 53 use_regex = 0 load_monitor = rup scheduler = wlc protocol = tcp timeout = 6 reentry = 15 quiesce_server = 0 server ns1a { address = 10.100.9.221 active = 1 weight = 1 } server ns1b { address = 10.100.9.222 active = 1 weight = 1 } } virtual ns1 { active = 1 address = 10.100.9.224 eth0:2 vip_nmask = 255.255.255.0 port = 53 send = "\n" use_regex = 0 load_monitor = rup scheduler = wlc protocol = udp timeout = 6 reentry = 15 quiesce_server = 0 server ns1a { address = 10.100.9.221 active = 1 weight = 1 } server ns1b { address = 10.100.9.222 active = 1 weight = 1 } }
/etc/sysctl.conf (LVS): # Kernel sysctl configuration file for Red Hat Linux # # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and # sysctl.conf(5) for more details.
# Controls IP packet forwarding net.ipv4.ip_forward = 1
# Controls source route verification net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing net.ipv4.conf.default.accept_source_route = 0
# Promote secondary IPs (virtual) upon failover net.ipv4.conf.all.promote_secondaries = 1
# Controls the System Request debugging functionality of the kernel kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename. # Useful for debugging multi-threaded applications. kernel.core_uses_pid = 1
# Controls the use of TCP syncookies net.ipv4.tcp_syncookies = 1
# Disable netfilter on bridges. net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
# Controls the maximum size of a message, in bytes kernel.msgmnb = 65536
# Controls the default maxmimum size of a mesage queue kernel.msgmax = 65536
# Controls the maximum shared segment size, in bytes kernel.shmmax = 68719476736
# Controls the maximum number of shared memory segments, in pages kernel.shmall = 4294967296
# Force nfs lock daemon to a set port fs.nfs.nlm_udpport=35001 fs.nfs.nlm_tcpport=35001
/etc/sysctl.conf (Real Server): # Kernel sysctl configuration file for Red Hat Linux # # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and # sysctl.conf(5) for more details.
# Controls IP packet forwarding net.ipv4.ip_forward = 0
# Controls source route verification net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename. # Useful for debugging multi-threaded applications. kernel.core_uses_pid = 1
# Controls the use of TCP syncookies net.ipv4.tcp_syncookies = 1
# Disable netfilter on bridges. net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
# Controls the default maxmimum size of a mesage queue kernel.msgmnb = 65536
# Controls the maximum size of a message, in bytes kernel.msgmax = 65536
# Controls the maximum shared segment size, in bytes kernel.shmmax = 68719476736
# Controls the maximum number of shared memory segments, in pages kernel.shmall = 4294967296
# Force nfs lock daemon to a set port fs.nfs.nlm_udpport=35001 fs.nfs.nlm_tcpport=35001
On Fri, Aug 23, 2013 at 11:53 AM, Trevor Kates katestt@gmail.com wrote:
lvs.cf: serial_no = 56 primary = 10.100.9.40 service = lvs backup_active = 1 backup = 10.100.9.41 heartbeat = 1 heartbeat_port = 539 keepalive = 6 deadtime = 18 network = direct debug_level = NONE monitor_links = 1 syncdaemon = 1 syncd_iface = eth0 syncd_id = 0 virtual ns1 { active = 1 address = 10.100.9.224 eth0:2 vip_nmask = 255.255.255.0 port = 53 use_regex = 0 load_monitor = rup scheduler = wlc protocol = tcp timeout = 6 reentry = 15 quiesce_server = 0 server ns1a { address = 10.100.9.221 active = 1 weight = 1 } server ns1b { address = 10.100.9.222 active = 1 weight = 1 } } virtual ns1 { active = 1 address = 10.100.9.224 eth0:2 vip_nmask = 255.255.255.0 port = 53 send = "\n" use_regex = 0 load_monitor = rup scheduler = wlc protocol = udp timeout = 6 reentry = 15 quiesce_server = 0 server ns1a { address = 10.100.9.221 active = 1 weight = 1 } server ns1b { address = 10.100.9.222 active = 1 weight = 1 } }
/etc/sysctl.conf (LVS): # Kernel sysctl configuration file for Red Hat Linux # # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and # sysctl.conf(5) for more details.
# Controls IP packet forwarding net.ipv4.ip_forward = 1
# Controls source route verification net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing net.ipv4.conf.default.accept_source_route = 0
# Promote secondary IPs (virtual) upon failover net.ipv4.conf.all.promote_secondaries = 1
# Controls the System Request debugging functionality of the kernel kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename. # Useful for debugging multi-threaded applications. kernel.core_uses_pid = 1
# Controls the use of TCP syncookies net.ipv4.tcp_syncookies = 1
# Disable netfilter on bridges. net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
# Controls the maximum size of a message, in bytes kernel.msgmnb = 65536
# Controls the default maxmimum size of a mesage queue kernel.msgmax = 65536
# Controls the maximum shared segment size, in bytes kernel.shmmax = 68719476736
# Controls the maximum number of shared memory segments, in pages kernel.shmall = 4294967296
# Force nfs lock daemon to a set port fs.nfs.nlm_udpport=35001 fs.nfs.nlm_tcpport=35001
/etc/sysctl.conf (Real Server): # Kernel sysctl configuration file for Red Hat Linux # # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and # sysctl.conf(5) for more details.
# Controls IP packet forwarding net.ipv4.ip_forward = 0
# Controls source route verification net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename. # Useful for debugging multi-threaded applications. kernel.core_uses_pid = 1
# Controls the use of TCP syncookies net.ipv4.tcp_syncookies = 1
# Disable netfilter on bridges. net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
# Controls the default maxmimum size of a mesage queue kernel.msgmnb = 65536
# Controls the maximum size of a message, in bytes kernel.msgmax = 65536
# Controls the maximum shared segment size, in bytes kernel.shmmax = 68719476736
# Controls the maximum number of shared memory segments, in pages kernel.shmall = 4294967296
# Force nfs lock daemon to a set port fs.nfs.nlm_udpport=35001 fs.nfs.nlm_tcpport=35001
Embarrassingly, I was missing a sending program with a proper expect line for the UDP connection. All is working now.
Thanks. --