关键词:
目录
二、配置负载调度器lvs(主192.168.59.11,备192.168.59.10)
lvs2(备192.168.59.10)相同配置 (把上面再执行一遍)
配置虚拟VIP地址(vip:192.168.59.100) 两台节点服务器都需要配置
调整内核的arp响应参数以阻止更新VIP的MAC地址,避免发生冲突
修改配置文件keepalived.conf(这步主备lvs操作一致)
一、实验环境准备
DR服务器(LVS):主-192.168.59.11 备-192.168.59.10
tomcat1:192.168.59.12
tomcat2:192.168.59.13
VIP(虚拟回环):192.168.59.100
NFS:192.168.59.14
客户端:192.168.59.90
因为是在内网环境中我们需要配置本地yum仓库,并且关闭防火墙
#!/bin/bash
########关闭防火墙############
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
#######yum仓库#########
mount /dev/cdrom /mnt
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
touch /etc/yum.repos.d/local.repo
echo "
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
" > /etc/yum.repos.d/local.repo
yum clean all
yum makecache
要在每台主机中都执行一遍
执行效果。
二、配置负载调度器lvs(主192.168.59.11,备192.168.59.10)
安装ipvsadm工具
yum -y install ipvsadm
配置VIP地址(主192.168.59.100)
cd /etc/sysconfig/network-scripts
cp ifcfg-ens33 ifcfg-ens33:0
vim ifcfg-ens33:0
ifup ens33:0 #开启网卡
ifconfig
调整内核(proc)响应参数
对于DR集群模式来说,由于LVS负载调度器和个节点需要共用VIP地址,一个关闭linux内核的重定向参数响应服务器部署一台路由器,那么它不会发送重定向,所以可以关闭该功能
vim /etc/sysctl.conf
net.ipv4.ip_forward = 0 #关闭路由转发功能
net.ipv4.conf.all.send_redirects = 0 #下面都是关闭内核重定向功能
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
sysctl -p
配置负载分配
ipvsadm -C
ipvsadm -A -t 192.168.59.100:80 -s rr
ipvsadm -a -t 192.168.59.100:80 -r 192.168.59.12:80 -g
ipvsadm -a -t 192.168.59.100:80 -r 192.168.59.13:80 -g
ipvsadm
ipvsadm-save > /etc/sysconfig/ipvsadm
lvs2(备192.168.59.10)相同配置 (把上面再执行一遍)
三、部署共享存储(NFS:192.168.59.14)
安装nfs和rpcbind
yum -y install nfs-utils rpcbind
systemctl start nfs
systemctl start rpcbind
创建共享目录并设置权限
mkdir /opt/db1 /opt/db2
chmod 777 /opt/zb /opt/lc
输入页面内容
echo "i am web1" > /opt/db1/index.html
echo "i am web2" > /opt/db2/index.html
设置共享目录并发布共享
vim /etc/exports
/opt/db1 192.168.59.0/24(rw,sync)
/opt/db2 192.168.59.0/24(rw,sync)
exportfs -rv
备lvs:192.168.59.10相同配置
四、部署节点服务器(tomcat1,tomcat2)
tomcat1:192.168.59.12
tomcat2:192.168.59.13
配置虚拟VIP地址(vip:192.168.59.100) 两台节点服务器都需要配置
此地址仅作为发送web响应数据包的源地址,并不需要监听客户机的访问请求(这里由调度器调度并分发)。因此实验虚接口lo:0来承担VIP地址,并为本机添加一条路由记录,将访问VIP的数据限制在本地,以避免通讯紊乱。
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
启动lo:0网卡,添加VIP本地访问路由
ifup lo:0
ifconfig lo:0
route add -host 192.168.59.100 dev lo:0
设置系统自动识别,并设置执行权限
vim /etc/rc.local
/sbin/route add -host 192.168.59.100 dev lo:0
chmod +x /etc/rc.d/rc.local
调整内核的arp响应参数以阻止更新VIP的MAC地址,避免发生冲突
vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
sysctl -p
安装tomcat、nfs、rpcbind
tomcat可以使用wget下载(没有网,可以预先下载然后传进去)
yum -y install java
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.65/bin/apache-tomcat-9.0.65.tar.gz
tar -xvf apache-tomcat-9.0.65.tar.gz
mv apache-tomcat-9.0.65 /usr/local/tomcat
#进入配置文件,修改端口为8000
vim /usr/local/tomcat/conf/server.xml
ln -s /usr/local/tomcat/bin/startup.sh /usr/bin/startup.sh
startup.sh #开启tomcat
systemctl start nfs rpcbind #开启服务
访问一下试试就安装完成了
web2和web1一样的配置,但是注意修改IP
web1:挂载共享目录
mount.nfs 192.168.59.14:/opt/db1 /usr/local/tomcat/webapps/ROOT/
df -hT
web2:挂载共享目录
mount.nfs 192.168.59.14:/opt/db2 /usr/local/tomcat/webapps/ROOT/
df -hT
到这里我们小小的测试以下
这样我们lvs+tomcat+nfs就部署完成
五、部署keepalived
这我们选择yum安装就行
yum -y install keepalived
修改配置文件keepalived.conf(这步主备lvs操作一致)
cd /etc/keepalived/
cp keepalived.conf keepalived.conf.bak #备份以下配置文件
vim keepalived.conf
配置主lvs(192.168.59.11)
这里配置的是双主热备,比单配的会更快地切换,还在当中添加了负载均衡策略,配置了后我们其实也不需要再配本地的负载均衡策略了。
! Configuration File for keepalived
global_defs #定义全局参数
notification_email
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1 #邮件服务指向地址
smtp_connect_timeout 30
router_id LVS_1 #指定服务器名,主备服务器不能相同!!!
vrrp_skip_check_adv_addr
#vrrp_strict #一定要注释,取消严格遵守vrrp协议功能,否则VIP无法被连接
vrrp_garp_interval 0
vrrp_gna_interval 0
vrrp_instance VI_1 #定义VRRP热备份实力参数
state MASTER #指定热备状态,主为MASTER,备为BACKUP
interface ens33 #指定承载的VIP地址的物理接口
virtual_router_id 10 #指定虚拟路由器的ID号,每个热备组保持一致
priority 100 #指定优先级,数值越大优先级越高
advert_int 1 #通告间隔秒数(心跳频率)
authentication #定义认证信息,每个热备组保持一致
auth_type PASS #认证类型
auth_pass 1111 #指定验证密码,主备服务器保持一致
virtual_ipaddress
192.168.59.200 #指定集群VIP
vrrp_instance VI_2 #第二个热备组,含义与上方一致
state BACKUP
interface ens33
virtual_router_id 11
priority 50
advert_int 1
authentication
auth_type PASS
auth_pass 1111
virtual_ipaddress
192.168.59.200
virtual_server 192.168.59.100 80 #指定虚拟服务器地址(VIP)、端口、定义虚拟服务器和RIP服务器地址池参数
delay_loop 6 #健康检查的间隔
lb_algo rr #指定调度算法:轮询(rr)
lb_kind DR #指定集群工作模式,直接路由(DR)
persistence_timeout 0 #连接保持时间
protocol TCP #应用服务采用的TCP协议
real_server 192.168.59.12 80 #指定第一个web节点的地址,端口
weight 1 #节点权重
TCP_CHECK #添加健康检查方式
connect_port 80 #添加检查的端口
connect_timeout 3 #添加连接超时时间
nb_get_retry 3 #添加重试次数
delay_beforce_retry 3 #添加重试间隔
real_server 192.168.59.13 80 #指定第二个web节点的地址,端口
weight 1
TCP_CHECK
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_beforce_retry 3
systemctl start keepalived
ip a
配置备lvs(192.168.59.10)
! Configuration File for keepalived
global_defs
notification_email
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_2
vrrp_skip_check_adv_addr
# vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
vrrp_instance VI_1
state BACKUP
interface ens33
virtual_router_id 10
priority 50
advert_int 1
authentication
auth_type PASS
auth_pass 1111
virtual_ipaddress
192.168.59.200
vrrp_instance VI_2
state MASTER
interface ens33
virtual_router_id 11
priority 100
advert_int 1
authentication
auth_type PASS
auth_pass 1111
virtual_ipaddress
192.168.59.200
erver 192.168.59.100 80
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 0
protocol TCP
real_server 192.168.59.12 80
weight 1
TCP_CHECK
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_beforce_retry 3
real_server 192.168.59.13 80
weight 1
TCP_CHECK
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_beforce_retry 3
systemctl start keepalived
ip a
六、最终测试
现在我们是可以正常访问的
我们将主lvs断掉,查看备
再看客户端
还是可以正常访问,到此配置结束
总结
集群满足的三个特点:负载均衡,健康检查,故障切换
对于节点服务器:健康检查如果发现有故障的节点就会将其隔离或者提出集群。待其恢复后在重新加入集群当中。
负载均衡器:健康检查会定时检查主机的状态(包括主机和服务状态)如果主故障就会自动切换到备主机上,待主的恢复重新在让主承载业务请求。
lvs(dr)+keepalived+nfs+raid+lvm
LVS理论篇650)this.width=650;"src="https://s3.51cto.com/wyfs02/M00/8D/A4/wKiom1ikWLezxsAWAAJSHJoFJTA731.png-wh_500x0-wm_3-wmp_4-s_2162435039.png"title="0.png"style="float:none;"alt="wKiom1ikWLezxsAWAAJSHJ 查看详情
lvs+keepalived实战(代码片段)
1.配置规划:2.安装配置主DS和备用DS需要安装lvs和keepalived;RealServer只需添加realserver.sh文件,其余需要配置tomcat或apache,注:对apache或tomcat测试页面进行不通标识,方便测试负载均衡。2.1安装lvsyuminstallipvsadm2.2安装配置keepalived#安... 查看详情
keepalived双机热备+lvs负载实验案例
...主页内容3)开启httpd服务并设置为开机自启二、搭建Keepalived1、搭建Keepalived11)安装Keepalived2)备份主配置文件3)修改主配置文件4)启动keepalived并设置为开机自启2、搭建Keepalived21)安装Keepalived2)备份... 查看详情
keepalived双机热备+lvs负载实验案例
...主页内容3)开启httpd服务并设置为开机自启二、搭建Keepalived1、搭建Keepalived11)安装Keepalived2)备份主配置文件3)修改主配置文件4)启动keepalived并设置为开机自启2、搭建Keepalived21)安装Keepalived2)备份... 查看详情
高可用负载均衡:lvs+keepalived(代码片段)
LVS+Keepalived方案,基于DR模式的。参考文章如下:youzhibing2904,《主从热备+负载均衡(LVS+keepalived)》lvshaorong,《Keepalived实现NAT+LVS+后端健康检测》 结构图如下: 一、配置网络Tomcat-1: 192.168.44.18Tomcat-2: 192.16... 查看详情
centos7下配置lvs+keepalived高可用主备+2台tomcat负载图文篇(代码片段)
环境描述:centos7最小化安装1.环境说明:名称IP说明masterens33:192.168.0.61vip:192.168.0.60backupens33:192.168.0.62vip:192.168.0.60tomcat1ens33:192.168.0.63负载tomcat2ens33:192.168.0.64负载测试机在同网段随意一台均可tomcat安装详细步骤上一篇文章有... 查看详情
lvs+keepalived负载均衡配置
简介lvs一般是和keepalived一起组合使用的,虽然也可以单独使用lvs,但配置比较繁琐,且可用性也没有前者高。lvs和keepalived组合使用后,配置lvs的VIP和负载均衡就都在keepalived中进行配置,只是在keepalived中调用lvs 架构图 &n... 查看详情
keepalived+lvs
第1章keepalived服务说明1.1keepalived是什么? Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,... 查看详情
keepalived+lvs
一keepalived简介:keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能,因此。keepalived除了能够管理LVS软件之外,还可以作为其他服务的高可用... 查看详情
keepalived+lvs实现负载均衡(代码片段)
一、Keepalived与LVS简单工作原理了解1、Keepalived管理LVS负载均衡软件,Keepalived可以通过读取自身的配置文件,实现通过更底层的接口直接管理LVS的配置以及控制服务的启动、停止等功能,这使用LVS的应用更加简单方便了。2、Keepali... 查看详情
keepalived+lvs
#################################### Keepalived+lvs ###################################server4tarzxfkeepalived-1.3.5.tar.gz cdkeepalived-1.3.5[[email protected]keepalived-1.3.5]#yu 查看详情
lvs+keepalived+httpd高可用集群(代码片段)
实验环境(1)本次基于VMwareWorkstation搭建一个四台Linux(CentOS7.4)系统所构成的一个服务器集群,其中两台负载均衡服务器(一台为主机,另一台为备机),另外两台作为真实的Web服务器(向外部提供http服务,这里仅仅使用了Cen... 查看详情
lvs+keepalived快速搭建测试环境
#LVS+keepalived快速搭建测试环境 #LVS+keepalived快速搭建测试环境#centos6X64#LVS负载均衡模式:DR(直接路由)192.168.18.31master(LVS)192.168.18.32slave(LVS)192.168.18.18VIP192.168.18.11web1192.168.18.12web2##################### 查看详情
lvs+keepalived
-------主服务器&从服务器lvs&keepalived------ 首先安装依赖包yum-yinstallopenssl-devel gcc gcc-c++ ipvsadm yum安装lvs yum-yinstallipvsadm yum安装keepalived yum-yinstallkeepa 查看详情
lvs+keepalived集群
3.2配置masterDirector3.3backupdirector配置 查看详情
keepalived管理lvs负载均衡实战(代码片段)
...节点的健康检查功能。为了解决LVS的这些使用不便问题,Keepalived便诞生。Keepalived服务的三大重要功能管理VLS负载均衡实现对LVS集群node健康检查作为系统网络服务的高可用**闲话不多说,直接上实例**LB端Keepalived配置[[email prot... 查看详情
lvs+keepalived
LVS+keepalived负载均衡实战 ---------------------这里非常感谢田逸老师的文档,在我学习lvs的时候给了我很大的帮助! 一、为什么要使用负载均衡技术?1、系统高可用性2、 系统可扩展... 查看详情
初识keepalived——keepalived与lvs实现高可用
...而LVS本身无法实现高可用和对realserver的健康状态检测,keepalived为了解决上述2点问题而诞生,同时keepalived还可以直接在配置文件里设置LVS规则,而不需要再单独设置。在配置高可用之前需要提前做2个准备:1.需要进行高可用的... 查看详情