一、keepalived概述
本文主要了解開源高可用負載均衡集群利器keepalived,掌握
keepalived
的安裝,運用
keepalived
配置高可用集群,並能夠實現
keepalived
與負載均衡集群
lvs的完美組合。
1、什麼是keepalived?
keepalived是乙個類似於
三、四、五層交換機的軟體,也是我們平時說的第三層、第四層、第五層交換。
keepalived
的作用是檢測
web伺服器的狀態,如果有一台
web伺服器宕機,或工作出現故障,
keepalived
將檢測到,並將有故障的
web伺服器從系統中剔除,當
web伺服器工作正常後
keepalived
自動將web
伺服器加入到伺服器集群中,這些工作全部自動完成,不需要人工干涉,需要人工做的知識修復故障的
web伺服器。
2、keepalived的工作原理
三層、四層、五層工作在tcp/ip協議棧的
ip層、
tcp層、應用層。原理如下:
三層:keepalived使用三層方式工作是,
keepalived
會定期向伺服器集群中的伺服器傳送乙個
imcp
的資料報,也就是
ping
程式,如果發現某台伺服器的
ip位址沒有啟用,
keepalived
便報告這台伺服器失效,並將它從集群中刪除,這種情況的典型例子是某台伺服器被非法關機。三層的方式是以伺服器的
ip位址是否有效作為伺服器工作正常與否的標準。
四層:主要是以tcp埠的狀態來決定伺服器工作正常與否。如
web伺服器的埠一般是
80,如果
keepalived
檢測到80
埠沒有啟動,則
keepalived
將這台伺服器從集群中剔除。
五層:應用層,比三層和四層要複雜一點,在網上占用的頻寬也大一些,keepalived將根據使用者的設定檢查伺服器程式執行是否正常,如果與使用者設定的不相符,則
keepalived
將把伺服器從伺服器集群中剔除。
3、keepalived的作用
負載均衡-橫向擴充套件
高可用-可持續的伺服器質量
實現對失效伺服器的隔離-通過健康監測,保證服務的可用性
實現:vrrp協議實現。(冗餘閘道器路由協議)
4、keepalived體系結構
1、watchdog 負責監控
checkers
和vrrp
程序的狀況。
2、checkers 負責真實伺服器的健康監測,是
keepalived
最主要的功能,換一句話說,可以沒有
vrrp statck
,但是健康檢查
healthcheckping
一定要有。
3、vrrp statck 負責負載均衡器之間失敗切換
failover
。如果只用乙個負載均衡器,則
vrrp
不是必須的。
4、ipvs warpper是用來傳送設定的規則封裝到核心
ipvs
**。5、netlink reflector 用來設定
vrrp
的vip
位址等。
keepalived功能十分強大,但是配置工作十分簡單,
keepalived
各種功能的實現是通過設定配置檔案
keepalived.conf
來完成的。
二、keepalived的安裝
1、安裝keepalived
二進位制編譯安裝三步驟:./confgiure && make && make install
問題彙總:
1.無gcc等編譯工具
yum install gcc gcc-c++
2.無openssl-devel支援
yum install openssl-devel
3.無ipvs framework、ipvs syncdeamon support
檢視kernels檔案:
ls /usr/src/kernels
安裝ipvsadm
yum install kernel-devel ipvsadm
做軟連線:
ln -s /usr/src/kernels/2.6.**** /usr/src/linux
4.無make工具
yum install make
編譯安裝後,預設安裝目錄為/usr/local/etc/,下面三個目錄
3.啟動設定
[root@master etc]# cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
[root@master etc]# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
[root@master etc]# mkdir /etc/keepalived
[root@master etc]# cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
[root@master etc]# cp /usr/local/sbin/keepalived /usr/sbin/
[root@master etc]# service keepalived start
env: /etc/init.d/keepalived: 許可權不夠
[root@master etc]# chmod 755 /etc/init.d/keepalived
[root@master etc]# service keepalived start
正在啟動 keepalived:[確定
][root@master etc]# ps xua|grep keep
root 29312 0.0 0.0 6852 748 ? ss 03:57 0:00 keepalived -d
root 29314 0.0 0.2 6908 2024 ? s 03:57 0:00 keepalived -d
root 29315 0.7 0.1 6908 1244 ? s 03:57 0:00 keepalived -d
至此,keepalived安裝完成。下一節開始實戰。
Keepalived 概述及部署
keepalived 軟體起初是專為lvs 負載均衡軟體設計的,用來管理並監控lvs 集群系統中各個服務節點的狀態,後來又加入了可以實現高可用的vrrp 功能。因此,keepalived除了能夠管理lvs軟體外,還可以作為其他服務 例如 nginx haproxy mysql等 的高可用解決方案軟體...
keepalived 安裝和簡要配置
2 tar xvzf keepalived 2.1.5.tar.gz 3 進入對應目錄,configure prefix usr local keepalived 4 顯示缺少openssl 安裝openssl yum install openssl 5 重新編譯並安裝 make make inst...
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...