參考:https://www.cnblogs.com/Dev0ps/p/11122500.html
參考:https://blog.csdn.net/weixin_30377461/article/details/96655003
一、yum安裝相關依賴
1. gcc 安裝
安裝 nginx 需要先將官網下載的源碼進行編譯,編譯依賴 gcc 環境,如果沒有 gcc 環境,則需要安裝:
yum install gcc-c++
2. OpenSSL 安裝
yum install -y openssl openssl-devel
二、解壓編譯安裝
下載keepalived:https://www.keepalived.org/download.html
解壓,編譯
# 解壓
tar -xzvf keepalived-2.0.16.tar.gz
cd keepalived-2.0.16
# 執行配置,指定路徑
./configure --prefix=/usr/local/keepalived
# 編譯
make && make install
拷貝相關文件到指定目錄
# 拷貝源碼中的keepalived-2.0.20/keepalived/etc/init.d/keepalived 到 /etc/init.d/
cp /usr/local/keepalived-2.0.20/keepalived/etc/init.d/keepalived /etc/init.d/
# 拷貝編譯後的keepalived/etc/sysconfig/keepalived 到 /etc/sysconfig/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
# 創建文件夾
mkdir /etc/keepalived
# 把配置文件移到文件夾中
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
# 把執行文件移動到/usr/sbin/
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
三、修改配置文件
節點1
! Configuration File for keepalived
global_defs {
router_id node1 #標識
}
vrrp_instance VI_1 {
state BACKUP #角色是backup
interface eth0 #當前使用的網卡
virtual_router_id 51 #讓master 和backup在同一個虛擬路由裏,id 號必須相同
priority 90 #優先級,因爲我這裏兩個都是backup,不希望故障節點恢復後重新獲取vip,優先級設置成一樣
advert_int 1 #心跳間隔時間
authentication {
auth_type PASS #認證
auth_pass shucai #密碼
}
virtual_ipaddress {
172.16.70.126 #虛擬ip
}
}
節點2
! Configuration File for keepalived
global_defs {
router_id node2 #標識
}
vrrp_instance VI_1 {
state BACKUP #角色是backup
interface eth0 #當前使用的網卡
virtual_router_id 51 #讓master 和backup在同一個虛擬路由裏,id 號必須相同
priority 90 #優先級,因爲我這裏兩個都是backup,不希望故障節點恢復後重新獲取vip,優先級設置成一樣
advert_int 1 #心跳間隔時間
authentication {
auth_type PASS #認證
auth_pass shucai #密碼
}
virtual_ipaddress {
172.16.70.126 #虛擬ip
}
}
四、啓動服務
systemctl start keepalived
systemctl enable keepalived
五、測試ip漂移
關閉其中一個節點的服務器測試ip漂移
ip a | grep 172.16.70.126
返回
inet 172.16.70.126/32 scope global eth0