當前位置:網站首頁>LVS管理軟件--keepalived
LVS管理軟件--keepalived
2022-01-27 16:28:47 【qq_47295318】
1. keepalived是什麼
keepalived是集群管理中保證集群高可用的一個服務軟件,它的作用是檢測web服務器的狀態,如果有一臺web服務器死機,或工作出現故障,Keepalived將檢測到,並將有故障的web服務器從系統中剔除,當web服務器工作正常後,自動將web服務器加入到服務器集群中。解决了靜態路由的單點故障問題。
keepalived是以VRRP協議為實現基礎的,VRRP全程Virtual Router Redundancy Protocol ,即虛擬路由冗餘協議。
虛擬路由冗餘協議,可以認為是實現路由器高可用的協議。也就是說N臺提供相同功能的路由器組成一個路由器組,這個組裏面有一個master和多個backup,master上面有一個對外提供服務的vip,master不斷向backup發送心跳信息,告訴backup自己還活著,當backup收不到心跳消息時就認為master已經宕機啦,這時就需要根據VRRP的優先級來選舉一個backup當master。從而保證高可用。
2.keepalived主要有三個模塊,分別是core、check和vrrp
core模塊為keepalived的核心,負責主進程的啟動、維護、以及全局配置文件的加載和解析
check負責健康檢查,包括常見的各種檢查方式
vrrp模塊是來實現VRRP協議的
keepalived只有一個配置文件keepalived.conf
實驗環境設定:
添加一臺虛擬機作為備用lvs
cd /var/lib/libvirt/images/
網橋必須是br0
備用lvs-->server4 安裝ipvsadm
主lvs-->server1
ssh-keygen ##生成ssh公鑰認證所需要的公鑰和私鑰文件
ssh-copy-id server4: ##免密碼登陸server4
無需密碼登陸
安裝keepalived
備用lvs也安裝keepalived
安裝郵件軟件
cd /etc/keepalived
vim keepalived.conf
global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
# vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
1)global_defs區域
主要是配置故障發生時的通知對象以及機器標志
- notification_email 故障發生時給誰發郵件通知
- notification_email_from 通知郵件從哪個地址發出
- smtp_server 通知郵件的smtp地址
- smtp_connect_timeout 連接smtp服務器的超時時間
- enable_traps開啟SNMP(Simple Network Management Protocol)陷阱
- router_id 標志本節點的字符串,通常為ip地址,故障發生時郵件會通知到
2) vrrp_script區域
用來做健康檢查的,當檢查失敗時會將vrrp_instance的priority减少相應的值,
script:自己寫的監測脚本。
interval 2:每2s監測一次
weight -20:監測失敗,則相應的vrrp_instance的優先級會减少20個點
ip addr del 172.25.254.110/24 dev eth0
vim keepalived.conf
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
172.25.254.110
}
}virtual_server 172.25.254.110 80{
delay_loop 6
lb_algo rr
lb_kind DR
# persistence_timeout 50
protocol TCPreal_server 172.25.254.2 80 {
weight 1
TCP_CHECK {
connect_timeout 3
delay_before_retry 3
}
}real_server 172.25.254.3 80 {
weight 1
TCP_CHECK {
connect_timeout 3
delay_before_retry 3
}
}}
3) vrrp_instance
state:只有BACKUP和MASTER。MASTER為工作狀態,BACKUP是備用狀態
interface:為網卡接口:可通過ip addr查看自己的網卡接口
virtual_router_id:虛擬路由標志。同組的virtual_router_id應該保持一致;它將决定多播的MAC地址。
priority:設置本節點的優先級,優先級高的為master
advert_int:MASTER與BACKUP同步檢查的時間間隔
virtual_ipaddress:這就是傳說中的虛擬ip
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 50
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
cat /var/log/messages
在server4上
rs 操作:
測試:
若關閉server2的httpd
systemctl stop httpd
當調度器server1的lvs down掉,lvs就無法正常使用,會啟用備用lvs server4
關閉server1的keepalived
lvs正常使用,MAC地址為server4的MAC地址
server4 變為MASTER
server1比server4的優先級高,重新啟動時,MAC地址變為server1的地址
版權聲明
本文為[qq_47295318]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/01/202201271628470272.html
邊欄推薦
猜你喜歡
隨機推薦
- MySQL-5.7.36安裝遇到坑之後的整理,刻入骨髓的1045
- leader epoch
- Wireshark實驗四:UDP
- UiPath的許可查詢、激活、遷移和導出
- 遞歸以及for循環裏async 和 await 的用法
- 大人重疾險想保終身重疾,買哪個產品最合適啊?
- php使用openssl_encrypt和openssl_decrypt進行AES加密解密
- CV in Transformer學習筆記(持續更新)
- ctf,show msic入門
- 網絡文件系統
- 《滲透測試具體流程》
- flask入門教程(7) - 會話
- 【電子技術】什麼是循環冗餘碼CRC
- Anconda 學習
- 基於kubernetes的Prometheus監控mysql
- 什麼是光纖隔離器?
- LeetCode 7.整數反轉
- C 練習實例90
- @Inherit注解與注解的繼承
- 小程序雲開發——雲數據庫的增删查改(2)
- 五、OpenGL ES 三維圖形的初探
- 登錄令牌JWT — JSON WEB TOKEN
- 兩種方法,word文件轉換成PDF文件
- 有符號數(signed) 和 無符號數(unsigned)
- 道與術
- 少兒消費型重疾目前那個比較好一點?有沒有推薦的產品
- 猪器官又立功了!移植轉基因猪腎給腦死亡病人,23分鐘後成功產生尿液
- [機器學習算法面試題] 一.准確率Accuracy的局限性
- Flink(50):Flink之綜合練習(二)
- String類常用方法示例
- 各大直播平臺主播的收入計算方式是怎樣的?
- 工程師必須知道的幾個原則
- 細品事務機制(一)
- 邏輯樹分析方法:如何將複雜問題變簡單?
- 數組和鏈錶插入效率比較
- 李宏毅《機器學習》| 神經網絡訓練不起來怎麼辦(下)
- 2021年P氣瓶充裝考試及P氣瓶充裝試題及解析
- 2021年G2電站鍋爐司爐考試題庫及G2電站鍋爐司爐考試試卷
- jangow靶機滲透
- 『淺入淺出』MySQL 和 InnoDB