Keepalived:編譯安裝與配置簡明手冊

環境

依賴

安裝開發工具集(涵蓋了gcc,c++,make等編譯工具),以及Keepalived依賴包。html

# Centos 6.x
yum groupinstall "Development Tools" -y
yum install libnl-devel libnfnetlink-devel -y

# Centos 7.x
yum group install "Development Tools" -y
yum install libnl-devel libnfnetlink-devel -y

編譯安裝

# 下載解壓
wget http://www.keepalived.org/software/keepalived-1.4.1.tar.gz
tar xzf keepalived-1.4.1.tar.gz
cd keepalived-1.4.1

# 預編譯配置、編譯、安裝
./configure --prefix=/opt/soft/keepalived
make
make install

# 軟鏈命令到PATH中,或者自定義PATH配置也能夠。
ln -s  /opt/soft/keepalived/*bin/* /usr/sbin/

# 從源碼包中/源碼包中/源碼包中 cp 啓動腳本
# Centos 6.x
cp keepalived/etc/init.d/keepalived /etc/init.d/

# 修改啓動文件中的配置,或者cp sysconfig/keepalived 到系統環境中
# . /etc/sysconfig/keepalived    //找到此處,修改成下面的內容
# . /opt/soft/keepalived/etc/sysconfig/keepalived
cp keepalived/etc/sysconfig/keepalived /etc/sysconfig/
service keepalived status

# Centos 7.x
cp keepalived/keepalived.service /usr/lib/systemd/system
systemctl status keepalived

簡單用於故障轉移配置

這裏我是基於阿里雲環境配置的,雲端用多播會有問題,因此這裏配置的單播模式。
IP 地址分配狀況以下:c++

  • MASTER:10.1.1.1
  • BACKUP:10.1.1.2
  • Virtual ip:10.1.1.100

MASTER 配置

! Configuration File for keepalived

global_defs {
   notification_email {
     opsarno@qq.com
   }
   notification_email_from 1-1-1@arno.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id 1-1-1
}

vrrp_script chk_sshd {
    script "killall -0 sshd"
    interval 2
    weight -4
    fall 2
    rise 2
}

vrrp_instance my_v1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    unicast_src_ip 10.1.1.1
    unicast_peer {
        10.1.1.2
    }
    authentication {
        auth_type PASS
        auth_pass my_v1_pass
    }
    virtual_ipaddress {
        10.1.1.100
    }
    track_script {
       chk_sshd
    }
}

BACKUP 配置

! Configuration File for keepalived

global_defs {
   notification_email {
     opsarno@qq.com
   }
   notification_email_from 1-1-2@arno.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id 1-1-2
}

vrrp_script chk_sshd {
    script "killall -0 sshd"
    interval 2
    weight -4
    fall 2
    rise 2
}

vrrp_instance my_v1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 99
    advert_int 1
    unicast_src_ip 10.1.1.2
    unicast_peer {
        10.1.1.1
    }
    authentication {
        auth_type PASS
        auth_pass my_v1_pass
    }
    virtual_ipaddress {
        10.1.1.100
    }
    track_script {
       chk_sshd
    }
}
相關文章
相關標籤/搜索