当前位置:首页 > CN2资讯 > 正文内容

windows 配置 gre服务器

3天前CN2资讯



文章目录

  • 2.1 主机规划
  • 三、环境准备
  • 3.2.1.安装
  • 3.2.2查看安装文件位置
  • 3.2.3查看当前网卡
  • 3.2.4.修改keepalived.conf配置文件
  • 3.2.5.创建主备脚本
  • 3.2.6.修改keepaliveddel
  • 3.2.7.修改rsyslog.conf
  • 四、启动keepalived服务
  • 4.1.启动
  • 4.2.关闭SELINUX和防火墙



一、Keepalived工作原理

Keepalived可提供VRRP以及health-check功能,可以只用它提供双机浮动的vip(VRRP虚拟路由功能),这样可以简单实现一个双机热备高可用功能。Keepalived是以VRRP虚拟路由冗余协议为基础实现高可用的,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到VRRP包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。
Keepalived工作在TCP/IP参考模型的三层、四层、五层(物理层,链路层):

  • 网络层(3):Keepalived通过ICMP协议向服务器集群中的每一个节点发送一个ICMP数据包(有点类似与Ping的功能),如果某个节点没有返回响应数据包,那么认为该节点发生了故障,Keepalived将报告这个节点失效,并从服务器集群中剔除故障节点。
  • 传输层(4):Keepalived在传输层里利用了TCP协议的端口连接和扫描技术来判断集群节点的端口是否正常,比如对于常见的WEB服务器80端口。或者SSH服务22端口,Keepalived一旦在传输层探测到这些端口号没有数据响应和数据返回,就认为这些端口发生异常,然后强制将这些端口所对应的节点从服务器集群中剔除掉。
  • 应用层(5):Keepalived的运行方式也更加全面化和复杂化,用户可以通过自定义Keepalived工作方式,例如:可以通过编写程序或者脚本来运行Keepalived,而Keepalived将根据用户的设定参数检测各种程序或者服务是否允许正常,如果Keepalived的检测结果和用户设定的不一致时,Keepalived将把对应的服务器从服务器集群中剔除。

二、架构

2.1 主机规划


三、环境准备

3.1 关闭防火墙和selinux

#关闭防火墙 systemctl stop firewalld #关闭selinux vi /etc/selinux/config SELINUX=disabled

3.2 Keepalived配置

下面操作,主备服务器都执行,部分配置不同详细看注释

3.2.1.安装

yum install -y keepalived

3.2.2查看安装文件位置

[root@pgsql01 ~]# whereis keepalived keepalived: /usr/sbin/keepalived /etc/keepalived /usr/libexec/keepalived /usr/share/man/man8/keepalived.8.gz

3.2.3查看当前网卡

3.2.4.修改keepalived.conf配置文件

文件位置 /etc/keepalived (多余的配置,可删除)

! Configuration File for keepalived global_defs { notification_email { [email protected] [email protected] [email protected] #邮箱相关配置,可以不修改 } notification_email_from [email protected] smtp_server 192.168.195.137 #注意主备不一样 smtp_connect_timeout 30 router_id 192.168.195.137 #注意主备不一样 vrrp_skip_check_adv_addr # vrrp_strict #注释掉此处,避免keepalived启动后iptables drop vip vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_script check_pg_alived { script "/etc/keepalived/scripts/check_pg.sh" #检测脚本位置 interval 2 weight -5 fall 2 rise 1 } vrrp_instance VI_1 { state BACKUP #主备一致 interface ens33 #当前网卡 virtual_router_id 51 #默认51,保持主备一致即可 priority 100 #优先级主高于备即可 advert_int 1 authentication { auth_type PASS #密码主备一致 auth_pass 1111 } track_script { check_pg_alived } virtual_ipaddress { 192.168.195.136 #VIP服务器地址 } } } #因为删除剩余配置,所以添加}

3.2.5.创建主备脚本

创建主备服务器的脚本,保存位置为 /etc/keepalived/scripts/check_pg.sh


同时开放读写执行权限


编写 vi /etc/keepalived/scripts/check_pg.sh

#!/bin/bash #判断pg是否活着 A=`ps -C postgres --no-header | wc -l` #判断vip浮到哪里 这里的vip需要更改成自己设置的vip B=`ip a | grep 192.168.195.136 | wc -l` #判断是否是主库 C=`su - postgres -c "pg_controldata | grep cluster" | grep production | wc -l` #判断是否是从库 D=`su - postgres -c "pg_controldata | grep cluster" | grep recovery | wc -l` #判断主库是否有从库的同步进程 E=`ps -ef | grep postgres | grep 'walsender repl' | wc -l` #如果pg死了,将消息写入日记并且关闭keepalived if [ $A -eq 0 ];then echo "`date "+%Y-%m-%d--%H:%M:%S"` postgresql stop so vip stop " >> /etc/keepalived/log/check_pg.log systemctl stop keepalived fi #判断出主库挂了,vip漂移到了从,提升从的地位让他可读写 if [ $B -eq 1 -a $C -eq 0 -a $D -eq 1 ];then su - postgres -c "pg_ctl promote -D /var/lib/pgsql/12/data" #重新加载pgsql使其可写 echo "`date "+%Y-%m-%d--%H:%M:%S"` standby promote " >> /etc/keepalived/log/check_pg.log fi #判断出自己是主并且和从失去联系 if [ $B -eq 1 -a $C -eq 1 -a $D -eq 0 -a $E -eq 0 ];then echo "`date "+%Y-%m-%d--%H:%M:%S"` can't find standby " >> /etc/keepalived/log/check_pg.log fi

编写完成后执行,后保存退出

set ff=unix


注意:在执行shell脚本时主要是由于shell脚本文件是dos格式,即每一行结尾以\r\n来标识,而unix格式的文件行尾则以\n来标识,所以vi filename打开文件,执行 : set ff=unix 设置文件为unix,然后执行:wq,保存成unix格式。

3.2.6.修改keepaliveddel

对应文件位置 /etc/sysconfig/keepaliveddel

把KEEPALIVED_OPTIONS="-D" 修改为KEEPALIVED_OPTIONS="-D -d -S 0"

3.2.7.修改rsyslog.conf

对应文件位置 /etc/rsyslog.conf ,加入以下配置

#keepalived -S 0 local0.* /var/log/keepalived.log

四、启动keepalived服务

4.1.启动

#启动 systemctl start keepalived #开机自启 systemctl enable keepalived #查看状态 systemctl status keepalived

4.2.关闭SELINUX和防火墙

三台服务都需要关闭 ,防止keepalived的VIP漂移失败

#关闭防火墙 systemctl stop firewalld #关闭防火墙开机自启 systemctl disable firewalld #关闭SELINUX setenforce 0 #永久关闭修改 vim /etc/sysconfig/selinux SELINUX=disabled

现在Keepalived的全部配置完成,下一篇文章我们将进行功能测试。


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/29993.html

    分享给朋友:

    “windows 配置 gre服务器” 的相关文章

    搬瓦工VPS用户必看:如何顺利更换IP地址

    板瓦工换IP是指在使用搬瓦工VPS主机时,用户因各种原因需要更改当前的IP地址。无论是因为IP被封禁,还是出于其他网络需求,了解这个过程非常重要。对于想要顺利运营自己项目的用户而言,保持IP的稳定和安全是基础,而换IP可以帮助他们解决潜在的网络问题。 在日常使用中,有些用户可能会发现他们的IP地址被...

    PacificRack低价VPS服务评测与用户体验分析

    在云计算和虚拟主机服务日益普及的今天,PacificRack作为QuadraNET旗下的全资子品牌,逐渐在低价VPS市场中崭露头角。它的主要定位是为那些对性能要求不高,且对价格敏感的用户提供解决方案。PacificRack通过严格的资源管理,致力于为用户提供一种经济实惠的选择,适合希望以最低成本体验...

    UCloud年付100元的云服务选择与优势解析

    在开始探讨UCloud的计费方式之前,我想先分享一下我对云服务费用的一些理解和看法。在如今的数字化时代,选择合适的云服务提供商至关重要,计费方式也应兼顾灵活性和经济性。我在UCloud上体验过不同的计费方式,从中得出了一些实用的建议。 UCloud提供的计费方式相当多样,特别是在按年计费这一块。对于...

    2023年美国服务器市场分析与未来展望

    在美国,服务器市场一直以来都具有举足轻重的地位。到了2023年,这个市场依旧保持着强劲的增长势头。根据IDC的分析报告,2023年第一季度,美国的服务器市场规模达到了2212亿美元,相比去年增长了2%。这不仅显示了市场的健康发展,也奠定了美国在全球服务器市场的领导地位,全球市场份额约为30%。 随着...

    如何使用DigitalOcean优惠码获取200美元免费额度

    DigitalOcean是一家备受赞誉的云计算服务提供商,专门致力于为开发者和初创公司提供一流的云基础设施解决方案。通过其简单易用的界面和高效的性能,DigitalOcean帮助用户轻松地部署和扩展应用程序。我在使用DigitalOcean时,深刻感受到了它为开发者量身定制的便捷性,毫无疑问,这使得...

    全面解读SFTP教程:安全文件传输的最佳实践

    什么是SFTP? 在计算机网络世界里,SFTP(Secure File Transfer Protocol)是一种安全的文件传输协议。它的主要用途是通过安全的方式在网络中传输数据。与传统的FTP(File Transfer Protocol)相比,SFTP引入了数据加密机制,这样一来,用户在传输文件...