当前位置: 首页> 教育> 幼教 > 线上编程_广州seo顾问服务_秦洁婷seo博客_谷歌在线浏览入口

线上编程_广州seo顾问服务_秦洁婷seo博客_谷歌在线浏览入口

时间:2025/8/28 17:51:41来源:https://blog.csdn.net/lijunwusino/article/details/147333273 浏览次数:0次
线上编程_广州seo顾问服务_秦洁婷seo博客_谷歌在线浏览入口
  1. 安装Keepalived

    1.1下载安装准包

本章节讲述的安装步骤适用于在Red Hat Enterprise Linux, CentOS, Fedora平台。

下载地址如下:

https://www.keepalived.org/download.html

本次安装就以:keepalived-2.2.7.tar.gz为例。

1.2安装依赖及解压

安装依赖

# yum install -y gcc openssl-devel libnl3-devel

解压

#tar -zxvf keepalived-2.2.7.tar.gz

#cd keepalived-2.2.7

1.3编译安装

#mkdir -p /app/keepalived

#cd keepalived-2.2.7

# ./configure  --prefix=/app/keepalived  --disable-fwmark

#make && make install

注意:

默认情况下,Keepalived 将安装在 /usr/local 目录下。

1.4配置服务启动脚本

根据系统的初始化系统(如 Systemd 或 SysVinit),需要手动配置 Keepalived 的启动脚本。

Systemd:创建服务文件 /etc/systemd/system/keepalived.service,内容如下:

[Unit]

Description=Keepalived service

After=network.target

[Service]

ExecStart=/usr/local/sbin/keepalived

ExecReload=/bin/kill -HUP $MAINPID

KillSignal=TERM

Restart=always

RestartSec=1

StartLimitInterval=0

[Install]

WantedBy=multi-user.target

服务管理:

#systemctl daemon-reload  重新加载

#systemctl enable keepalived  设置开机自启动

#systemctl disable keepalived  取消开机自启动

#systemctl start keepalived   启动keepalived服务

#systemctl stop keepalived  关闭keepalived服务

SysVinit:将源码目录中的 keepalived.init 脚本复制到 /etc/init.d/,并设置执行权限:

#cp keepalived.init /etc/init.d/keepalived

#chmod +x /etc/init.d/keepalived

#chkconfig --add keepalived

#service keepalived start

2.配置Keepalived

2.1配置Keepalived主从模式部署

2.1.1目录规划

目录位置

备注

/app/keepalived

Keepalived安装目录

/app/keepalived/script

脚本目录

​​​​​​​2.1.2服务规划

目录位置

备注

192.168.100.20

主服务器

192.168.100.30

备服务器

192.168.100.25

VIP

​​​​​​​2.1.3配置参数文件

  1. 配置主机:

Keepalived 的主配置文件位于 /etc/keepalived/keepalived.conf。以下是一个基本的配置示例:

#vim  /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

        route_id process-01   #每个keepalived节点的唯一标识,建议设置为当前主机名

   }

vrrp_script check_process {

        script "/app/keepalived/script/check_process.sh"  #脚本绝对路径

        interval 2              #脚本执行间隔

        weight -10            #脚本执行错误优先级减10

}

vrrp_instance VI_1 {             #配置虚拟路由器

    state MASTER              #虚拟路由器的初始状态,MASTER或者BACKUP

    interface ens33             #绑定当前虚拟路由器所使用的物理接口

    virtual_router_id 51          #虚拟路由器的唯一标识

    priority 100                #当前物理节点在此虚拟路由器中的优先级

    advert_int 1                #可设置VRRP通告的时间间隔

    authentication {             #设置认证机制

        auth_type PASS         # PASS为简单密码认证

        auth_pass 1111         #共享秘钥设置

    }

    track_script {

        check_process             # 检测脚本

        }

    virtual_ipaddress {          #虚拟路由器的VIP

        192.168.100.25

    }

}

2.配置备机:

Keepalived 的主配置文件位于 /etc/keepalived/keepalived.conf。以下是一个基本的配置示例:

! Configuration File for keepalived

global_defs {

        route_id process-02

   }

vrrp_script check_process {

        script "/app/keepalived/script/check_process.sh"

        interval 2

        weight -10

}

vrrp_instance VI_1 {

    state BACKUP

    interface ens33

    virtual_router_id 51

    priority 90

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    track_script {

        check_process

        }

    virtual_ipaddress {

        192.168.100.25

    }

}

备注:

标红段根据实际情况修改

​​​​​​​2.1.4编写检查脚本并启动服务

  1. 编写检查脚本

#vim /app/keepalived/script/check_process.sh

#!/bin/bash

count=$(ps -C process --no-heading | wc -l)

if [ "$count" -eq 0 ];then

   systemctl stop keepalived

fi

2.check_process.sh文件赋权

#chmod u+x /etc/keepalived/script/check_process.sh

3.启动keepalived服务

#systemctl start keepalived

​​​​​​​2.1.5测试Keepalived服务IP

  1. 主服务器显示配置服务IP

# ip addr

2.停止主服务器

#systemctl stop process

#ip addr

VIP漂移至备服务器

​​​​​​2.2配置Keepalived双主模式部署

2.2.1目录规划

目录位置

备注

/app/keepalived

Keepalived安装目录

/app/keepalived/script

脚本目录

2.2.2服务规划

目录位置

备注

192.168.100.20

主服务器

192.168.100.30

备服务器

192.168.100.25

VIP

192.168.100.26

VIP

2.2.3配置参数文件

  1. 配置主机:

Keepalived 的主配置文件位于 /etc/keepalived/keepalived.conf。以下是一个基本的配置示例:

#vim  /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

        route_id process-01   #每个keepalived节点的唯一标识,建议设置为当前主机名

   }

vrrp_script check_process {

        script "/app/keepalived/script/check_process.sh"  #脚本绝对路径

        interval 2              #脚本执行间隔

        weight -10            #脚本执行错误优先级减10

}

vrrp_instance VI_1 {             #配置虚拟路由器

    state MASTER              #虚拟路由器的初始状态,MASTER或者BACKUP

    interface ens33             #绑定当前虚拟路由器所使用的物理接口

    virtual_router_id 51          #虚拟路由器的唯一标识

    priority 100                #当前物理节点在此虚拟路由器中的优先级

    advert_int 1                #可设置VRRP通告的时间间隔

    authentication {             #设置认证机制

        auth_type PASS         # PASS为简单密码认证

        auth_pass 1111         #共享秘钥设置

    }

    track_script {

        check_process             # 检测脚本

        }

    virtual_ipaddress {          #虚拟路由器的VIP

        192.168.100.25

    }

}

vrrp_instance VI_2 {             #配置虚拟路由器

    state BACKUP              #虚拟路由器的初始状态,MASTER或者BACKUP

    interface ens33             #绑定当前虚拟路由器所使用的物理接口

    virtual_router_id 52          #虚拟路由器的唯一标识

    priority 90                #当前物理节点在此虚拟路由器中的优先级

    advert_int 1                #可设置VRRP通告的时间间隔

    authentication {             #设置认证机制

        auth_type PASS         # PASS为简单密码认证

        auth_pass 1111         #共享秘钥设置

    }

    track_script {

        check_process             # 检测脚本

        }

    virtual_ipaddress {          #虚拟路由器的VIP

        192.168.100.26

    }

}

2.配置备机:

Keepalived 的主配置文件位于 /etc/keepalived/keepalived.conf。以下是一个基本的配置示例:

! Configuration File for keepalived

global_defs {

        route_id process-02

   }

vrrp_script check_process {

        script "/app/keepalived/script/check_process.sh"

        interval 2

        weight -10

}

vrrp_instance VI_1 {

    state BACKUP

    interface ens33

    virtual_router_id 51

    priority 90

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    track_script {

        check_process

        }

    virtual_ipaddress {

        192.168.100.25

    }

}

vrrp_instance VI_1 {

    state MASTER

    interface ens33

    virtual_router_id 52

    priority 100

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    track_script {

        check_process

        }

    virtual_ipaddress {

        192.168.100.26

    }

}

备注:

标红段根据实际情况修改后面脚步编写与测试参考4.1章节中的内容

3.Keepalived参数配置最佳实践

Keepalived 参数配置最佳实践指南,供您参考和调优。以下内容主要分为 VRRP 高可用、LVS 负载均衡和系统内核优化三大部分,每个部分都给出了一些建议参数和配置示例。

3.1VRRP 高可用配置最佳实践

3.1.1​​​​​​​基础配置

全局定义,确保每个节点的 router_id 唯一,便于识别和邮件通知。Keepalived 的主配置文件位于:/etc/keepalived/keepalived.conf。

例如:

global_defs {

    router_id LVS_NODE1

}

​​​​​​​3.1.2VRRP 实例配置

1.广告间隔(advert_int)

         建议值:1 秒。

        说明:较短的间隔有助于快速发现故障,但会增加网络流量。

2.优先级(priority)

    主节点可设为较高值(如 150),备节点设为较低值(如 100),确保主备角色明确。

3.抢占设置

​​​​​​​     使用 nopreempt 可避免主节点恢复时频繁抢占,保持切换稳定性。

示例配置

vrrp_instance VI_1 {

    state MASTER             # 主机状态(备机设置为 BACKUP)

    interface eth0           # 绑定的网卡

    virtual_router_id 51     # VRRP 组 ID,所有节点必须一致

    priority 150             # 主节点优先级(备节点可设为 100)

    advert_int 1             # 广告间隔,单位秒

    nopreempt               # 启用非抢占模式,防止主机恢复时频繁切换

    

    authentication {

        auth_type PASS

        auth_pass 123456     # 主备认证密码必须一致

    }

    

    virtual_ipaddress {

        192.168.1.100/24     # 配置 VIP

    }

    

    track_interface {

        eth0               # 监控物理网卡,网卡故障时降低优先级

    }

}

​​​​​​​3.1.3Gratuitous ARP(GARP)设置

通过合理配置 GARP 参数,可以显著提高 Keepalived 在虚拟 IP 切换时的可靠性,确保网络流量的连续性和稳定性。以下是一个完整的 Keepalived 配置示例,展示了如何配置 GARP 参数:

vrrp_instance VI_1 {

    state MASTER

    interface eth0

    virtual_router_id 51

    advert_int 1

    # GARP 配置

    vrrp_garp_master_delay 10

    vrrp_garp_master_repeat 3

    vrrp_garp_lower_prio_repeat 2

    vrrp_garp_master_refresh 60

    vrrp_garp_master_refresh_repeat 2

    vrrp_garp_interval 0.001

    virtual_ipaddress {

        192.168.200.1/24

    }

}

参数说明:

  1. vrrp_garp_master_delay:延迟 10 秒后发送第二组 Gratuitous ARP。
  2. vrrp_garp_master_repeat:每次发送 3 组 Gratuitous ARP。
  3. vrrp_garp_lower_prio_repeat:当接收到低优先级广播时,发送 2 组 Gratuitous ARP。
  4. vrrp_garp_master_refresh:每隔 60 秒发送一次 Gratuitous ARP。
  5. vrrp_garp_master_refresh_repeat:每次发送 2 组 Gratuitous ARP。
  6. vrrp_garp_interval:每组 Gratuitous ARP 之间延迟 0.001 秒。

​​​​​​​3.2LVS 负载均衡配置

在 Keepalived 中,LVS 负载均衡的配置主要位于 keepalived.conf 配置文件中。以下是具体的配置方法

virtual_server 192.168.1.100 80 {

    delay_loop 5

    lb_algo rr

    lb_kind DR

    persistence_timeout 180

    protocol TCP

    real_server 192.168.1.101 80 {

        weight 3

        TCP_CHECK {

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 2

            connect_port 80

        }

    }

    real_server 192.168.1.102 80 {

        weight 2

        TCP_CHECK {

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 2

            connect_port 80

        }

    }

}

参数说明:

​​​​​​​负载均衡模式(lb_kind)

推荐使用 DR(直接路由)模式,性能较好,但要求后端服务器能处理 VIP。

3.3调度算法

  1. 调度算法(lb_algo)

       可选择轮询(rr)、加权轮询(wrr)、最小连接(lc)等,根据业务负载调整。

    2.会话保持

       设置 persistence_timeout(如 180 秒),保证客户端的会话连续性

3.4系统内核及网络优化

3.4.1内核参数调整(sysctl 优化)

编辑 /etc/sysctl.conf,添加以下内容:

net.ipv4.ip_nonlocal_bind = 1     # 允许绑定非本地 IP,VIP绑定需要

net.ipv4.ip_forward = 1           # 启用 IP 转发,支持 LVS 模式

net.ipv4.tcp_tw_reuse = 1         # 允许 TIME-WAIT 套接字复用

net.core.somaxconn = 65535        # 提高并发连接上限

net.ipv4.tcp_keepalive_time = 600 # 调整 TCP 保活时间

使配置生效:

#sysctl -p

​​​​​​​3.4.2ARP 参数优化

防止 VIP 与本地接口冲突,配置 ARP 参数:

#echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

#echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

关键字:线上编程_广州seo顾问服务_秦洁婷seo博客_谷歌在线浏览入口

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: