江苏网站建设企业,网站建设的安全防护方法,wordpress返回主页标签,ppt设计器在哪里网卡bonding简介
网卡绑定就是把多张物理网卡通过软件虚拟成一个虚拟的网卡#xff0c;配置完毕后#xff0c;所有的物理网卡的ip和mac将会变成相同的。多网卡同时工作可以提高网络速度#xff0c;还可以实现网卡的负载均衡、冗余。 bonding模式
1 round-robin(mode0) …网卡bonding简介
网卡绑定就是把多张物理网卡通过软件虚拟成一个虚拟的网卡配置完毕后所有的物理网卡的ip和mac将会变成相同的。多网卡同时工作可以提高网络速度还可以实现网卡的负载均衡、冗余。 bonding模式
1 round-robin(mode0)
轮转策略轮流在每一个slave网卡上发送数据包提供负载均衡和容错能力。
2 active-backup(mode1)
主备策略只有一个slave被激活只有当active的slave的接口down时才会激活其它slave接口。主备模式下发生一次故障切换在新激活的slave接口上会发送一个或者多个gratuitous ARP。主salve接口上以及配置在接口上的所有VLAN接口都会发送gratuitous ARP需要在这些接口上配置了至少一个IP地址。VLAN接口上发送的的gratuitous ARP将会附上适当的VLAN id。本模式提供容错能力。
3 XOR(mode2)
基于所选择的hash策略本模式也提供负载均衡和容错能力。
4 broadcast(mode3)
广播策略向所有的slave接口发送数据包本模式提供容错能力。
5 802.3ad(mode4)
动态链路聚合根据802.3ad标准利用所有的slave建立聚合链路。slave接口的出口取决于传输的hash策略默认策略是简单的XOR策略而hash策略则可以通xmit_hash_policy选项配置。
前提每个slave网卡支持ethtool获取速率和双工状态 交换机支持IEEE 802.3ad标准(可能需要配置启用) IEEE 802.3ad 是执行链路聚合的标准方法。将多个以太网适配器聚集到单独的虚拟适配器方面与“以太通道EtherChannel”的功能相同能提供更高的带宽防止发生故障。例如eth0 和 eth1 可以聚集到称作 eth3 的 IEEE 802.3ad链路聚合然后用 IP 地址配置接口 eth3。系统将这些聚集的适配器作为一个适配器来考虑。因此可以像在任何以太网适配器上一样配置它们的 IP。
6 balance-tlb(mode5)
自适应传输负载均衡根据每个slave的负载(相对速度)决定从哪个接口发送数据包从当前接口接收数据包。如果接收的slave接口故障其它slave接口将接管它的mac地址继续接收。
前提每个slave网卡支持ethtool获取速率。
7 balance-alb(mode6)
自适应负载均衡
前提每个slave网卡支持ethtool获取速率 每个slave网卡支持启用时重新设置硬件地址
小结 mode 1、5、6不需要交换机设置 mode 0、2、3、4需要交换机设置
缺省使用mode 0
bonding驱动加载
cat /boot/config-2.6.32-431.el6.x86_64 | grep -i bonding
CONFIG_BONDINGm # 这里可以看出bonding驱动编译成可以动态加载的内核模块
[rootcompute1 ~]# vim /etc/modprobe.d/bond.conf # 开机自动加载bonding驱动
alias bond0 bonding
options bond0 miimon100 mode0 # miimon多长时间检查一次网络单位ms;
bonding模式0配置
vim /etc/sysconfig/network-scripts/ifcfg-bond0 # 建立虚拟网卡bond0 DEVICEbond0 IPADDR10.10.10.1
NETMASK255.255.255.0
ONBOOTyes
BOOTPROTOnone
USERCTLno
GATEWAY10.10.10.254 vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICEeth0
BOOTPROTOnone
ONBOOTyes
USERCTLno
MASTERbond0
SLAVEyes vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICEeth1
BOOTPROTOnone
ONBOOTyes
USERCTLno
MASTERbond0
SLAVEyes # 设置完成后重启网络服务来使用bond0生效 service network restart # bond模块会自动加载
cat /proc/net/bonding/bond0 # 查看目前bonding的状态
modprobe -r bonding;service network restart # 让bond模式生效 bonding模式1配置 具体操作步骤就下面这步不同其它一致。vim /etc/modprobe.d/bond.conf
alias bond0 bonding
options bond0 miimon100 mode1 # 模式1vim /etc/rc.d/rc.local # eth0 eth1的工作顺序(仅在主备模式下需要做这个设置其他的模式不需要做这个设置)
ifenslave bond0 eth0 eth1
注在高可用的环境下网卡配置bonding后vip_nic要为bond0 bonding模式4配置 # 具体操作步骤就下面这步不同其它一致。
vim /etc/modprobe.d/bond.conf
alias bond0 bonding
options bond0 miimon100 mode4 lacp_rate1 # 模式4
注意的是交换机和服务器连接的那块要配置动态的channel-group 需要配置交换机的动态链路聚合bond4下启动vlan子接口 实例未配置VLAN的mode4的网卡配置文件
# cat ifcfg-eth2
DEVICEeth2
TYPEEthernet
ONBOOTyes
NM_CONTROLLEDno
BOOTPROTOstatic
MASTERbond0
SLAVEyes# cat ifcfg-eth3
DEVICEeth3
TYPEEthernet
ONBOOTyes
NM_CONTROLLEDno
BOOTPROTOstatic
MASTERbond0
SLAVEyes# cat ifcfg-bond0
DEVICEbond0
TYPEEthernet
BOOTPROTOstatic
ONBOOTyes
IPADDR10.20.42.3
NETMASK255.255.255.0
GATEWAY10.20.42.254# cat /etc/modprobe.d/bonding.conf
alias bond0 bonding
options bond0 miimon100 mode4 实例配置了VLAN-tag的网卡bond文件
[rootsz02 network-scripts]# cat ifcfg-eth0
DEVICEeth0
IPV6INITno
MTU1500
NM_CONTROLLEDno
ONBOOTyes
MASTERbond0
SLAVEyes
USERCTLno
BOOTPROTOnone[rootsz02 network-scripts]# cat ifcfg-eth1
DEVICEeth1
IPV6INITno
MTU1500
NM_CONTROLLEDno
ONBOOTyes
MASTERbond0
SLAVEyes
USERCTLno
BOOTPROTOnone[rootsz02 network-scripts]# cat ifcfg-bond0
DEVICEbond0
ONBOOTyes
TYPEEthernet
BOOTPROTOnone
BONDING_OPTSmode4 miimon100[rootsz02 network-scripts]# cat ifcfg-bond0.101 # 此时的VLAN 的tag就是 101
DEVICEbond0.101
ONBOOTyes
TYPEEthernet
BOOTPROTOnone
IPADDR10.101.1.7
NETMASK255.255.255.0
VLANyes
GATEWAY10.101.1.254[rootsz02 network-scripts]# cat /etc/modprobe.d/bond.conf # 开机时加载bond模块
alias bond0 bonding[rootsz02 network-scripts]# lsmod |grep 8021q # 打了VLAN的机器必需具备8021q模块才可以配通IP
8021q 20362 0
garp 7152 1 8021q VLAN是虚拟局域网的缩写。 一个物理交换机上可以共存多个VLAN这些交换机通过Linux软件配置而不是通过硬件接口您仍然需要配置实际的硬件交换机。VLAN作为名称建议一次组合多个LAN。 但是VLAN的优点是什么
—高性能.
—易于管理.
—安全.为了安全起见VLAN为提供了划分LAN的能力。
当将服务器计算机物理移动到另一个位置时您不必配置任何硬件设备。关于LAN硬件的注意事项
1.为了能够使用VLAN需要在以太网上支持IEEE 802.1q标准的交换机。
2.还需要一个与Linux兼容的NIC网络接口卡并支持802.1q标准。
# 永久加载8021q modulecat /etc/sysconfig/modules/8021q.modules EOF
\#\!/bin/sh
if [ ! lsmod | grep 8021q ] ; thenexec /sbin/modprobe 8021q /dev/null 21
fi
EOF 1 2 3 4 5 6 7 8 9 modprobe 8021q # 加载模块 vim /etc/sysconfig/network-scripts/ifcfg-bond0.110 # vlan子接口发出去的包是带有vlan tag 110的 DEVICEbond0.110 # vlan子接口要“.”分隔 BOOTPROTOnone ONBOOTyes USERCTLno VLANyes # 写配置文件就不要安装vconfig来配置vlan子接口 IPADDR192.168.110.3 PREFIX24 bond4结合OpenStack ovs flat vlan模式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 1、 采用linux bridge brctl addbr br-bond brctl addif br-bond bond0 ifconfig br-bond 192.168.1.4/24 # 这样配置是可以通的 2、 采用openvswitch ovs-vsctl add-br br-bond ovs-vsctl add-port br-bond bond0 ifconfig br-bond 192.168.1.4/24 # 这样配置是不通的 如果进行如下操作网络是可以通的 brctl addbr br-bond brctl addif br-bond bond0 ifconfig br-bond 192.168.1.4/24 # 管理ip地址配置linux bridge上不是配置在br-data上 ovs-vsctl add-br br-data # 创建一个br-data ovs-vsctl add-port br-data br-bond # br-bond作为ovs bridge的一个port不然计算节点下的虚拟机网络不通 [rootsha-cloud002 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br-bond # br-data配置文件如下 DEVICEbr-bond IPADDR10.10.10.12 NETMASK255.255.255.0 ONBOOTyes NM_CONTROLLEDno BOOTPROTOnone TYPEBridge DELAY0 # prevent it waiting on interface start # 这里需要注意一下如果是hp刀片服务器网卡做bond后划vlan子接口才能 和上端交换机通信。这时候配置需要调整下 ovs-vsctl add-port br-data eth0.470举例vlan id:470 ovs-vsctl set Port eth0.470 tag470(打了tag后相当于access口access口出去的包是不带vlan id的) 虽然上述操作也可以但让人觉得怪怪的下面是OVS下设置lacp的正确方式 按照红帽官网的建议是不要使用基于ovs的lacp可以考虑使用balance-slb 详情见https://access.redhat.com/documentation/en/red-hat-openstack-platform/8/networking-guide/chapter-2-openstack-networking-concepts 关于bond模式下网桥配置可以参考红帽的官方文档https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s2-networkscripts-interfaces_network-bridge.html