DZ先生怪谈国标案例2——流媒体双网卡绑定之超实用绑定法

1. 自述

今天DZ君主讲的课题是:流媒体双网卡绑定之超实用绑定法

2. 案发背景

曾经DZ君刚入职不久,接下某个大盘,信通大队长是个高富帅的牛逼的人物,某日call me:这边政务网的视频怎么那么卡的啊,经常顿啊顿的,刚开始的时候平台只有两台媒体服务器,还是千兆单网卡,那个时候DZ君也不是很懂,二线给的方案是做双网卡绑定,那个时候还没有具体步骤方案,就知道百度找方法做。后来发现绑定模式有7种之多,DZ君找了其中一种方式做了,刚开始是好的,业务也正常,丫丫的,第二天业务就不正常了,发现同网段的居然ping不通了,有时候通,有时候又不通,真是蓝瘦香菇呀!

于是痛定思痛,经过几天的实验,DZ君终于找到了超实用,有效的方法。第二天高富帅就在群里说,视频丝滑的一米。果断666啊。今天DZ君就把这种方法分享给广大的监控朋友们!一起丝滑!

原理:

在监控系统中,由于流媒体服务器可能存在大量转发要求,双网卡聚合成为一种选择,实现负载均衡、线路冗余功能。下面就流媒体上采用异或策略调度模式的双网卡聚合方式配置方法介绍如下(其他服务器配置方法类似):

采用异或策略时有两种方式,
xmit_hash_policy=0  表示根据 Layer2,(源MAC地址 XOR 目标MAC地址) % slave数量。
xmit_hash_policy=1  表示Layer3+4, ((源IP XOR 目的IP)XOR(源端口 XOR 目的端口))% slave数量,
如果MS流量转发的接收者与MS不在同一个网络,则需要使用xmit_hash_policy=1   ——使用这种方式是比较优质的方式

3. 双网卡配置方法

系统: Centos x64位  可以用命令 cat /etc/issue 查看  (32位和64位都可以)

绑定模式: lay3+4(1)  同时交换机上也要配置这种模式 

绑定网卡名:eth1  and eth2 or eth3 and eth4  最好不要用管理口eth0

1) 网卡bond0的配置

DEVICE=bond0
BOOTPROTO=static
TYPE=Ethernet
BROADCAST=192.168.1.255
IPADDR=192.168.1.1
NETWORK=192.168.1.0
NETMASK=255.255.255.0
NM_CONTROLLED=no
ONBOOT=yes

BONDING_OPTS="mode=2 xmit_hash_policy=1 miimon=100"   

2) 网卡eth1的配置

DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
USERCTL=no

SLAVE=yes

3) 网卡eth2的配置

DEVICE=eth2
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
USERCTL=no
SLAVE=yes

4)默认情况下,内核已支持bonding,只需要简单修改/etc/modprobe.conf(如果没有,则在/etc/modprobe.d/手动创建modprobe.conf这个文件) 这个配置文档就可以了:
vi /etc/modprobe.d/modprobe.conf

添加一行  alias bond0 bonding  

5)重启网卡  service network restart

6)查看是否生效

命令: cat /proc/net/bonding/bond0

Bonding Mode: load balancing (xor)--------xor模式
Transmit Hash Policy: layer3+4 (1)  --------3+4
MII Status: up-----------------------------up

MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth1----------------网卡eth1
MII Status: up----------------------网卡状态up

Speed: 1000 Mbps-----------------速率1000M
Duplex: full-------------------------全双工

Link Failure Count: 1
Permanent HW addr: 48:ea:63:67:b1:bd
Slave queue ID: 0

Slave Interface: eth2--------------网卡eth2
MII Status: up---------------------网卡状态up
Speed: 1000 Mbps----------------速率1000M
Duplex: full------------------------全双工

Link Failure Count: 1
Permanent HW addr: 48:ea:63:67:b1:be

Slave queue ID: 0

7) 查看bond0 and eth1 and eth2的硬件mac地址是否一致

[root@localhost ~]# ifconfig 
bond0     Link encap:Ethernet  HWaddr 48:EA:63:67:B1:BD  
          inet addr:173.200.2.99  Bcast:173.200.3.255  Mask:255.255.254.0
          inet6 addr: fe80::4aea:63ff:fe67:b1bd/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:656079838493 errors:135 dropped:26668095 overruns:0 frame:134
          TX packets:276199894685 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:150000 
          RX bytes:650473453115237 (591.6 TiB)  TX bytes:311169287987543 (283.0 TiB)


eth1      Link encap:Ethernet  HWaddr 48:EA:63:67:B1:BD  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:235935232796 errors:135 dropped:5002535 overruns:0 frame:134
          TX packets:139210339998 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:150000 
          RX bytes:234400026297441 (213.1 TiB)  TX bytes:156523007539641 (142.3 TiB)
          Interrupt:18 Memory:cb400000-cb420000 


eth2      Link encap:Ethernet  HWaddr 48:EA:63:67:B1:BD  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:420144605699 errors:0 dropped:21665560 overruns:0 frame:0
          TX packets:136989554700 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:150000 
          RX bytes:416073426820456 (378.4 TiB)  TX bytes:154646280461524 (140.6 TiB)

          Interrupt:20 Memory:ce500000-ce520000 

4. 查看网卡流量

[root@localhost ~]# sar -n DEV 1 5--------命令后面 1 5 意思是:每一秒钟取一次值,取5次。

Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s           rxcmp/s   txcmp/s  rxmcst/s
Average:           lo      2.00          2.00         0.14      0.14                 0.00          0.00      0.00
Average:         eth2   9075.40   6597.80   9479.70   7732.77          0.00         0.00       0.00
Average:    slot0_GE4      0.00      0.00      0.00         0.00                0.00         0.00      0.00
Average:    slot0_GE3      0.00      0.00      0.00         0.00                0.00         0.00      0.00
Average:    slot0_GE2      0.00      0.00      0.00         0.00                0.00         0.00      0.00
Average:    slot0_GE1      0.00      0.00      0.00         0.00                0.00         0.00      0.00
Average:         eth1   4660.40   4596.00   5745.49   5019.62           0.00         0.00      0.00
Average:         eth0      0.00      0.00          0.00         0.00                0.00         0.00      0.00

Average:        bond0  13735.80  11193.40  15225.19  12751.82    0.00         0.00       0.00

说明

IFACE:LAN接口
rxpck/s:每秒钟接收的数据包
txpck/s:每秒钟发送的数据包
rxbyt/s:每秒钟接收的字节数----通过它可以算出网卡目前速率
txbyt/s:每秒钟发送的字节数 ----通过它可以算出网卡目前速率
rxcmp/s:每秒钟接收的压缩数据包
txcmp/s:每秒钟发送的压缩数据包
rxmcst/s:每秒钟接收的多播数据包
到这里为止,你已经距离丝滑已经更近了一步,因为让视频丝滑的影响原因有很多 像丢包啊,乱序啊,服务器性能啊,显卡性能啊,网速啊等等,当然主要原因还是丢包,乱序和带宽

***关注DZ君,让监控变得更简单!***


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值