keepalived:是乙個類似於 layer3, 4 & 7 交換機制的軟體,也就是我們平時說的第 3 層、第 4 層和第 7層交換。 keepalived 的作用是檢測 web 伺服器的狀態,如果有一台 web 伺服器宕機,或工作出現故障,keepalived 將檢測到,並將有故障的 web 伺服器從系統中剔除,當 web 伺服器工作正常後 keepalived 自動將web 伺服器加入到伺服器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復故障的web 伺服器。
keepalived程式是vrrp協議在linux主機上以守護程序的方式實現的,能夠根據配置檔案生成ipvs規則,並對各real server的健康做監測,以及loadbalance主機和backup主機之間failover的實現。
keepalived在tcp/ip七層中的三層各層原理分別如下:
layer3(ip層): keepalived 使用 layer3 的方式工作式時, keepalived 會定期向伺服器群中的伺服器傳送乙個 icmp 的資料報(既我們平時用的 ping 程式) , 如果發現某台服務的 ip 位址沒有啟用,keepalived 便報告這台伺服器失效,並將它從伺服器群中剔除,這種情況的典型例子是某台伺服器被非法關機。 layer3 的方式是以伺服器的 ip 位址是否有效作為伺服器工作正常與否的標準。
layer4(tcp層): 主要以 tcp 埠的狀態來決定伺服器工作正常與否。如 web server 的服務埠一般是80,如果 keepalived 檢測到 80 埠沒有啟動,則 keepalived 將把這台伺服器從伺服器群中刪除。
layer7(應用層):layer5 就是工作在具體的應用層了,比 layer3,layer4 要複雜一點,在網路上占用的頻寬也要大一些。 keepalived 將根據使用者的設定檢查伺服器程式的執行是否正常,如果與使用者的設定不相符,則 keepalived 將把伺服器從伺服器群中剔除;
比如訪問乙個頁面,如果沒有這個頁面,就會將該節點剔除
keepalived的作用:
1、管理vip(虛擬ip): vip會在lvs(虛擬主機)之間漂移
2、監控lvs分發器:執行在主分發的 keepalived 會以組播的形式向網路中宣告自己,即主分發器還活著,備用節點能收到。當備用節點,在乙個時間單位中收不到組播,備用節點會認為主 lvs 掛了,開始接手主分發器工作,把vip 配給自己
3、管理rs : keepalived會每隔乙個時間段去做一次類似於訪問的操作
一般keepalived是實現前端高可用,常用的前端高可用的組合有,就是我們常見的lvs+keepalived、nginx+keepalived、haproxy+keepalived
keepalived的配置檔案keepalived.conf每段說明:
global configuration : 全域性配置
global_defs
vrrp configuration : 配置vrrp例項
vrrp_instance name
lvs configuration : ipvs的相關配置
virtual_server ip port
}安裝方式省略,可採用原始碼編譯,也可採用官方yum源安裝
主要配置檔案:
keepalived配置檔案keepalived.conf詳解:
#全域性定義部分
global_defs
notification_email_from keepalived@localhost
#發件人郵箱。
smtp_server 192.168.200.1
#設定smtp server位址。
smtp_connect_timeout 30
#設定連線smtp伺服器超時時間。
router_id lvs_master
#執行keepalived伺服器的乙個標識。建議寫主機名 }
#vrrp例項定義部分
vrrp_instance vi_1
virtual_ipaddress }
#虛擬伺服器定義部分
virtual_server 192.168.12.135 80 }
real_server 192.168.12.237 80 }
}keepalived詳細配置案例
keepalived配置檔案案例: keepalived一般搭建都是主從各乙個
global_defs
notification_email_from [email protected]
smtp_server localhost
smtp_connect_timeout 30
router_id master #keepalived 伺服器名稱,主寫master,備寫backup,或用伺服器名字命名
}vrrp_instance vi_1
virtual_ipaddress
}主備keepalived配置檔案的主要區別在:
state 乙個是master,乙個是backup
priority 主keepalived的值比從keepalived的值大
編譯安裝keepalived的步驟:
keepalived最少3臺伺服器:
一台主keepalived伺服器、一台備keepalived伺服器、至少一台提供httpd、nginx或tomcat服務的伺服器
tar zxvf keepalived原始碼包
cd keepalived-版本號
./configure --prefix=/usr/local/keepalived
make && make install
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived
ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/
touch /etc/init.d/keepalived keepalived啟動指令碼,解壓的原始碼包裡有
chmod +x /etc/init.d/keepalived
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
vi /etc/keepalived/keepalived.conf #配置檔案,解壓的原始碼包裡有
chkconfig --add keepalived
chkconfig keepalived on
service keepalived start
more /var/log/messages |grep -e "\\[" |grep keepalived #檢視keepalived執行日誌
keepalived安裝部署
上傳伺服器安裝 tar xvf cd keepalived 1.3.5 configure prefix usr local keepalived make make install ln s usr local keepalived sbin usr bin ln s usr local keep...
Keepalived安裝部署
通過ftp工具上傳到linux中,home software 解壓tar zxvf keepalived 2.0.18.tar.gz解壓後進入到解壓出來的目錄,看到會有configure,那麼就可以做配置了 配置安裝和nginx一模一樣 使用configure命令配置安裝目錄與核心配置檔案所在位置 ...
KeepAlived 安裝部署 主節點
概念 一 keepalived 工作原理,tcp會在空閒了一定時間後傳送資料給對方 1.如果主機可達,對方就會響應ack應答,就認為是存活的。2.如果可達,但應用程式退出,對方就發fin應答,傳送tcp撤消連線。3.如果可達,但應用程式崩潰,對方就發rst訊息。4.如果對方主機不響應ack rst,...