Lvs负载均衡
文中只涉及一台负载均衡服务器,和两台真实服务器,主要是初步体验负载均衡;实际的环境中,lvs和keepalived一起用才是黄金搭档,下篇将继续讲述lvs+keepalived的搭建过程
一、本次搭建的系统架构图
- 虚拟机:VirtualBox
- virtaulbox host-only的IP地址:192.168.137.1
- 所用系统:CentOS7
- 真实web服务器(RS1):192.168.137.5
- 真实web服务器(RS2):192.168.137.6
- 负载均衡服务器:192.168.137.101
二、RS的配置过程
两台RS所用Web服务器均为nginx
2.1 静态IP设置
(1)编辑配置文件
$ vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
我这里叫enp0s3,也可能是其他名字,只是一个网卡代号而已
需要修改如下内容
- BOOTPROTO=static(使用静态IP)
- ONBOOT=yes(开机启动)
需要新增如下内容
- IPADDR=192.168.137.5
- NETMASK=255.255.255.0
- GATEWAY=192.168.137.1
- DNS1=192.168.137.1
(2)重启网络服务
$ service network restart
2.2 nginx的安装与部署
(1)下载nginx的安装包,我用的是nginx-1.10.1,放在/opt目录
(2)安装必备工具
$ yum -y install gcc gcc-c++ autoconf automake
$ yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
说明:
pcre: 用来作地址重写的功能。
zlib:nginx 的gzip模块,传输数据打包,省流量(但消耗资源)。
openssl:提供ssl加密协议。
(3)安装nginx
$ cd /opt
$ tar -zxvf nginx-1.10.1.tar.gz
$cd nginx-1.10.1
$ ./configure –prefix=/usr/local/nginx
$ make
$ make install
(4)修改nginx默认访问页面内容
$ vim /usr/local/nginx/html/index.html
把内容修改为RS1,为了方便一会测试负载均衡时,能清晰看到是哪台服务器
(5)开放80端口
$ /sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT
现在,访问192.168.137.5就可以看到显示RS1了,同理设置RS2
三、负载均衡服务器配置
CentOS7已经集成了LVS的核心,所以只需要安装LVS的管理工具就可以了
(1)安装ipvsadm
$ yum -y install ipvsadm
(2)设置ipv4转发
$ sysctl -w net.ipv4.ip_forward=1
(3)关闭防火墙
iptables -F
(4)设置ipvsadm
$ ipvsadm -A -t 192.168.137.101:80 -s rr
$ ipvsadm -a -t 192.168.137.101:80 -r 192.168.137.5 -m
$ ipvsadm -a -t 192.168.137.101:80 -r 192.168.137.6 -m
$ ipvsadm -S
-A 添加虚拟服务
-a 添加一个真是的主机到虚拟服务
-S 保存
-s 选择调度方法
rr 轮训调度
-m 网络地址转换NAT
(5)测试
curl 192.168.137.101