知识部分
简介:LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。LVS在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。
LVS群集由调度器、服务器池和共享存储组成。有高可用群集、负载均衡群集和高性能运算群集三种。而LVS较常见的三种模式分别为DR模式、NAT模式和IP隧道模式。
LVS-DR负载均衡群集_第1张图片
操作部分
本次案例做DR直连路由模式。首先我们需要的服务器共四台(一台调度器、一台NFS用作共享存储和两台web服务器模拟服务器池。)第一台web服务器两块网卡,地址分别是192.168.7.21、172.16.16.177;第二台web服务器同样,地址分别为192.168.7.22、172.16.16.178;调度器地址为172.16.16.170;NFS地址为192.168.7.250。
配置地址部分不详细说了。
1、NFS共享存储部分。安装nfs-utils和rpcbind包。建议使用yum安装以解决依赖包的安装问题。
LVS-DR负载均衡群集
LVS-DR负载均衡群集
2、设置nfs和rpcbind为开机自启动
LVS-DR负载均衡群集
3、创建一个共享目录。
LVS-DR负载均衡群集
4、配置NFS配置文件/etc/exports。
LVS-DR负载均衡群集
5、启动nfs和rpcbind服务。
LVS-DR负载均衡群集
6、查看本地是否可以连接到共享存储。
LVS-DR负载均衡群集
7、web服务器的配置部分。首先安装rpcbind和nfs-utils包。实际上很多linux已经安装这两个包。可以使用rpm -q查看是否安装。
LVS-DR负载均衡群集
8、查看是否连接到共享存储。
LVS-DR负载均衡群集
9、将个NFS(192.168.7.250)上的共享目录/opt/wwwroot挂载到本地的/usr/local/nginx/html下。正常的工作中应当配置永久挂载,编辑配置文件/etc/fstab即可。
LVS-DR负载均衡群集
10、编辑一个用于测试的网页。vim index.html。
LVS-DR负载均衡群集
11、重启nginx服务。
LVS-DR负载均衡群集
12、在LVS-DR群集中使用同一个地址作为群集地址,所以配置了一个lo:0设备。配置如下。注意,群集中的调度器和服务器池的web服务器都应当配置一个172.16.16.172,该ip 地址实际是一个虚拟IP地址(vip),不做通信使用,用于表示属于172.16.16.172这个群集。
LVS-DR负载均衡群集
13、添加vip本地访问路由。(临时)
LVS-DR负载均衡群集
也可以编辑/etc/rc.loca添加一条永久的路由
LVS-DR负载均衡群集_第2张图片
14、由于需要在web服务器和调度器都配置该地址,所以需要调整/proc响应参数避免IP地址冲突。vim /etc/sysctl.conf。
LVS-DR负载均衡群集_第3张图片
然后执行sysctl -p。
LVS-DR负载均衡群集_第4张图片
15、本次案列为了测试结果更明了,第二台没有使用共享存储。注意:实际上另一台web服务器应当和第一台web服务器上的配置相同。
16、调度器上的配置。首先为调度器配置群集地址172.16.16.172,vim /etc/sysconfig/network-scripts/ifcfg-eth0:0
LVS-DR负载均衡群集
17、调整/proc响应参数。因为lvs负载调度器和各节点需要共用vip地址,应该关闭linux内核重定向参数响应,打开vi /etc/sysctl.conf,增加三行。
LVS-DR负载均衡群集_第5张图片
然后执行sysctl -p
18、使用rpm安装ipvsadm包。
LVS-DR负载均衡群集
19、配置ipvsadm负载分配策略然后保存。rr表示轮询。
LVS-DR负载均衡群集_第6张图片
20、启动ipvsadm,并设置为自启动。
LVS-DR负载均衡群集
21、验证。打开一台windows7,登陆172.16.16.172。
LVS-DR负载均衡群集_第7张图片
重新打开一个IE登陆172.16.16.172可以看到如下
LVS-DR负载均衡群集_第8张图片