keepalived初步使用

简介

keepalived是一款用c写的,为linux集群提供负载均衡和高可用的软件.其中负载均衡功能封装了lvs模块,而高可用功能则是采用了vrrp协议


安装

在centos7上,keepalived的安装可以采用rpm包和源码包两种方式

  • rpm包安装
    keepavlived的rpm包直接被收录进了base源,因此可以通过系统光盘安装
]# yum install keepalived
  • 源码包安装
    keepalived的源码包可以在官网keepalived.org上得到
]# yum install curl gcc openssl-devel libnl3-devel net-snmp-devel//编译所需工具
]# wget http://keepalived.org/software/keepalived-1.4.2.tar.gz
]# tar -zxvf keepalived-1.4.2.tar.gz
]# cd keepalived-1.4.2/
]# ./configure --prefix=/usr/local/keepalived
]# make && make install

配置

keepalived的配置文件是keepalived.conf,默认位于/etc/keepalived目录下(yum安装)

]# cat /etc/keepalived/keepalived.conf
    ! Configuration File for keepalived

    global_defs {
       notification_email {//vrrp消息通知的mail地址
            root@localhost
       }
       notification_email_from kaadmin@localhost//发送mail所用的地址
       smtp_server 127.0.0.1//发送mail所用的email服务器

       smtp_connect_timeout 30
       router_id node1//本机id号,同vrrp组唯一
       vrrp_skip_check_adv_addr
       vrrp_garp_interval 0
       vrrp_gna_interval 0
       #vrrp_strict//默认启用,会添加iptables规则导致vip无法访问,因此关闭
       vrrp_mcast_group4 224.10.0.200//vrrp组播地址,同vrrp组需一致(也可不写)
    }

    vrrp_script chk_schedown {//创建vrrp脚本,注意脚本应写在脚本调用语句之前
            script "[[ -f /etc/keepalived/down ]] && exit 1 || exit 0"
            interval 1//脚本检查时间
            weight -2//exit 1后将权重值降低2
    }

    vrrp_instance VI_1 {
        state MASTER//初始化为MASTER服务器,可选值为BACKUP
        interface ens33//默认vip所用网卡
        virtual_router_id 51//虚拟路由id号,同vrrp组需一致
        priority 100//优先级,在抢占模式下优先级大者成为MASTER
        advert_int 1//心跳信息间隔时间,单位为秒
        authentication {//vrrp服务器之间的认证块
            auth_type PASS//认证方式
            auth_pass 1111//认证密码
        }
        virtual_ipaddress {//高可用的ip,即vip
            192.168.10.200/32 label ens33:0
        }
        track_script {//启用脚本
            chk_schedown
    }
        notify_master "/etc/keepalived/notify.sh master"//变为MASTER状态触发
        notify_backup "/etc/keepalived/notify.sh backup"//变为BACKUP状态触发
        notify_fault "/etc/keepalived/notify.sh fault"//默认触发
    }
]# cat notify.sh
#!/bin/bash

vip=192.168.10.200
contact='root@localhost'

notify() {
    mailsubject="`hostname` to be $1: $vip floating"
    mailbody="`date '+%F %H:%M:%S'`: vrrp transition, `hostname` changed to be $1"
    echo $mailbody | mail -s "$mailsubject" $contact
}

case "$1" in
    master)
        notify master
        exit 0
    ;;
    backup)
        notify backup
        exit 0
    ;;
    fault)
        notify fault
        exit 0
    ;;
    *)
        echo 'Usage: `basename $0` {master|backup|fault}'
        exit 1
    ;;
esac
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Keepalived是一个开源的高可用软件,常用于部署虚拟路由器(VRRP)以提供网络服务的高可用性。当使用Keepalived与聚合网卡(如bonding或LACP)结合时,你需要按照以下步骤操作: 1. **配置基础环境**: - 安装Keepalived:`apt-get install keepalived` (Linux) 或者通过包管理器安装对应的版本。 2. **配置系统模块**: - 确保你的网络设备支持聚合功能,比如Bonding(在Linux上通常是`teamd`, `ebtables`等)或LACP(Link Aggregation Control Protocol)。 3. **创建聚合网卡**: ```bash # LACP例子 sudo ip link add bond0 mode lacp active sudo ifconfig bond0 up ``` 或者 ```bash # Bonding模式 sudo vi /etc/modprobe.d/bonding.conf options bonding mode=4 ``` 加载并启用所需的模块。 4. **将物理口添加到聚合网卡**: ```bash sudo ethtool -A bond0 eth0 ``` 5. **配置Keepalived**: 编辑 `/etc/keepalived/keepalived.conf` 文件,设置VRRP组,其中的虚拟IP地址会绑定到聚合网卡上。例如: ```conf vrrp_script check_bond { script "ip addr show dev bond0 | grep 'inet'" interval 2 weight 2 } virtual_server <VIP> <VIP_PORT> { interface bond0 authentication { auth_type PASS auth_pass "<password>" } virtual_router_id <VRID> notify_client localhost vrrp_options { priority <PRIORITY> advert_int <ADVERT_INT> track_script check_bond } } ``` 6. **启动Keepalived**: ```bash sudo systemctl start keepalived sudo systemctl enable keepalived ``` 7. **监控和验证**: 使用`vrrp monitor`命令检查Keepalived的状态,确认IP是否活动在预期的聚合网卡上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值