LVS UDP服务测试
2014-04-22 by dongnan
开始之前
此次测试的是两个常用的udp
协议服务,dns
与ntp
其中:
dns
服务使用udp/tcp
双协议 端口号53
,linux
系统下dns
软件为常用的bind-9
ntp
服务使用udp/tcp
双协议 端口号123
,linux
系统下ntp
软件为ntpd
环境
LVS 与 Keepalived 安装请参考以下文章:
基于LVS的DNS集群
DNS安装配置请参考这里
配置文档
配置DNS
虚拟服务
cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id lvs-test
}
#
vrrp_sync_group VG1 {
group {
VI_1
}
}
vrrp_instance VI_1 {
state BACKUP
nopreempt
interface eth0
track_interface {
eth0
eth1
}
virtual_router_id 45
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass dongnan
}
virtual_ipaddress {
172.27.233.45/24 dev eth0 scope global
}
}
# ipvs
virtual_server 172.27.233.45 53 {
delay_loop 5
lb_algo wrr
lb_kind DR
#persistence_timeout 10
protocol UDP
real_server 172.27.233.43 53 {
weight 1
MISC_CHECK {
misc_path "/usr/bin/dig @172.27.233.43 zongming.net +time=1 > /dev/null && exit 0 || exit 1"
misc_timeout 6
nb_get_retry 3
delay_before_retry 3
}
}
real_server 172.27.233.44 53 {
weight 1
MISC_CHECK {
misc_path "/usr/bin/dig @172.27.233.44 zongming.net +time=1 > /dev/null && exit 0 || exit 1"
misc_timeout 6
nb_get_retry 3
delay_before_retry 3
}
}
}
测试DNS
模拟客户端向VIP 172.27.233.45
请求10
次DNS
解析:
for((i=1;i<=10;i++));do dig @172.27.233.45 zongming.net;done
LVS 状态:
ipvsadm -Ln --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
UDP 172.27.233.45:53 10 10 0 580 0
-> 172.27.233.43:53 5 5 0 290 0
-> 172.27.233.44:53 5 5 0 290 0
其中一台服务器的DNS请求日志:
tail -f /usr/local/named/log/queries.log
03-Apr-2014 16:17:42.774 queries: info: client 172.27.233.130#53823 (zongming.net): query: zongming.net IN A + (172.27.233.45)
03-Apr-2014 16:17:42.849 queries: info: client 172.27.233.130#57952 (zongming.net): query: zongming.net IN A + (172.27.233.45)
03-Apr-2014 16:17:42.912 queries: info: client 172.27.233.130#56767 (zongming.net): query: zongming.net IN A + (172.27.233.45)
03-Apr-2014 16:17:43.009 queries: info: client 172.27.233.130#57767 (zongming.net): query: zongming.net IN A + (172.27.233.45)
03-Apr-2014 16:17:43.083 queries: info: client 172.27.233.130#50026 (zongming.net): query: zongming.net IN A + (172.27.233.45)
请求1W次DNS解析
客户端:
time for((i=1;i<=10000;i++)) ;do dig @172.27.233.45 zongming.net > /dev/null || echo "failed" ;done
real 0m40.437s
user 0m1.108s
sys 0m1.456s
LVS状态:
ipvsadm -Ln --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
UDP 172.27.233.45:53 8408 10000 0 580000 0
-> 172.27.233.43:53 4204 5005 0 290290 0
-> 172.27.233.44:53 4204 4995 0 289710 0
基于LVS的NTP集群
NTP安装配置请参考这里
配置文档
配置NTP
虚拟服务
cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id lvs-test
}
#
vrrp_sync_group VG1 {
group {
VI_1
}
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
track_interface {
eth0
eth1
}
virtual_router_id 45
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass dongnan
}
virtual_ipaddress {
172.27.233.45/24 dev eth0 scope global
}
}
# ipvs
virtual_server 172.27.233.45 123 {
delay_loop 5
lb_algo wrr
lb_kind DR
#persistence_timeout 10
protocol UDP
real_server 172.27.233.43 123 {
weight 1
MISC_CHECK {
misc_path "/usr/sbin/ntpdate -t 0.2 172.27.233.43 > /dev/null && exit 0 || exit 1"
misc_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 172.27.233.44 123 {
weight 1
MISC_CHECK {
misc_path "/usr/sbin/ntpdate -t 0.2 172.27.233.44 > /dev/null && exit 0 || exit 1"
misc_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
测试NTP
模拟客户端向VIP 172.27.233.45
发送10
次同步时间请求:
for((i=1;i<=10;i++));do /usr/sbin/ntpdate -q -t 0.2 172.27.233.45 ;done
LVS 状态:
ipvsadm -Ln --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
UDP 172.27.233.45:123 10 40 0 3040 0
-> 172.27.233.43:123 5 20 0 1520 0
-> 172.27.233.44:123 5 20 0 1520 0
ipvsadm -Lnc
IPVS connection entries
pro expire state source virtual destination
UDP 03:02 UDP 172.27.233.46:123 172.27.233.45:123 172.27.233.44:123