加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

ubuntu18下安装keepalive及简单配置

(2019-12-09 23:22:08)
分类: 项目
下载最新版本keepalive:https://keepalived.org/download.html

apt install libnl-genl-3-dev libnl-3-dev

./configure --prefix=/opt/apps/keepalived && make && make install

注意keepalive.conf的配置文件一定要chmod 644 keepalived.conf

不然会报错 Configuration file 'keepalived.conf' is not a regular non-executable file


范例配置文件

#全局配置                                                                                                                                               
global_defs {
    notification_email {
        电子邮箱 #设置报警邮件地址,可以设置多个,每行一个。需要开启sendmail服务。                                      }
    notification_email_from sns-lvs@gmail.com
    smtp_server smtp.hysec.com   #设置SMTP Server地址                                                                                                   
    smtp_connection_timeout 30   #设置SMTP Server的超时时间                                                                                             
    router_id sz_keep_test       #表示运行Keepalived服务器的一个标识,唯一的                                                                            
}
#检测脚本                                                                                                                                               
vrrp_script chk_http_port {
    script "/usr/local/src/check_nginx_pid.sh" #心跳执行的脚本,检测nginx是否启动                                                                       
    interval 2                          #(检测脚本执行的间隔,单位是秒)                                                                               
    weight 2                            #权重                                                                                                           
}
#vrrp 实例定义部分                                                                                                                                      
vrrp_instance VI_1 {
    state MASTER            # 指定keepalived的角色,MASTER为主,BACKUP为备                                                                              
    interface ens33         # 当前进行vrrp通讯的网络接口卡(当前centos的网卡) 用ifconfig查看你具体的网卡                                                 
    virtual_router_id 66    # 虚拟路由编号,主从要一直   255最大                                                                                               
    priority 100            # 优先级,数值越大,获取处理请求的优先级越高  要比backup的配置高                                                                              
    advert_int 1            # 检查间隔,默认为1s(vrrp组播周期秒数)                                                                                      
    #授权访问                                                                                                                                           
    authentication {
        auth_type PASS #设置验证类型和密码,MASTER和BACKUP必须使用相同的密码才能正常通信                
        auth_pass 1111
    }
                                                                                                                                                  
    virtual_ipaddress {
        192.168.137.150            # 定义虚拟ip(VIP),可多设,每行一个                                                               
    }

    track_script {                                                                                                                                     
        chk_http_port            #(调用检测脚本)                                                                                               
    }
}

virtual_server 192.168.137.150 8888 {          #定义VIP相关配置 0为全端口映射
              delay_loop 6                              #延迟循环
              lb_algo rr                   #使用rr调度算法(rr|wrr|lc |wlc|lblc|sh|dh)
              lb_kind DR                #使用DR模式 (DR/NAT/TUN)
              persistence_timeout 50       #定义persistence保持时间
              protocol TCP                          #tcp协议

              real_server 192.168.137.225 8888 {
                  weight 1
                  TCP_CHECK {
                         connect_port 8888  #这里也是检测端口
                         connect_timeout 3
                         nb_get_retry 3
                         delay_before_retry 3
                  }
              }
}

nginx监听问题
### 如果nginx绑ip监听,那keepalive的虚拟地址是无法访问的  
###这里说明虚拟IP要外部可路由到的ip地址  不然外部ping不通
### interface 配置的网卡就是发送保活包的  

####检测脚本一定要写在vrrp_instance的前面也就是上面,而且花括号一定要有空格,追踪trace_script要定在vip的后面(这句没验证)

调试
运行 keepalived -ln -f 配置文件
ln是调试用的 不守护进程 错误打到控制台

日志配置
编辑文件/etc/rsyslog.conf
加入一行“local0.* /var/log/keepalived.log”
systemctl restart rsyslog

启动keepalive为  keepalived -f keepalived.conf -ln -D -d -S 0  
查看/var/log/keepalived.log就有日志了

服务无法启动问题
自己下载编译的,不加-n运行有问题
修改服务
进入/lib/systemd/system 修改keepalived.service
改成PIDFile=/var/run/keepalived.pid  这个
防止出现pid找不到的问题  

如果自己手动运行keepalive
配置文件一定要全路径
keepalived -f /opt/apps/keepalived/etc/keepalived/keepalived.conf
不能用相对路径
keepalived -f keepalived.conf

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有