keepalived实现双机热备
keepalived的作用是檢測后端TCP服務的狀態,如果有一臺提供TCP服務的后端節點死機,或者工作出現故障,keepalived會及時檢測到,并將有故障的節點從系統中剔除,當提供TCP服務的節點恢復并且正常提供服務后keepalived會自動將TCP服務的節點加入到集群中。這些工作都是keepalived自動完成,不需要人工干涉,需要人工做的只是修復發生故障的服務器,以下通過示例來演示。
前提:為了測試能順利進行,需先關閉selinux和firewalld。
測試環境如下:
keepalived主機: 10.0.0.20 keepalived備機: 10.0.0.21 http服務器1: 10.0.0.22 http服務器2: 10.0.0.23 VIP : 10.0.0.100
一、兩臺http服務器的安裝
1、 兩臺機均安裝httpd
$ sudo yum install -y httpd
2、 添加首頁
$ sudo -i #http服務器1設置 # echo “10.0.0.22” >/var/www/html/index.html #http服務器2設置 # echo “10.0.0.23” >/var/www/html/index.html
3、 啟動并設置開機啟動httpd
$ sudo systemctl start httpd $ sudo systemctl enable httpd
二、兩臺keepalived主機的設置
1、 兩臺機均安裝keepalived
#安裝依賴文件與keepalive $ sudo yum install -y openssl openssl-devel keepalived
2、 keepalived主機配置
$ sudo vim /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
#指定該節點為主節點,備用節點設置為BACKUP
state MASTER
#綁定虛擬IP的網絡接口
interface eno16777736
#VRRP組名,兩個節點設置一樣,以指明各個節點同屬一VRRP組
virtual_router_id 51
#主節點的優先級,數值在1~254,注意從節點必須比主節點的優先級別低
priority 50
##組播信息發送間隔,兩個節點需一致
advert_int 1
#設置驗證信息,兩個節點需一致
authentication{
auth_type PASS
auth_pass 1111
}
#指定虛擬IP,兩個節點需設置一樣
virtual_ipaddress{
10.0.0.100
}
}
#虛擬IP服務
virtual_server 10.0.0.100 80 {
#設定檢查間隔
delay_loop 6
#指定LVS算法
lb_algo rr
#指定LVS模式
lb_kind NAT
nat_mask 255.255.255.0
#持久連接設置,會話保持時間
persistence_timeout 50
#轉發協議為TCP
protocol TCP
#后端實際TCP服務配置
real_server 10.0.0.22 80 {
weight 1
}
real_server 10.0.0.23 80 {
weight 1
}
}
3、 keepalived備機的keepalived.conf的配置,不同之處如下:
state BACKUP priority 30 #其它配置跟keepalived主機相同
/etc/keepalived/keepalived.conf為keepalived的主配置文件。以上配置state表示主節點為10.0.0.20,副節點為10.0.0.21。虛擬為IP10.0.0.100。后端的真實服務器為10.0.0.22和10.0.0.23,當通過10.0.0.100訪問web服務器時,自動轉到后端真實服務器,后端節點的權重相同,類似輪詢的模式。
(檢查mysql服務器,估計需要寫一個腳本,定制執行檢查腳本)
三、keepalived的啟動與測試
1、 啟動keepalived
$ sudo systemctl start keepalived $ sudo systemctl enable keepalived
2、 查看keepalived主機的IP
$ ip addr show
四、測試結果
1、 測試前查看keepalived主機和備機的IP,結果如圖:
2、 重啟keepalived主機后,查看keepalived備機的IP顯示
以上測試結果說明,當keepalived備機在keepalived主機宕機的情況會自動接管了資源。但待keepalived主機恢復正常的時候,主機會重新接管資源。
技巧: 可以用tail 命令查看啟動日志的變化
轉 : https://www.cnblogs.com/jefflee168/p/7442127.html
總結
以上是生活随笔為你收集整理的keepalived实现双机热备的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hbase启动的时候报错java.lan
- 下一篇: 怎么创建具有真实纹理的CG场景岩石?