家居网站关键词怎么做,临沂网站设计制作,茶叶公司网站的建设,wordpress 商品分类一.Keepalived概述
Keepalived起初是专门针对LVS设计的一款强大的辅助工具#xff0c;主要用来提供故障切换和健康检查功能-----判断LVS负载调度器#xff0c;节点服务器的可用性#xff0c;及时隔离并替换为新的服务器#xff0c;当故障主机恢复后将其重新加入群集中Keep…一.Keepalived概述
Keepalived起初是专门针对LVS设计的一款强大的辅助工具主要用来提供故障切换和健康检查功能-----判断LVS负载调度器节点服务器的可用性及时隔离并替换为新的服务器当故障主机恢复后将其重新加入群集中Keepalived的作用是检测服务器的状态如果有一台web服务器宕机或工作出现故障Keepalived将检测到并将有故障的服务器从系统中剔除同时使用其他服务器代替该服务器的工作当服务器工作正常后Keepalived自动将服务器加入到服务器群中这些工作全部自动完成不需要人工干涉需要人工做的只是修复故障的服务器。
1.1Keepalived的工作原理
Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案可以解决静态路由出现的单点故障问题。
在一个LVS服务集群中通常有主服务器MASTER和备份服务器BACKUP两种角色的服务器但是对外表现为一个虚拟IP主服务器会发送VRRP通告信息给备份服务器当备份服务器收不到VRRP消息的时候即主服务器异常的时候备份服务器就会接管虚拟IP继续提供服务从而保证了高可用性。
1.2Keepalived体系主要模块及其作用 keepalived体系架构中主要有三个模块分别是core、check和vrrp。
core模块为keepalived的核心负责主进程的启动、维护及全局配置文件的加载和解析。vrrp模块是来实现VRRP协议的。check模块负责健康检查常见的方式有端口检查及URL检查。
1.3 VRRP 虚拟路由冗余协议
vrrp会把多台路由器组成一个虚拟路由组vridVRRP会生成一个虚拟路由包含虚拟IP和虚拟MAC局域网内用户不关心哪个是主哪个是备他们只用虚拟路由器的的虚拟IP作为他们的网关实际上虚拟IP是承载再master路由器也就是说实际的数据通过master进行转发backup是通过优先级来决定哪个是master路由优先级最大的那台就是masterbackup只是用来监听master定时发来的vrrp报文如果超时未收到master发来的vrrp报文 backup就会抢占master 虚拟IP也就会一漂移到backup上
二、LVS负载均衡之--Keepalived模式实例部署 部署准备 主服务器192.168.50.22 虚拟VIP192.168.50.23 备服务器192.168.50.41 Web服务器1192.168.50.56 Web服务器2192.168.50.57 部署主服务器配置192.168.50.22 必须执行操作 1.#关闭防火墙 [rootlocalhost ~]# systemctl stop firewalld.service [rootlocalhost ~]# setenforce 0 [rootlocalhost keepalived]# modprobe ip_vs [rootlocalhost keepalived]# cat /proc/net/ip_vs 2.#安装Keepalived服务 [rootlocalhost ~]# yum -y install ipvsadm keepalived 3.#备份keeplived.conf文件 [rootlocalhost ~]# cd /etc/keepalived/ [rootlocalhost keepalived]# cp keepalived.conf keepalived.conf.bak [rootlocalhost keepalived]# ls 4.#修改配置keeplived.conf文件 [rootlocalhost keepalived]# vim keepalived.conf --10行--修改邮件服务指向本地 smtp_server 127.0.0.1 --12行--修改指定服务器路由器的名称主备服务器名称须不同主为LVS_01备为LVS_02 router_id LVS_01 --14行--注释掉取消严格遵守VRRP协议功能否则VIP无法被连接 #vrrp_strict vrrp_instance VI_1 { #定义VRRP热备实例参数--20行--修改指定热备状态主为MASTER备为BACKUP state MASTER --21行--修改指定承载vip地址的物理接口 interface ens33 --22行--修改指定虚拟路由器的ID号每个热备组保持一致 virtual_router_id 10 #nopreempt #如果设置非抢占模式两个节点state必须为bakcup并加上配置 nopreempt--23行--修改指定优先级数值越大优先级越高这里设置主为100备为90 priority 100 advert_int 1 #通告间隔秒数(心跳频率) authentication { #定义认证信息,每个热备组保持一致 auth_type PASS #认证类型 --27行--修改指定验证密码主备服务器保持一致 auth_pass 123 } virtual_ipaddress { #指定群集vip地址 192.168.50.23 } } --36行--修改指定虚拟服务器地址(VIP)、端口定义虚拟服务器和Web服务器池参数 virtual_server 192.168.50.23 80 { delay_loop 6 #健康检查的间隔时间(秒) lb_algo rr #指定调度算法轮询(rr) --39行--修改指定群集工作模式直接路由(DR) lb_kind DR persistence_timeout 0 #连接保持时间(秒) protocol TCP #应用服务采用的是 TCP协议 --43行--修改指定第一个Web节点的地址、端口 real_server 192.168.50.56 80 { weight 1 #节点的权重 --45行--删除添加以下健康检查方式 TCP_CHECK { connect_port 80 #添加检查的目标端口 connect_timeout 3 #添加连接超时(秒) nb_get_retry 3 #添加重试次数 delay_before_retry 3 #添加重试间隔 } } real_server 192.168.50.57 80 { #添加第二个 Web节点的地址、端口 weight 1 TCP_CHECK { connect_port 80 connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } ##删除后面多余的配置## } 5.#刷新服务并查看虚拟网卡的IP [rootlocalhost keepalived]# systemctl start keepalived [rootlocalhost keepalived]# ip addr show dev ens33 6.#调整响应参数 [rootlocalhost keepalived]# vim /etc/sysctl.conf net.ipv4.ip_forward 1 net.ipv4.conf.all.send_redirects 0 net.ipv4.conf.default.send_redirects 0 net.ipv4.conf.ens33.send_redirects 0 #刷新一下 [rootlocalhost keepalived]# sysctl -p 7.#配置策略并且启动服务 [rootlocalhost keepalived]# ipvsadm-save /etc/sysconfig/ipvsadm [rootlocalhost keepalived]# systemctl start ipvsadm 8.#清空ipvsadm并做策略 [rootlocalhost keepalived]# ipvsadm -C [rootlocalhost keepalived]# ipvsadm -A -t 192.168.50.23:80 -s rr [rootlocalhost keepalived]# ipvsadm -a -t 192.168.50:23:80 -r 192.168.50.56:80 -g illegal virtual server address[:port] specified [rootlocalhost keepalived]# ipvsadm -a -t 192.168.50.23:80 -r 192.168.50.56:80 -g [rootlocalhost keepalived]# ipvsadm -a -t 192.168.50.23:80 -r 192.168.50.57:80 -g [rootlocalhost keepalived]# ipvsadm [rootlocalhost keepalived]# ipvsadm -ln [rootlocalhost keepalived]# ipvsadm-save /etc/sysconfig/ipvsadm 部署备服务器配置192.168.50.41
注所有部署参照上方部署主服务器配置 部署节点服务器
Web服务器1192.168.50.56
Web服务器2192.168.50.57 Web服务器2192.168.50.56 1.#关闭防火墙 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2.#安装并开启httpd服务 [rootlocalhost ~]#yum -y install httpd [rootlocalhost ~]#systemctl start httpd 3.#配置站点文件 [rootlocalhost ~]# vim /var/www/html/index.html 4.#配置虚拟IP [rootlocalhost ~]# /etc/sysconfig/network-scripts/ifcfg-lo:0 [rootlocalhost opt]# cd /etc/sysconfig/network-scripts/ [rootlocalhost network-scripts]# cp ifcfg-lo ifcfg-lo:0 [rootlocalhost network-scripts]# vim ifcfg-lo:0 DEVICElo:0 ONBOOTyes IPADDR192.168.50.23 NETMASK255.255.255.255 5.#重启服务并配置虚拟网卡 [rootlocalhost network-scripts]# systemctl restart network [rootlocalhost ~]# ifup lo:0 [rootlocalhost ~]# ifconfig lo:0 6.#设置路由 [rootlocalhost ~]# route add -host 192.168.50.23 dev lo:0 [rootlocalhost ~]# route -n 7. #调整响应参数并查看 [rootlocalhost ~]# vim /etc/sysctl.conf net.ipv4.conf.lo.arp_ignore 1 net.ipv4.conf.lo.arp_announce 2 net.ipv4.conf.all.arp_ignore 1 net.ipv4.conf.all.arp_announce 2 [rootlocalhost ~]# sysctl -p 注Web服务器2192.168.50.57 同Web服务器2配置 浏览器验证 过一会刷新