keepalived简单测下

在两台服务器52和53上部署了Nginx,通过keepalived实现负载均衡。启动keepalived服务后,52号服务器的日志显示了服务状态。
摘要由CSDN通过智能技术生成
keepalived的简单使用,自动failover

安装
1.keepalived下载: http://keepalived.org/ 下载自己喜欢的版本
2../configure && make && maake install
3.安装以及配置开机启动:
  cp ./keepalived /usr/sbin/ 
cp ./keepalived/etc/rc.d/init.d/keepalived /etc/init.d/  
cp ./keepalived/etc/sysconfig/keepalived /etc/sysconfig/  
cp -r ./keepalived/etc/keepalived  /etc/ 

虚拟机准备
master:192.168.1.52
backup:192.168.1.53
vip:192.168.1.59

配置keepalived
1.修改配置文件/etc/keepalived.conf
2.配置:
 MASTER:
! Configuration File for keepalived
global_defs {
    notification_email {
        zhouxiao@example.com
        itsection@example.com
    }
    notification_email_from itsection@example.com
    smtp_server mail.example.com
    smtp_connect_timeout 30
    router_id LVS_DEVEL
}
vrrp_script chk_nginx {
#    script "killall -0 nginx"
    script "/etc/keepalived/check_nginx.sh"
    interval 2
    weight -5
    fall 3 
    rise 2
}
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    mcast_src_ip 192.168.1.52
    virtual_router_id 51
    priority 101
    advert_int 2
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.59
    }
    track_script {
       chk_nginx
    }
}


配置检查:
1.ip a
2.tcpdump vrrp
3.check_nginx.sh 简单的脚本随便写点什么
#!/bin/bash
counter=$(ps -C nginx --no-heading|wc -l)
if [ "${counter}" = "0" ]; then
    echo "nginx fail!" >> /tmp/1.txt
    /etc/init.d/keepalived stop   ##可以直接exit -1 或者 直接结束keepalived进程 (测试直接返回-1算了)
else
    echo "nginx succ" >> /tmp/1.txt
fi

4.检查/var/log/messages

 Jun 10 11:37:35 bogon Keepalived[6717]: Starting Keepalived v1.3.5 (03/19,2017), git commit v1.3.5-6-g6fa32f2
 47 Jun 10 11:37:35 bogon Keepalived[6717]: Unable to resolve default script username 'keepalived_script' - ignoring
 48 Jun 10 11:37:35 bogon Keepalived[6717]: Opening file '/etc/keepalived/keepalived.conf'.
 49 Jun 10 11:37:35 bogon Keepalived[6718]: Starting Healthcheck child process, pid=6720
 50 Jun 10 11:37:35 bogon Keepalived[6718]: Starting VRRP child process, pid=6722
 51 Jun 10 11:37:35 bogon Keepalived_vrrp[6722]: Registering Kernel netlink reflector
 52 Jun 10 11:37:35 bogon Keepalived_healthcheckers[6720]: Opening file '/etc/keepalived/keepalived.conf'.
 53 Jun 10 11:37:35 bogon Keepalived_vrrp[6722]: Registering Kernel netlink command channel
 54 Jun 10 11:37:35 bog
在OpenEuler系统中配置Keepalived进行心跳检测,主要是为了实现高可用性(High Availability, HA)。Keepalived通过使用VRRP(Virtual Router Redundancy Protocol)协议来检测和管理多个服务器之间的故障转移。配置步骤通常如下: 1. 安装Keepalived软件包: ```bash sudo yum install keepalived ``` 2. 编辑Keepalived的配置文件,该文件通常位于`/etc/keepalived/keepalived.conf`。配置文件需要定义一个或多个虚拟服务器(Virtual Server),以及主机之间的通信和心跳检测设置。 一个简单keepalived.conf配置示例: ```conf global_defs { notification_email { admin@example.com } notification_email_from admin@example.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_sync_group VG1 { group { inside_network } } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.0.100 } } virtual_server_group inside_network { 192.168.0.100 80 { delay_loop 3 lb_algo rr lb_kind NAT persistence_timeout 50 protocol TCP real_server 192.168.0.2 80 { weight 1 HTTP_GET { url { path /index.html status_code 200 } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } } } ``` 在这个示例中,定义了一个虚拟服务器`192.168.0.100`,并且配置了一个真实的服务器`192.168.0.2`作为后端服务提供者。 3. 启动Keepalived服务: ```bash sudo systemctl start keepalived ``` 4. 设置Keepalived服务开机自启: ```bash sudo systemctl enable keepalived ``` 5. 检查配置文件是否有语法错误: ```bash sudo systemctl status keepalived ``` 6. 根据实际情况调整虚拟服务器组内的配置,包括心跳检测的端口、频率、权重、健康检查的路径和超时设置等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值