OceanStor 9000视频业务串行问题处理

发布时间:  2015-09-04 浏览次数:  212 下载次数:  1
问题描述

根据目前已知的客户数据,本项目客户计划管理全城市XXXXX个摄像头。业务上使用Vmware系统,在虚拟机上部署CentOS操作系统。物理服务器设备为IBM BladeCenter刀片X440。每个虚拟机管理摄像头数量为XXX。每个摄像头码率为5MB。计划一个虚拟机挂载一个NAS IP

在客户业务上线阶段,客户发现所有客户端(VM)均有大量超时告警:

…Mar  1 12:46:23 recorder-02 kernel: nfs: server oc9000.adc.spb not responding, still trying
Mar  1 12:46:23 recorder-02 kernel: nfs: server oc9000.adc.spb OK
Mar  1 13:12:23 recorder-02 kernel: nfs: server oc9000.adc.spb not responding, still trying
Mar  1 13:12:23 recorder-02 kernel: nfs: server oc9000.adc.spb OK

同时客户端经常出现挂死(无响应)现象。在视频监控端,无法正常的进行回放(1X)动作。(即读操作延时很大)

以上问题为毕现问题。

告警信息

查看node1节点的协议日志,可以看到在19:0418开始出现了节点内流控。节点流控会针对业务量过大情况下控制业务的处理报文,防止节点业务全线崩溃。流控将会增大报文的响应时间,对于客户端的挂载IP检测将会导致消息响应变慢出现超时情况,客户端会将检测超时记录写入messages中。



处理过程

由于华为设备要加入客户现网,修改(客户端)已有的网络配置是有风险(同时也是不现实)的。因此建议修改OceanStor 9000上的配置。修改方法如下:

1)修改当期配置信息

echo 1 > /proc/sys/net/ipv4/tcp_timestamps

echo 1 >  /proc/sys/net/ipv4/tcp_sack

2重启当前节点网络

service network restart

3确认配置修改成功

cat /proc/sys/net/ipv4/tcp_timestamps

cat /proc/sys/net/ipv4/tcp_sack

4修改静态变量(保证重启后修改不丢失)

echo "net.ipv4.tcp_sack = 1" >>/etc/sysctl.conf

echo "net.ipv4.tcp_timestamps = 1" >>/etc/sysctl.conf

根因

该问题系流控配置异常导致,经排查,在测试环境,仅在OceanStor 9000附属交换机(CE6810)上开启了流控(该配置为默认配置),并未在同一链路的其他交换机上进行对应的配置。导致多路并发数据只有一条链路可以工作。

解决方案

解决方案有两条:

1.       在整个链路侧排查各个节点(交换机),检查流控的配置是否打开。如果要启用流控,必须保证所有节点均开启配置。

2.       OceanStor 9000的节点开启对应优化配置。

建议与总结

由于华为设备要加入客户现网,修改(客户端)已有的网络配置是有风险(同时也是不现实)的。因此建议修改OceanStor 9000上的配置。

该需改已经合入OceanStor 9000最新版本(V100R001C01SPC210)。

END