一 目标
本文目标:实现lvs的dr模式+keepalived高可用web集群架构,拓扑图如下:
图1 拓扑图
本次高可用集群实验的节点有四个,分别是lvs-master,lvs-slave,lvs-webserver1,lvs-webserver2。
四个节点使用Vmware Pro 12的四台虚拟机实现,虚拟机操作系统全部采用CentOS 6.8 64位。
四个节点都在一个局域网中,网卡全部采用仅主机模式,网段192.168.80.0/24,VIP为192.168.80.20。
lvs-master和lvs-slave担任调度器(DirectorServer,DS)角色, lvs-webserver1和lvs-webserver2担任真实服务器(Real Server, RS)角色。
两台调度器安装keepalived提供高可用,两台真实服务器安装httpd提供web服务。
二 节点规划
节点类型 | IP地址 | 主机名 |
主LVS+keepalived | eth0: 192.168.80.11 | lvs-master |
VIP: 192.168.80.20 | ||
备LVS+keepalived | eth0: 192.168.80.12 | lvs-slave |
VIP: 192.168.80.20 | ||
Real Server 1 | eth0: 192.168.80.13 | lvs-webserver1 |
lo:0: 192.168.80.20 | ||
Real Server 2 | eth0: 192.168.80.14 | lvs-webserver2 |
lo:0: 192.168.80.20 |
三 节点配置
3.1.各节点基本配置
1)各节点都关闭防火墙,命令:
service iptables stop chkconfig iptables off
2)各节点都编辑/etc/hosts,添加如下内容:
192.168.80.11 lvs-master 192.168.80.12 lvs-slave 192.168.80.13 lvs-webserver1 192.168.80.14 lvs-webserver2
3)各节点都编辑/etc/sysconfig/network,把主机名HOSTNAME按照节点信息表里面的更改。主机名更改后需运行命令
reboot
重启系统生效。
4)各节点都编辑/etc/sysconfig/network-scripts/ifcfg-eth0,把IP地址按照节点信息表里面的更改。IP地址更改后需运行命令
service network restart
重启网络生效。
5)各节点都设置好时区和时间同步。可安装ntpd,和内网的ntp服务器实现时间同步。
6)各节点都关闭selinux。(视情况而定,一般都关闭。)
setenforce 0 #临时关闭 vi /etc/selinux/config #永久关闭 #把SELINUX=enabled改成SELINUX=disabled
3.2. 调度器DS配置
两台调度器采用lvs做负载均衡,lvs模块是centos内核自带,只需要运行
modprobe ip_vs
命令即可激活lvs。
lvs-master是主调度器,lvs-slave是备调度器,采用DR模式,并安装keepalived提供高可用服务。
两台调度器安装keepalived步骤:centos6.9编译安装keepalived-1.3.5步骤
配置keepalived步骤: lvs负载均衡-DR模式keepalived主备服务器配置
keepalived安装和配置完成后,添加到自启动并启动keepalived高可用服务:
service keepalived start chkconfig --add keepalived chkconfig keepalived on
两台调度器可选安装ipvsadm(lvs的管理工具),命令:
yum -y install ipvsadm
安装了ipvsadm后,可使用ipvsadm -L命令查看负载均衡规则。
3.3.真实服务器RS配置
两台真实服务器(Real Server, RS)都安装httpd,提供web服务。
lvs-webserver1配置httpd:
yum install -y httpd vi /etc/httpd/conf/httpd.conf #把ServerName那一行改成ServerName lvs-webserver1:80 service httpd start echo "lvs-webserver1: 192.168.80.13" >/var/www/html/index.html
lvs-webserver2配置httpd:
yum install -y httpd vi /etc/httpd/conf/httpd.conf #把ServerName那一行改成ServerName lvs-webserver2:80 service httpd start echo "lvs-webserver2: 192.168.80.14" >/var/www/html/index.html
两台真实服务器RS都运行realserver脚本来添加VIP,并抑制arp。
操作步骤按照此文: lvs负载均衡后端realserver脚本文件
四 测试
测试主机: 同一局域网的电脑,比如vmware的宿主机(IP:192.168.80.1)。
测试方法: 使用浏览器打开http://192.168.80.20测试。刷新页面,显示的页面会在两台webserver中循环。