问题一:
 
田老师您好:
                我有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能访问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的 备的就只有两个字段不一样。
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

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
      }
     }

  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
}
vrrp_sync_group VGM {
   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
    }
}
##############################################################
#   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
    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
        }
    }
}
.....................................................................
建议把 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就应该没有这个报错信息.
不知道你把advert_int改了没有