当前位置: 首页 > news >正文

北京旅游网站建设深圳团购网站设计哪家好

北京旅游网站建设,深圳团购网站设计哪家好,南山做网站价格,长宁区网站制作目录 一、KEEPALIVED高可用集群简介 1、Keepalived 高可用集群的工作原理 2、Keepalived 高可用集群的作用 二、KEEPALIVED部署 1、网络配置 2、软件安装与启动 3、配置虚拟路由器 4、效果实现 三、启用keepalived日志功能 四、KEEPALIVED的几种工作模式 1、KEEPALI…目录 一、KEEPALIVED高可用集群简介 1、Keepalived 高可用集群的工作原理 2、Keepalived 高可用集群的作用 二、KEEPALIVED部署 1、网络配置 2、软件安装与启动 3、配置虚拟路由器 4、效果实现 三、启用keepalived日志功能 四、KEEPALIVED的几种工作模式 1、KEEPALIVED双主模式 2、非抢占模式 3、抢占延迟模式 五、实现独立子配置文件 六、VIP单播配置 七、keepalived邮件通知脚本配置 1、邮件配置 2、通知脚本配置 八、Keepalived- IPVS设定 九、keepalived-vrrp脚本编写 十、keepalivedhaproxy的高可用集群 在当今数字化的时代各种网络服务和应用对于可用性的要求越来越高。企业和组织依赖于关键业务系统的持续运行以满足用户的需求和保障业务的正常开展。 随着业务的增长和系统的复杂度增加单点故障成为了一个严重的问题。如果单个服务器出现故障可能会导致服务中断给用户带来不良体验甚至造成经济损失。 在这种情况下为了提高系统的可靠性和可用性避免单点故障对业务的影响高可用集群的概念应运而生。 传统的解决方案可能存在一些局限性例如配置复杂、切换速度慢、缺乏有效的监控和自动切换机制等。 Keepalived 作为一种高可用解决方案旨在提供一种相对简单、高效且可靠的方式来构建高可用集群。它利用了虚拟路由器冗余协议VRRP的特性能够快速检测主服务器的故障并自动将服务切换到备份服务器上。 一、KEEPALIVED高可用集群简介 1、Keepalived 高可用集群的工作原理 Keepalived 主要是通过虚拟路由器冗余协议VRRP来实现高可用的。VRRP 会在一组服务器中选举出一个主服务器Master和多个备份服务器Backup。 主服务器会定时向网络中发送心跳信息告知其他备份服务器自己的存活状态。如果备份服务器在一定时间内没有收到主服务器的心跳信息就会认为主服务器出现故障并通过选举机制将自己提升为主服务器接管主服务器的工作以保证服务的连续性。 2、Keepalived 高可用集群的作用 故障切换 当主服务器出现故障时能够快速将服务切换到备份服务器上减少服务中断的时间提高系统的可用性。例如在一个 Web 服务器集群中如果主服务器宕机Keepalived 可以迅速将流量导向备份服务器确保用户仍然能够正常访问网站。 负载均衡 可以配合其他负载均衡工具实现更高效的负载均衡策略。比如将请求均匀地分配到多个服务器上提高系统的整体性能和处理能力。 网络地址转换NAT Keepalived 可以用于实现 NAT 功能使得内部网络能够通过一个公共 IP 地址访问外部网络。 监控功能 能够监控服务器的各种状态指标如网络连接、服务进程等及时发现潜在的问题并采取相应的措施。 二、KEEPALIVED部署 基于RHEL7的环境搭建 1、网络配置 [rootka1 ~]# vmset.sh eth0 172.25.254.10 KA1.mlh.org [rootka2 ~]# vmset.sh eth0 172.25.254.20 KA2.mlh.org [rootrealserver1 ~]# vmset.sh eth0 172.25.254.110 realserver.mlh.org [rootrealserver2 ~]# vmset.sh eth0 172.25.254.120 realserver.mlh.org 2、软件安装与启动 [rootka1 ~]# yum install keepalived -y [rootka2 ~]# yum install keepalived -y [rootrealserver1 ~]# yum install httpd -y [rootrealserver2 ~]# yum install httpd -y#输入内容 [rootrealserver1 ~]# echo 172.25.254.110 /var/www/html/index.html [rootrealserver2 ~]# echo 172.25.254.120 /var/www/html/index.html #启动服务 [rootrealserver1 ~]# systemctl enable --now httpd [rootrealserver2 ~]# systemctl enable --now httpd 3、配置虚拟路由器 #KA1 [rootka1 ~]# vim /etc/keepalived/keepalived.conf #配置内容 global_defs {notification_email {3182678072qq.com #keepalived 发生故障切换时邮件发送的目标邮箱可以按行区分写多个acassenfirewall.locfailoverfirewall.locsysadminfirewall.loc}notification_email_from keepalivedmlh.org #发邮件的地址smtp_server 127.0.0.1 #邮件服务器地址smtp_connect_timeout 30 #邮件服务器连接timeoutrouter_id ka1.mlh.org #每个keepalived主机唯一标识vrrp_skip_check_adv_addr vrrp_strictvrrp_garp_interval 0 #报文发送延迟0表示不延迟vrrp_gna_interval 0 #消息发送延迟vrrp_mcast_group4 224.0.0.18 #指定组播IP地址范 }vrrp_instance VI_1 {state MASTERinterface eth0 #绑定为当前虚拟路由器使用的物理接口如eth0,可以和VIP不在一个网卡virtual_router_id 100 #每个虚拟路由器惟一标识,范围0-255每个虚拟路由器此值必须唯一否则服务无法启动同属一个虚拟路由器的多个keepalived节点必须相同务必要确认在同一网络中此值必须唯一priority 100 #当前物理节点在此虚拟路由器的优先级范围1-254advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {172.25.254.100/24 dev eth0 label eth0:1} } #指定VIP、网卡#KA2 [rootka1 ~]# scp /etc/keepalived/keepalived.conf root172.25.254.20:/etc/keepalived/keepalived.conf #远程拷贝文件 [rootka2 ~]# vim /etc/keepalived/keepalived.conf #配置内容vrrp_instance VI_1 {state BACKUP #备用设备interface eth0virtual_router_id 100priority 80 #修改优先级advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {172.25.254.100/24 dev eth0 label eth0:1} } 4、效果实现 #测试 [rootka1 ~]# systemctl restart keepalived.service [rootka2 ~]# systemctl restart keepalived.service [rootka1 ~]# tcpdump -i eth0 -nn host 224.0.0.18 #监视数据包 效果实现 KA1down备用设备up xxxxxxxxxx [rootka1 ~]# systemctl stop keepalived.service 此时vip切换到KA2设备 三、启用keepalived日志功能 [rootka1 ~]# vim /etc/sysconfig/keepalived #配置内容 KEEPALIVED_OPTIONS-D -S 6 [rootka1 ~]# vim /etc/rsyslog.conf [rootka1 ~]# systemctl restart keepalived.service [rootka1 ~]# systemctl restart rsyslog.service [rootka1 ~]# ll /var/log/keepalived.log -rw-------. 1 root root 21136 8月 12 13:36 /var/log/keepalived.log 四、KEEPALIVED的几种工作模式 1、KEEPALIVED双主模式 Keepalived 双主模式是一种高可用架构方案。在这种模式下通常有两台服务器都被配置为主服务器。 其工作原理基于虚拟路由冗余协议VRRP。VRRP 会为这两台服务器分配不同的优先级。正常情况下优先级较高的服务器承担主要的工作负载同时向网络中发送 VRRP 通告来表明自己的主状态。而另一台优先级较低的服务器则处于备用状态并监听主服务器的通告。 当主服务器出现故障无法发送 VRRP 通告时备用服务器在一段时间后没有收到通告就会认为主服务器失效并将自己提升为主服务器接管工作负载。 [rootka1 ~]# vim /etc/keepalived/keepalived.conf #配置以下内容实现双主架构 vrrp_instance VI_2 {state BACKUPinterface eth0virtual_router_id 200priority 80advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {172.25.254.200/24 dev eth0 label eth0:2}unicast_src_ip 172.25.254.10  unicast_peer {      172.25.254.20}track_script {check_haproxy} }[rootka2 ~]# vim /etc/keepalived/keepalived.conf vrrp_instance VI_2 {state MASTERinterface eth0virtual_router_id 200priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {172.25.254.200/24 dev eth0 label eth0:2}unicast_src_ip 172.25.254.20unicast_peer {      172.25.254.10} } 第一台主机KA1对于172.25.254.100这个vip是主设备对172.25.254.200这个vip是备用设备 第二台主机KA2对于172.25.254.100这个vip是备用设备对172.25.254.200这个vip是主设备。 当主机1发生故障时主机2将会接管工作 2、非抢占模式 默认为抢占模式preempt即当高优先级的主机恢复在线后会抢占低先级的主机的master角色。 这样会使vip在KA主机中来回漂移造成网络抖动。 建议设置为非抢占模式 nopreempt 即高优先级主机恢复后并不会抢占低优先级主机的master角色非抢占模块下,如果原主机down机, VIP迁移至的新主机, 后续也发生down时,仍会将VIP迁移回原主机。 KA1主机配置 [rootka1 ~]# vim /etc/keepalived/keepalived.conf vrrp_instance VI_1 {state BACKUP #要关闭 VIP抢占必须将各 keepalived 服务器state配置为BACKUPinterface eth0virtual_router_id 100priority 100 #优先级高nopreempt #非抢占模式advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {172.25.254.100/24 dev eth0 label eth0:1} } [rootka2 ~]# vim /etc/keepalived/keepalived.conf vrrp_instance VI_1 {state BACKUPinterface eth0virtual_router_id 100priority 80 #优先级低advert_int 1nopreempt #非抢占模式authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {172.25.254.100/24 dev eth0 label eth0:1} } 最开始 高优先级KA1重启后vip会迁移至低优先级KA2在非抢占模式下并不会因为高优先级重启而抢走vip [rootka1 ~]# systemctl restart keepalived.service 后续也发生down时,仍会将VIP迁移回原主机 [rootka2 ~]# systemctl stop keepalived.service 3、抢占延迟模式 抢占延迟模式即优先级高的主机恢复后不会立即抢回VIP而是延迟一段时间默认300s再抢回VIP 注意需要各keepalived服务器state为BACKUP,并且不要启用 vrrp_strict [rootka1 ~]# vim /etc/keepalived/keepalived.confvrrp_instance VI_1 {state BACKUPinterface eth0virtual_router_id 100priority 100preempt_delay 5s #设置延迟时间#nopreemptadvert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {172.25.254.100/24 dev eth0 label eth0:1} } 实验效果 KA1重启前后五秒vip的变化 五、实现独立子配置文件 当生产环境复杂时 /etc/keepalived/keepalived.conf 文件中内容过多不易管理。 将不同集群的配置比如不同集群的VIP配置放在独立的子配置文件中利用include 指令可以实现包含子配置文件。 [rootKA1 ~]# mkdir /etc/keepalived/conf.d [rootka1 ~]# vim /etc/keepalived/conf.d/172.25.254.100.conf #配置内容 vrrp_instance VI_1 {state MASTERinterface eth0virtual_router_id 100priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {172.25.254.100/24 dev eth0 label eth0:1} } #KA2同理 六、VIP单播配置 默认keepalived主机之间利用多播相互通告消息会造成网络拥塞可以替换成单播减少网络流量 [rootka1 ~]# vim /etc/keepalived/keepalived.conf vrrp_instance VI_1 {state MASTERinterface eth0virtual_router_id 100priority 100#preempt_delay 5s#nopreemptadvert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {172.25.254.100/24 dev eth0 label eth0:1}unicast_src_ip 172.25.254.10  unicast_peer {      172.25.254.20} } #KA2配置同理 [rootka1 log]# tcpdump -i eth0 -nn src host 172.25.254.10 and dst 172.25.254.20 七、keepalived邮件通知脚本配置 1、邮件配置 rootKA1 ~]# yum install mailx -y [rootKA2 ~]# yum install mailx -y QQ邮箱配置 打开QQ邮箱网页》账号与安全》安全设置》生成授权码 **************** [rootka1 log]# vim /etc/mail.rc #在末行插入以下内容 set from3182678***qq.com set smtpsmtp.qq.com set smtp-auth-user3182678***qq.com set smtp-auth-passwordhswuuangiqjndcfa set smtp-authlogin set ssl-verifyignore#KA2配置同理 测试 [rootka1 log]# echo test messages | mail -S test 3182678***qq.com 2、通知脚本配置 [rootka1 log]# vim /etc/keepalived/mail.sh #配置内容 #!/bin/bash mail_dest3182678***qq.commail_send() {mail_subj$HOSTNAME to be $1 vip removemail_messdate %F\ %T:vrrp remove,$HOSTNAME change $1echo $mail_mess | mail -s $mali_subj $mail_dest } case $1 inmaster)mail_send master;;backup)mail_send backup;;fault)mail_send fault;;*)exit 1;; esac[rootka1 log]# chmod x /etc/keepalived/mail.sh [rootka1 ~]# vim /etc/keepalived/keepalived.conf KA2配置同上 重启keepalived服务得到两个邮件 八、Keepalived- IPVS设定 在 Keepalived LVS 双主模式的 DRDirect Routing直接路由模式中实现过程包括以下关键步骤 首先配置 LVS 负载均衡器指定其为 DR 模式并设置相关的调度算法和真实服务器列表。 然后在每台真实服务器上配置相关的网络参数包括 VIPVirtual IP虚拟 IP等。 接下来配置 Keepalived使其能够监控 LVS 负载均衡器的状态并在出现故障时进行切换。 工作原理如下 客户端向 VIP 发送请求。 LVS 负载均衡器接收到请求后根据预先配置的调度算法选择一台合适的真实服务器。 由于是 DR 模式负载均衡器通过修改数据包的 MAC 地址将请求直接发送到选定的真实服务器。 真实服务器接收到请求后发现目的 MAC 地址是自己的会处理请求。处理完成后直接将响应数据包返回给客户端而不再经过负载均衡器。 在双主模式下有两台 LVS 负载均衡器都处于活动状态同时工作并分担负载。 Keepalived 会不断监控两台负载均衡器的健康状态。如果其中一台出现故障Keepalived 会迅速进行切换将其从服务中移除确保服务的连续性。 虚拟服务器配置参数 virtual_server IP port { #VIP和PORTdelay_loop INT #检查后端服务器的时间间隔lb_algo rr|wrr|lc|wlc|lblc|sh|dh #定义调度方法lb_kind NAT|DR|TUN #集群的类型,注意要大写persistence_timeout INT #持久连接时长protocol TCP|UDP|SCTP #指定服务协议,一般为TCPsorry_server IPADDR PORT #所有RS故障时备用服务器地址real_server IPADDR PORT {          #RS的IP和PORTweight INT   #RS权重notify_up STRING|QUOTED-STRING   #RS上线通知脚本notify_down STRING|QUOTED-STRING #RS下线通知脚本HTTP_GET|SSL_GET|TCP_CHECK|SMTP_CHECK|MISC_CHECK { ... } #定义当前主机健康状 态检测方法} } 应用层监测 HTTP_GET|SSL_GET {url {path URL_PATH #定义要监控的URLstatus_code INT #判断上述检测机制为健康状态的响应码一般为 200}connect_timeout INTEGER #客户端请求的超时时长, 相当于haproxy的timeout servernb_get_retry INT #重试次数delay_before_retry INT #重试之前的延迟时长connect_ip IP ADDRESS #向当前RS哪个IP地址发起健康状态检测请求connect_port PORT #向当前RS的哪个PORT发起健康状态检测请求bindto IP ADDRESS #向当前RS发出健康状态检测请求时使用的源地址bind_port PORT #向当前RS发出健康状态检测请求时使用的源端口 } TCP监测 TCP_CHECK {connect_ip IP ADDRESS #向当前RS的哪个IP地址发起健康状态检测请求connect_port PORT #向当前RS的哪个PORT发起健康状态检测请求bindto IP ADDRESS #发出健康状态检测请求时使用的源地址bind_port PORT #发出健康状态检测请求时使用的源端口connect_timeout INTEGER #客户端请求的超时时长#等于haproxy的timeout server   } 准备web服务器并设置VIP至web服务器lo网卡 [rootrealserver1 ~]# yum install httpd -y [rootrealserver2 ~]# yum install httpd -y [rootrealserver1 ~]# ip a a 172.25.254.100/32 dev lo [rootrealserver2 ~]# ip a a 172.25.254.100/32 dev lo 解决vip响应问题 [rootrealserver1 ~]# vim /etc/sysctl.d/arp.conf [rootrealserver2 ~]# vim /etc/sysctl.d/arp.conf #配置内容 net.ipv4.conf.all.arp_ignore1 net.ipv4.conf.all.arp_announce2 net.ipv4.conf.lo.arp_ignore1 net.ipv4.conf.lo.arp_announce2sysctl --system #检测配置是否生效 安装ipvsadm软件观察路由策略 [rootka1 ~]# yum install ipvsadm -y [rootka2 ~]# yum install ipvsadm -y 虚拟主机配置 virtual_server 172.25.254.100 80 {delay_loop 6lb_algo wrrlb_kind DRpersistence_timeout 50protocol TCPreal_server 172.25.254.110 80 {weight 1HTTP_GET {url {path /status_code 200}connect_timeout 3nb_get_retry 2delay_before_retry 2}}real_server 172.25.254.120 80 {weight 1HTTP_GET {url {path /status_code 200}connect_timeout 3nb_get_retry 2delay_before_retry 2}}} #两台虚拟主机均要配置 通过ipvsadm工具可以发现重启主机后加载keepalived服务路由策略可以自动加载出来 当断掉一台后端服务器时在虚拟服务器主机可以发现其路由策略消失但不影响访问 九、keepalived-vrrp脚本编写 vrrp_script SCRIPT_NAME { #定义一个检测脚本在global_defs 之外配置script STRING|QUOTED-STRING #shell命令或脚本路径interval INTEGER #间隔时间单位为秒默认1秒timeout INTEGER #超时时间weight INTEGER:-254..254 #默认为0,如果设置此值为负数#当上面脚本返回值为非0时#会将此值与本节点权重相加可以降低本节点权重 #即表示fall. #如果是正数当脚本返回值为0#会将此值与本节点权重相加可以提高本节点权重#即表示 rise.通常使用负值fall INTEGER       #执行脚本连续几次都失败,则转换为失败建议设为2以上rise INTEGER       #执行脚本连续几次都成功把服务器从失败标记为成功user USERNAME [GROUPNAME] #执行监测脚本的用户或组init_fail         #设置默认标记为失败状态监测成功之后再转换为成功状态 } 脚本编写 [rootka1 ~]# vim /etc/keepalived/test.sh #!bin/bash [ ! -f /mnt/mlh ] [rootka1 ~]# chmod x /etc/keepalived/test.sh [rootka1 ~]# sh /etc/keepalived/test.sh [rootka1 ~]# echo $? 1 定义脚本 [rootka1 ~]# vim /etc/keepalived/keepalived.confvrrp_script check_file {script /etc/keepalived/test.shinterval 1weight -30fall 2rise 2timeout 2} 调用脚本 vrrp_instance VI_1 { ... ...track_script {check_file} } 脚本执行结果为0说明weight值不生效优先级恢复为100则vip迁回 十、keepalivedhaproxy的高可用集群 Keepalived HAProxy 双主模式下的高可用集群工作原理 在 Keepalived HAProxy 双主模式的高可用集群中工作原理基于以下几个关键部分 HAProxy 的负载均衡功能 HAProxy 负责接收客户端的请求并根据预设的负载均衡策略将请求分发到后端的真实服务器。 例如它可以基于轮询、加权轮询、最少连接等算法来分配请求以实现高效的资源利用和性能优化。 Keepalived 的高可用机制 Keepalived 基于 VRRP 协议来实现高可用性。在双主模式下有两台服务器都被配置为主节点它们各自拥有一个虚拟 IPVIP。 正常情况下两个主节点都在工作同时向网络中发送 VRRP 通告来表明自己的状态。 故障检测与切换 当其中一台主节点出现故障例如网络中断、HAProxy 服务停止等它无法继续发送 VRRP 通告。 另一台主节点在一段时间内没有收到故障节点的通告后会认为其失效并接管故障节点的 VIP从而继续提供服务确保服务的连续性。 实验环境在keepalived-ipvs环境下更改配置 删除后端服务器vip [rootrealserver1 ~]# ip a d 172.25.254.100/32 dev lo [rootrealserver2 ~]# ip a d 172.25.254.100/32 dev lo arp响应 [rootrealserver1 realserver2 ~]# vim /etc/sysctl.d/arp.conf net.ipv4.conf.all.arp_ignore0 net.ipv4.conf.all.arp_announce0 net.ipv4.conf.lo.arp_ignore0 net.ipv4.conf.lo.arp_announce0 软件安装 [rootka1 ~]# yum install haproxy -y [rootka2 ~]# yum install haproxy -y 在两个ka1和ka2两个节点启用内核参数 [rootka1 ka2 ~]# vim /etc/sysctl.conf net.ipv4.ip_nonlocal_bind 1 [rootka1 ka2 ~]# sysctl -p 在虚拟服务器进行haproxy配置 [rootka1 ka2 ~]# vim /etc/haproxy/haproxy.cfg #在文件末行配置以下内容 listen webclusterbind 172.25.254.100:80mode httpbalance roundrobinserver web1 172.25.254.110:80 check inter 3 fall 2 rise 5server web2 172.25.254.120:80 check inter 3 fall 2 rise 5 在ka1中编写检测脚本当vip主机down时脚本检测将vip漂移至另外一台主机 [rootka1 ka2 ~]# vim /etc/keepalived/haproxy.sh #!/bin/bash killall -0 haproxy [rootka1 ka2 ~]# chmod X /etc/keepalived/haproxy.sh修改虚拟服务器keepalived配置文件 测试 当虚拟主机断开后后端依旧能提供访问 当虚拟服务器再次启动时vip返回
http://www.dnsts.com.cn/news/206115.html

相关文章:

  • 旅游的便宜的网站建设承德市人才信息网
  • 对网站分析正能量网站入口直接进入下载
  • 做网站的功能结构布局网站制作怎么添加图片
  • 营销型网站建设广告语做网站的收获及感想
  • 微信小网站是怎么做的化妆品瓶子怎么做网站
  • 海珠做网站青岛专业制作网站的公司
  • 网站上的flash怎么做的北京百度竞价
  • 个人博客有哪些网站推广公众号
  • 官方重大项目建设库网站建网站的论坛
  • 网站建设分金手指专业七海口网站建设策划
  • vscode网站开发wordpress+论坛+注册
  • 网站建设方案项目背景意义建设部精神文明建设网站
  • 7天酒店网站建设优势莱芜网站优化怎么做
  • 做网站送400电话纯html5 网站
  • 网站设计 版权wordpress页面的设置
  • 石家庄网站建设公司排名上海网站建设网页设计
  • 自己用dw做网站能加声音吗威海自适应网站建设
  • 不建议网站asp net网站建设
  • wordpress构架都是模板成都seo论坛
  • 竹子建设网站ie浏览器网址入口
  • 做网站用windows和 linux网站找哪些单位做实名认证
  • 内衣网站建立网站怎么做商家定位
  • 湖州做网站的公司南阳网站建设哪家专业
  • wordpress自建电商网站家教网站怎么做
  • 大型 视频网站开发网上购物哪个平台质量好
  • 快速建站公司怎么样大型门户网站建设运营
  • 如何创建网站?音乐版权购买网站
  • 惠州网站建设选惠州邦wordpress上下页翻页
  • 找公司的网站搜索优化软件
  • 东莞营销网站建设直播吉安市建设局网站