F5 LTM ping 数据包丢包解决过程
 
一. 验证确实是 F5 LTM 丢包
    用户在交换机上 ping 了 1000 个包,我想知道这 1000 个包是否都到达了我们的 F5 LTM,而且我们的 F5 是否都回包了,也就是想证明到底是我们的 F5 丢包还是其他网络设备丢包:
1) 抓包并保存到文件 a.txt:
   [root@standby:Active] config # tcpdump -i internal host x.x.x.x and icmp > a.txt
2) 计算抓到的 PING 数据包中,请求包是多少个:
   [root@standby:Active] config # cat a.txt | grep request | wc -l
   1000
3) 计算抓到的 PING 数据包中,响应包是多少个:
   [root@standby:Active] config # cat a.txt | grep reply | wc -l
    947
4) 结论:确实是我们的 F5 LTM 丢包。
5) 查看日志,进一步确认 F5 为啥丢弃 ICMP 包:
   # grep -i icmp /var/log/ltm
   .......
   Jun  3 10:02:29 tmm tmm[706]: 011e0001:4: Limiting icmp ping 
   response from 306 to 250 packets/sec
   Jun  3 10:02:30 tmm tmm[706]: 011e0001:4: Limiting icmp ping
   response from 378 to 250 packets/sec
   Jun  3 10:02:32 tmm tmm[706]: 011e0001:4: Limiting icmp ping
   response from 460 to 250 packets/sec
   Jun  3 10:02:33 tmm tmm[706]: 011e0001:4: Limiting icmp ping
   response from 459 to 250 packets/sec
   Jun  3 10:02:34 tmm tmm[706]: 011e0001:4: Limiting icmp ping
   response from 319 to 250 packets/sec
   Jun  3 10:02:36 tmm tmm[706]: 011e0001:4: Limiting icmp ping
   response from 425 to 250 packets/sec
   Jun  3 10:02:37 tmm tmm[706]: 011e0001:4: Limiting icmp ping
   response from 384 to 250 packets/sec
   Jun  3 10:02:38 tmm tmm[706]: 011e0001:4: Limiting icmp ping
   response from 516 to 250 packets/sec
   Jun  3 10:02:39 tmm tmm[706]: 011e0001:4: Limiting icmp ping
   response from 495 to 250 packets/sec
   Jun  3 10:02:41 tmm tmm[706]: 011e0001:4: Limiting icmp ping
   response from 439 to 250 packets/sec
   Jun  3 10:02:43 tmm tmm[706]: 011e0001:4: Limiting icmp ping
   response from 401 to 250 packets/sec
   ......
   可以看出,由于 F5 LTM 默认每秒钟只处理 250 个 ICMP 包,超过的 ICMP
   包将被丢弃。
6) 修改这个默认值,解决问题:
   [root@standby:Active] log # b db | grep Reject           ;查看当前值
 
二. 修改控制 F5 LTM 每秒最多处理多少 ICMP 包的参数
    [root@standby:Active] log # b db TM.MaxRejectRate  1000  ;修改
    [root@standby:Active] log # b db | grep Reject           ;查看修改是否生效
7) 查看 /config/BigDB.conf 文件,确认其 TM.MaxRejectRate 值已经修改为 1000 了。
 
三. 验证问题是否确实已经解决
    让客户管理员再次从交换机 ping F5 LTM 的 虚拟服务器 IP,问题解决了。
 
四. 相关 Linux 命令介绍
 
8) 几个 Linux 命令介绍:
   tcpdump -i <指定抓取达到或者通过哪个接口的数据包,一般指定 VLAN 接口> \
           host <指定抓取的数据包源地址或者目标地址> \
           and <icmp | port <指定抓取数据包的端口号>                                        ; icmp 指定只抓取 ICMP 数据包
   cat <希望查看其内容的文件名>               ;一下子显示一个文件的内容
   less, more <希望查看其内容的文件名>        ;逐屏显示一个文件的内容
   grep -i <字符串> <文件名>                  ;显示 文件 里面包含了 字符串 的那些行
                                              ; -i 表示忽略大小写
   wc -l <希望计算其行数的文件名>             ;显示一个文件的行数