linux环境下用nginx做负载均衡的时候遇到了个问题
你要设定一下访问后端服务器的方式,是轮询还是ip hash等,设置了才可以切换
server 1104190143 weight=5 max_fails=3 fail_timeout=10s;
server 1104190138 weight=5 max_fails=3 fail_timeout=10s;
类似我写的这样,明白了吧
在Linux系统中,通常会将多个网卡绑定为一个逻辑网卡,这样可以提高网络的稳定性,那么要如何将多个网络绑定为一个呢下面小编就给大家介绍下Linux下多网卡绑定的bond模式原理。
将多个Linux网络端口绑定为一个,可以提升网络的性能,比如对于备份服务器,需要在一个晚上备份几个T的数据,如果使用单个的千兆网口将会是很严 重的瓶颈。其它的应用,比如ftp服务器,高负载的下载网站, 都有类似的问题。因此使用Linux teaming或bond来绑定多个网卡作为一个逻辑网口,配置单个的IP地址,会大幅提升服务器的网络吞吐(I/O)。
Linux的多网卡绑定功能使用的是内核中的“bonding”模块,关于此模块可以参考Linux Ethernet Bonding Driver文档, 但是目前发布各个Linux版本内核均已包含了此模块,大多数情况下不需要重新编译内核。 Linux 的 bonding 驱动提供了绑定/集成(bond)多个网卡为一个虚拟逻辑网口的功能。并请注意绑定的网口(bonded)有多种工作模式; 一般来说,分为 热后备(hot standby) 和 负载均衡(load balancing)。 在Redhat/Fedora和其它类Redhat Linux中是比较容易配置的。
1创建bond0配置文件
vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0 --物理设备名字
IPADDR=19216812 --IP地址
NETMASK=2552552550 --子网掩码
GATEWAY=19216811 --网关
DNS=8888 --DNS
ONBOOT=yes --随机启动
NAME=bond0
BOOTPROTO=none
USERCTL=no --是否允许非root用户控制该设备
2修改被绑定的eth0和eth1的配置文件
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=“eth0”
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
HWADDR=00:15:17:CC:FC:35
eth1的配置文件与之相同,只是device的值改为eth1即可。
3装在bond模块驱动
编辑/etc/modprobeconf或者/etc/modulesconf文件,加入如下内容,使系统启动时加载bonding模块驱动
alias bond0 bonding
option bond0 miimon=100 mode=1
说明:
1)miimon=100 用来进行链路监测的。即每100ms监测一次链路状态。bonding只监测主机与交换机之间链路。如果交换机出去的链路出问题而本身没有问题,那么bonding认为链路没有问题而继续使用。
2)mode=1 表示提供冗余功能。除此之外还可以为0、2、3,共四种模式。0表示负载均衡
4在/etc/rcd/rclocal文件中加入如下语句,使得系统启动自动运行
ifenslave bond0 eth0 eth1
route add -net 1921681254 netmask 2552552550 bond0 #如有需要才加该路由
5检测、验证配置
首先执行命令装载bonding模块:modprobe bonding
重启网络服务,并确认bond0正确启动:service network restart
确认设备已经正确加载:less /proc/net/bonding/bond0
列出所有网口:ifconfig
上面就是Linux下多网卡绑定bond模式原理的介绍了,bond模式原来一般有7种,这里只介绍了其中的一种,希望对你有所帮助。
我也遇到过此类问题 如果你的代理服务器能与负载服务器ping同的话 并且单独访问负载服务器能成功 就看看 upstream中的访问地址与单独访问的地址是否相同。这个很关键 负载服务器上的war包最好是ROOT形式的。希望能帮到你
你要设定一下访问后端服务器的方式,是轮询还是ip hash等,设置了才可以切换 server 1104190143 weight=5 max_fails=3 fail_timeout=10s; server 1104190138 weight=5 max_fails=3 fail_timeout=10s; 类似我写的这样,明白了吧
Linux操作系统从诞生到现在,因为具有开放、安全、稳定的优势广受用户的认可。其自由软件的低成本、安全性,也让政府纷纷对Linux采取了非常有力的支持。目前Linux应用的主要领域包含以下几种:
1、服务器系统:Linux操作系统价格低廉、灵活性好,现在被广泛的使用在服务器操作系统之中。现在以Linux为基础的LAMP技术,除了在开发者群体广泛流行之外,对于网站服务商也是比较常用的。
2、桌面系统:新发行的Linux系统版本特别在桌面应用方面给予了很大的改进,具有非常高的水平,可以作为一种结合办公应用、多媒体应用以及网络应用等多方面功能为一体的操作系统,最关键的是,这个桌面系统是可以免费使用。
3、嵌入式系统:大家都知道现在很多移动设备都是嵌入式的,而Linux在这方面具有很好的作用,采用基于Linux的嵌入式系统,由于Linux的内核是完全公开的,所以基于Linux的嵌入式系统成本大大降低,完全不受到其他因素的干扰。
4、电子政务:由于具有很好的作用,大家对于Linux系统的态度都发生了很大的转变,而且Linux也成为了与Windows系统抗衡的力量。因为它具有超高安全性,让大家更加喜欢。目前有一些国家正在将电子政务系统向Linux平台发生转变,由此也证明了对Linux系统的认可。
你说的ETH1流量很小是多小,如果是多少K肯定不对,如果有几M,几十兆的话应该没什么问题。你想看到bond0这个汇聚口的IP的话,你可以试一下CACTI等监控软件,但是我也不知道这种汇聚口能否读出来。
0条评论