Ubuntu安装Keepalived

安装依赖

sudo apt-get install libssl-dev
sudo apt-get install openssl
sudo apt-get install libpopt-dev
sudo apt-get install daemon
sudo apt-get install gcc
sudo apt-get install make
sudo apt-get install make-guile

下载Keepalived

cd /usr/local/
sudo wget http://www.keepalived.org/software/keepalived-1.2.18.tar.gz

安装Keepalived

sudo tar zxvf keepalived-1.2.18.tar.gz
sudo cd keepalived-1.2.18
sudo ./configure --prefix=/usr/local/keepalived
sudo make & make install

系统服务配置

sudo mkdir /etc/sysconfig
sudo cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
sudo cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
sudo cp /usr/local/keepalived/sbin/keepalived /sbin/

#修改启动配置
sudo vi /etc/init.d/keepalived
#找到
daemon keepalived ${KEEPALIVED_OPTIONS}
#修改为
daemon keepalived start

VIP配置

sudo mkdir /etc/keepalived/
sudo vi /etc/keepalived/keepalived.conf
#添加如下内容
vrrp_instance VI_ERP_MYSQL_1 {
    #设置服务器模式,需要大写,备用机可以写 state BACKUP
    state MASTER
    #实例网卡,也就是提供服务的网卡,可以通过“cat /etc/network/interfaces”查看
    interface ens160
    #VRRP组名,多节点的设置必须一样,以指明各个节点属于同一VRRP组
    virtual_router_id 60
    #节点优先级(1-254之间),值越大优化级最高
    priority 100
    #组播信息发送间隔,多节点设置必须一样
    advert_int 1
    #设置验证信息,多节点必须一致
    authentication {
        auth_type PASS
        auth_pass 123456
    }

    #配置虚拟IP, 多节点必须设置一样
    virtual_ipaddress {
         192.168.8.201/24
    }
    
    #配置状态监听
    notify_master "/etc/keepalived/notify.sh master"
    notify_backup "/etc/keepalived/notify.sh backup"
    notify_fault "/etc/keepalived/notify.sh fault"
}

#虚拟IP服务配置
virtual_server 192.168.8.201 13306 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    persistence_timeout 50
    protocol TCP

    real_server 192.168.8.74 13306{
          weight 100
          TCP_CHECK {           
                connect_port 13306
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 3
          }
    }

    real_server 192.168.8.108 13306{
          weight 100
          TCP_CHECK { 
                connect_port 13306
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 3
          }
    }

    real_server 192.168.8.91 13306{
          weight 100
          TCP_CHECK { 
                connect_port 13306
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 3
          }
    }
}

Keepalived状态监听

sudo /etc/keepalived/notify.sh
#内容按需求自行配置
#!/bin/bash
STATUS=$1
if [ "$STATUS" = "backup" ] ; then
   #干点啥吧
   echo $(date)  "I am backup now." >> /etc/keepalived/status.log
elif [ "$STATUS" = "master" ] ; then
   #干点啥吧
   echo $(date)  "I am master now." >> /etc/keepalived/status.log
else
   echo $(date)  "There are something wrong." >> /etc/keepalived/status.log
fi
exit 1

服务启动

sudo chmod +x /etc/keepalived/notify.sh
sudo mkdir -p /etc/rc.d/init.d/
sudo ln -s /lib/lsb/init-functions /etc/rc.d/init.d/functions
#服务启动
sudo service keepalived start
#服务关闭
sudo service keepalived stop
#服务重启
sudo service keepalived restart

开机启动

sudo mkdir /var/lock/subsys
sudo vi /etc/rc.local
#添加如下内容
service keepalived start
exit 0

清ARP缓存

sudo ip neigh flush  dev [网卡名称]

异常情况

#异常
Can't open /etc/rc.d/init.d/functions
#解决方法
sudo mkdir -p /etc/rc.d/init.d/
sudo ln -s /lib/lsb/init-functions /etc/rc.d/init.d/functions
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值