问题一:
田老师您好:
我有3个问题请教您,希望在您空闲的时候帮下忙,谢谢
昨天去听了你讲的CDN方面的内容,演讲很精彩,我现有3个问题:
1.你在演讲时提到的,每天让nagios自动发一条短信来确认监控机是好的,是如何实现的,我现在已经实现短信报警了。
2.问一个关于squid的,因为我现在的网站每天都有很多新闻进来,这些的话squid的cache是如何及时更新的?
3.不知道你的生产中有没有用memcached做session保持,因为我们这边还没用到,我想了解一下,memcached做sesssion是怎么配置的,这个是开发做的还是我们系统管理员做的?
答:
1、用crontab调用短信发送程序/脚本即可实现定时发送。这个不在nagios之中。
2、squid本身有刷新文件的机制 “refresh_pattern -i \.html$ 10 50% 2880 reload-into-ims” 这样就保证页面的更新
3、我们的bbs会话保持使用lvs+keepalived,这个工具本身有会话保持功能。memocache 本身安装部署很简单,一般由程序员来实现数据库的缓存等工作。
问题二:
问题如下:
一家深圳公司,在广州建立了分支机构,
总部深圳是用一个路由,一个核心的三层交换机,若干二层交换机,数台PC机,并划分了两个vlan,
广州用了一个路由,一个二层交换机,十台PC机,其中一台是FTP server.
总部是用光纤专线上网,分部是用ADSL上网
现将总部与分部用 DDN专线连接起来,
出现如下现象:
总部与分部的每一台电脑都能正常上网;
总部的任何一台PC都不能访问分部的FTP server,分部的任何一台pc都能访问FTp server.
请问该如何排除故障。最好能一步步的把排除故障的步骤写详细一点;
一家深圳公司,在广州建立了分支机构,
总部深圳是用一个路由,一个核心的三层交换机,若干二层交换机,数台PC机,并划分了两个vlan,
广州用了一个路由,一个二层交换机,十台PC机,其中一台是FTP server.
总部是用光纤专线上网,分部是用ADSL上网
现将总部与分部用 DDN专线连接起来,
出现如下现象:
总部与分部的每一台电脑都能正常上网;
总部的任何一台PC都不能访问分部的FTP server,分部的任何一台pc都能访问FTp server.
请问该如何排除故障。最好能一步步的把排除故障的步骤写详细一点;
答:
分布任何一台pc能访问ftp说明ftp服务正常.
总部和分布都能上网 说明各自的网络都是正常的
现在需要仔细检查总部与分部的ddn链接情况.因为分布有2个出口,既ddn及adsl,因此需要做策略路由,让来自ddn的连接被正确的路由和返还.简单的测试方法: 在深圳ping Ftpserver,再tracert -d ftpserver,再telnet ftp 21,再看ftp服务器的连接情况,看有没有来自深圳的机器的ip
综合测试 基本上能判断问题所在.
估计是路由问题
问题三
田老师:
感谢您1月9日的精彩演讲。上次跟您提过的我配置的LVS+keepalived在不知道原因的情况下,主备之间切换比较多,一天平均4-5次。
附件中附上我的keepalived的配置文件,帮我检查下,谢谢。
附件是主LVS的 备的就只有两个字段不一样。
感谢您1月9日的精彩演讲。上次跟您提过的我配置的LVS+keepalived在不知道原因的情况下,主备之间切换比较多,一天平均4-5次。
附件中附上我的keepalived的配置文件,帮我检查下,谢谢。
附件是主LVS的 备的就只有两个字段不一样。
global_defs {
router_id LVS_DEVEL
}
# VIP1
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 200
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
60.60.60.28
}
}
virtual_server 60.60.60.128 80 {
delay_loop 6
lb_algo wlc
lb_kind DR
persistence_timeout 50
protocol TCP
}
# VIP1
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 200
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
60.60.60.28
}
}
virtual_server 60.60.60.128 80 {
delay_loop 6
lb_algo wlc
lb_kind DR
persistence_timeout 50
protocol TCP
real_server 60.60.60.139 80 {
weight 120
HTTP_GET {
url {
path /robots.txt
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 2
}
}
real_server 60.60.60.140 80 {
weight 120
HTTP_GET {
url {
path /robots.txt
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 2
}
}
weight 120
HTTP_GET {
url {
path /robots.txt
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 2
}
}
real_server 60.60.60.141 80 {
weight 120
HTTP_GET {
url {
path /robots.txt
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 2
}
}
real_server 60.60.60.144 80 {
weight 120
HTTP_GET {
url {
path /robots.txt
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 2
}
}
# shell end
答:
我的一个keepalived.conf文件片断
#guration File for keepalived
#global define
global_defs {
router_id LVS_MAXTHON_1
}
#global define
global_defs {
router_id LVS_MAXTHON_1
}
vrrp_sync_group VGM {
group {
VI_OUT1
}
}
vrrp_sync_group VGB {
group {
VI_INT1
}
}
group {
VI_OUT1
}
}
vrrp_sync_group VGB {
group {
VI_INT1
}
}
#############################################################################
# internet lvs setting #
#############################################################################
vrrp_instance VI_OUT1 {
state MASTER
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id 51
priority 180
advert_int 5
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
60.218.10.40
60.218.20.13
}
}
# internet lvs setting #
#############################################################################
vrrp_instance VI_OUT1 {
state MASTER
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id 51
priority 180
advert_int 5
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
60.218.10.40
60.218.20.13
}
}
##############################################################
# first virtual machine setting #
##############################################################
# first virtual machine setting #
##############################################################
# setting port 80 forward
virtual_server 60.218.10.40 80 {
delay_loop 6
lb_algo wlc
lb_kind DR
persistence_timeout 10
protocol TCP
virtual_server 60.218.10.40 80 {
delay_loop 6
lb_algo wlc
lb_kind DR
persistence_timeout 10
protocol TCP
real_server 60.218.10.5 80 {
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 60.218.10.8 80 {
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 60.218.10.15 80 {
weight 90
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 60.218.10.8 80 {
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 60.218.10.15 80 {
weight 90
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
.....................................................................
建议把 advert_int 值稍微设置大一点,我的是"5",另外我看不见你的backup的" priority " 值,两者差别大一点,如你的master为200,那么backup可设置为170
建议把 advert_int 值稍微设置大一点,我的是"5",另外我看不见你的backup的" priority " 值,两者差别大一点,如你的master为200,那么backup可设置为170
问题四
田老师:
根据您的片断我都修改得差不多 但问题依旧存在,我的 priority 备机是100 。
message的日志中有这么一条错误 :
Keepalived_vrrp: Netlink: error: File exists, type=(20), seq=1231810750, pid=0
有这条错误出现的 不知道有没有影响,不过我核对过主备切换的时间 并不是切换的时候就一定有这条错误 。
可能还会有什么导致呢?
答:这个信息标明虚拟ip地址已经存在,不对负载功能产生负面影响,如果你关闭keepalived然后再执行keepalived就应该没有这个报错信息.
根据您的片断我都修改得差不多 但问题依旧存在,我的 priority 备机是100 。
message的日志中有这么一条错误 :
Keepalived_vrrp: Netlink: error: File exists, type=(20), seq=1231810750, pid=0
有这条错误出现的 不知道有没有影响,不过我核对过主备切换的时间 并不是切换的时候就一定有这条错误 。
可能还会有什么导致呢?
答:这个信息标明虚拟ip地址已经存在,不对负载功能产生负面影响,如果你关闭keepalived然后再执行keepalived就应该没有这个报错信息.
不知道你把advert_int改了没有
本文转自sery51CTO博客,原文链接: http://blog.51cto.com/sery/125905,如需转载请自行联系原作者