柔造网站定制,杭州网站设计优异柚v米科技,nginx 搭建wordpress,天津网站制作推广目录 前言 一、实验拓扑图 二、配置LVS#xff08;dr#xff09;模式 三、配置调配器热备 四、测试 总结 前言
Keepalived和LVS#xff08;Linux Virtual Server#xff09;是两个常用的开源软件#xff0c;通常结合使用以提供高可用性和负载均衡的解决方案。
Keepalive… 目录 前言 一、实验拓扑图 二、配置LVSdr模式 三、配置调配器热备 四、测试 总结 前言
Keepalived和LVSLinux Virtual Server是两个常用的开源软件通常结合使用以提供高可用性和负载均衡的解决方案。
Keepalived是一种用于实现高可用性的软件它可以监控服务器的健康状态并在主服务器出现故障时自动切换到备份服务器。它使用VRRPVirtual Router Redundancy Protocol协议来实现服务器之间的冗余和故障恢复确保服务的连续性。Keepalived还可以配合其他负载均衡软件如LVS一起使用以提供更可靠的高可用性解决方案。
LVSLinux Virtual Server是一种用于构建高性能和可扩展的负载均衡集群的软件。LVS使用IP负载均衡技术将客户端的请求分发到多个后端服务器上提高了整个系统的处理能力和吞吐量。LVS支持多种负载均衡算法如轮询、加权轮询、最少连接等可以根据实际需求灵活配置。LVS的工作模式有多种其中DRDirect Routing模式是一种常用的模式它通过修改数据包的目的MAC地址实现请求的转发提高了转发的效率。
综合起来使用KeepalivedLVS(dr)的解决方案可以实现高可用性和负载均衡的效果。Keepalived负责监控服务器的健康状态并在主服务器发生故障时自动切换到备份服务器保证服务的连续性。而LVS负责将客户端的请求分发到多个后端服务器上提高系统的性能和可扩展性。通过结合使用这两个软件可以构建出稳定可靠的高可用性和负载均衡的系统架构。 一、实验拓扑图
按要求准备好下列的设备 二、配置LVSdr模式
不多说了开整
1、配置2台web节点
##安装nginx
yum -y install epel
yum -y install nginx
##分别书写两台web服务器的测试页面
echo nginx1 /usr/share/nginx/html/index.html
echo nginx2 /usr/share/nginx/html/index.html
##启动nginx
systemctl start nginx测试
2、调整web节点的APR参数
##调整ARP参数
vim /etc/sysctl.conf
##插入
net.ipv4.conf.all.arp_ignore1
net.ipv4.conf.all.arp_announce2
net.ipv4.conf.default.arp_ignore1
net.ipv4.conf.default.arp_announce 2
net.ipv4.conf.lo.arp_ignore 1
net.ipv4.conf.lo.arp_announce2
##是它生效
sysctl -p
3、配置web节点虚拟IP
##配置虚拟IP地址
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
##插入
DEVICElo:0
IPADDR192.168.115.200
NETMASK255.255.255.255
ONBOOTyes
NAMEloopback:0
##重启网卡并添加路由
systemctl restart network
route add -host 192.168.115.200/32 dev lo:0 4、配置主调配器192.168.115.128
##设置APR参数
vim /etc/sysctl.conf
##插入
net.ipv4.conf.all.send_redirects 0
net.ipv4.conf.default.send_redirects0
net.ipv4.conf.ens33.send_redirects 0
##是之生效
sysctl -p
##配置网卡
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0
##插入
TYPEEthernet
BOOTPROTOstatic
NAMEens33:0
DEVICEens33:0
ONBOOTyes
IPADDR192.168.115.200
PREFIX24
##安装ipvsadm
yum -y install ipvsadm
##加载查看模块
modprobe ip_vs
lsmod |grep ip_vs
##启动ipvsadm
touch /etc/sysconfig/ipvsadm
systemctl start ipvsadm.service
##添加策略
ipvsadm -A -t 192.168.115.200:80 -s rr
ipvsadm -a -t 192.168.115.200:80 -r 192.168.115.131:80 -g
ipvsadm -a -t 192.168.115.200:80 -r 192.168.115.134:80 -g
##保存策略
ipvsadm-save /etc/sysconfig/ipvsadm
##重启网卡
systemctl restart network浏览器验证 三、配置调配器热备
1、来到我们的负载调度器在两台调度器上下载keepalived
192.168.115.128作为主
192.168.115.131作为备
yum -y install keepalived 2、配置主的keepalived
vim /etc/keepalived/keepalived.conf
####此处我就设置了一个虚拟IP192.168.115.200一个虚拟IP对应着我2个真实的web服务器IP
! Configuration File for keepalivedglobal_defs {notification_email {acassenfirewall.locfailoverfirewall.locsysadminfirewall.loc}notification_email_from Alexandre.Cassenfirewall.locsmtp_server 192.168.200.1smtp_connect_timeout 30router_id LVS_DEVEL1 ##名字主从不要一样vrrp_skip_check_adv_addr#vrrp_strictvrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_instance VI_1 {state MASTER ##身份为主interface ens33 ##网卡virtual_router_id 51 ##主从 id要一致priority 100 ##优先级advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.115.200 ###虚拟IP}
}virtual_server 192.168.115.200 80 { ##虚拟ip,下面对应的是2台web的真实ipdelay_loop 6lb_algo rr ##轮询模式lb_kind DR ##这里我们是dr模式下进行的所以设置为drpersistence_timeout 50protocol TCPreal_server 192.168.115.131 80 { ##web1真实IPweight 1SSL_GET {url {path /}connect_timeout 3nb_get_retry 3delay_before_retry 3}}real_server 192.168.115.134 80 { ##web2真实IPweight 1SSL_GET {url {path /}connect_timeout 3nb_get_retry 3delay_before_retry 3}}
}
#########如果想配置多个虚拟IP那么参照上面的方法照猫画虎###########
3、配置从负载调配器建议使用scp把主的传输过来后修改比较省事安装ipvsadm服务
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalivedglobal_defs {notification_email {acassenfirewall.locfailoverfirewall.locsysadminfirewall.loc}notification_email_from Alexandre.Cassenfirewall.locsmtp_server 192.168.200.1smtp_connect_timeout 30router_id LVS_DEVEL2 ###服务名vrrp_skip_check_adv_addr#vrrp_strictvrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_instance VI_1 {state BACKUP ###角色interface ens33virtual_router_id 51priority 90advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.115.200}
}virtual_server 192.168.115.200 80 {delay_loop 6lb_algo rrlb_kind DRpersistence_timeout 50protocol TCPreal_server 192.168.115.131 80 {weight 1SSL_GET {url {path /}connect_timeout 3nb_get_retry 3delay_before_retry 3}}real_server 192.168.115.134 80 {
weight 1SSL_GET {url {path /}connect_timeout 3nb_get_retry 3delay_before_retry 3}}
}启动分别启动主备的keepalived并查看主备的ipvsadm策略,ip
##启动
systemctl start keepalived
##查看
ipvsadm -Ln
主ip 策略 备IP
策略 在这里说明一下只要配置的keepalived是对的启动keepalived后会自己根据配置文件生成策略
4、页面测试 这里访问是没什么问题的并且是轮询我们抓个包看看只有200的地址符合DR模式 四、测试
宕掉主调配器观查是否还能实现轮询
查看备调度器IPIP漂移说明主备生效了 访问网页可以访问并且轮询正常 抓包与之前一样 ok,配置成功 总结
这里主要理解的是keepalived与ipvsadm的关系一般情况下启动了keepalived后ipvsadm也会启动并且会根据keepalived的文件生成策略相对而言keepalived的配置文件很长需要理解记忆可以参考我上面的配置这里主要就是理解配置文件理清思路在本实验中配置了大量的IP地址容易混淆。