keepalived集群

keepalived概述

keepalived軟件就是通過vrrp協議來實現高可用功能。 ?

VRRP通信原理

VRRP就是虛擬路由冗余協議,它的出現就是為了解決靜態路由的單點故障。

VRRP是通過一種競選一種協議機制來將路由交個某臺VRRP路由器。

VRRP 用IP多播的方式(多播地址224.0.0.18)實現高可用之間的通信工作時主節點發包,備節點接包,當備節點接收不到主節點發的數據包的時候,就啟動接管主節點的資源,備節點可以有多個,通過優先級來進行競選,但一般keepalived系統運維工作時對VRRP使用加密協議加密數據,但keepalived官方目前還是推薦用明文的方式認證類型和密碼。

keepalived的體系,模塊及作用

故障自動切換(failover)

實現LVS集群中節點健康檢查

節點服務器高可用性(HA)、

keepalived體系架構中主要有三個模塊,分別是core、check和vrrp。

core模塊:為keepalived的核心,負責主進程的啟動、維護及全局配置文件的加載和解析。

vrrp模塊:是來實現VRRP協議的。

check模塊:負責健康檢查,常見的方式有端口檢查及URL檢查。

keepalived的工作原理

keepalived高可用之間是通過VRRP進行通信,VRRP是通過競選的來確定主備,主優先級高于備,因此,工作時主優先獲得所有資源,備節點處于等待狀態,當主掛了的時候,備節點就會接管主節點資源,然后頂替主節點對外提供服務。

keepalived服務之間,只有作為主的服務器一直發送VRRP廣播包,告訴備我還活著,此時備不會去搶占主,當主不可用的時候,即備要監聽不到主發送的廣播包時,它就會啟動相關服務來去接管資源,保證業務的連續性,接管速度最快小于1秒。

腦裂

在高可用( HA )系統中,當聯系 2 個節點的 “ 心跳線 ” 斷開時,本來為一整體、動作協調的 HA 系統, 就分裂成為 2 個獨立的個體。 由于相互失去了聯系,都以為是對方出了故障。兩個節點上的 HA 軟件會爭搶 “ 共享資源 ” 、爭起 “ 應用服務 ” ,就會發生嚴重后果。共享資源被瓜分、兩邊 “ 服務 ” 都起不來了;或者兩邊“ 服務 ” 都起來了,但同時讀寫 “ 共享存儲 ” ,導致數據損壞。

實例

1.配置負載調度器(主、備相同)

systemctl stop firewalld.service
setenforce 0yum -y install ipvsadm keepalived
modprobe ip_vs#配置keeplived
cd /etc/keepalived/
cp keepalived.conf keepalived.conf.bak
vim keepalived.conf

?

?

配置vip(虛擬IP)
vim /etc/sysconfig/network-scripts/ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yesifcon	
IPADDR=192.168.10.188
NETMASK=255.255.255.255systemctl restart network
ifup  ens33:0 

#啟動 ipvsadm 服務
systemctl start ipvsadm
ipvsadm -C   
ipvsadm -A -t 192.168.11.180:80 -s rr
ipvsadm -a -t 192.168.11.180:80 -r 192.168.11.33:80 -g
ipvsadm -a -t 192.168.11.180:80 -r 192.168.11.11:80 -g
ipvsadm -ln
ipvsadm-save > /etc/sysconfig/ipvsadm
調整 proc 響應參數,關閉Linux 內核的重定向參數響應
vim /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
sysctl -p

2、配置節點服務器

#配置vip
vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.10.188
NETMASK=255.255.255.255

vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
sysctl -p

3.測試驗證

在客戶端訪問 http://192.168.11.180/

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/43310.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/43310.shtml
英文地址,請注明出處:http://en.pswp.cn/news/43310.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

微信小程序中pdf的上傳、下載及excel導出

微信小程序中pdf的上傳、下載及excel導出 pdf上傳上傳1&#xff1a;上傳2&#xff1a; pdf下載導出excel pdf上傳 上傳兩種方法&#xff1a; 上傳1&#xff1a; 1.用vant weapp組件&#xff1a; //pdf上傳--vant weapp組件 <view class"content"><van-u…

推薦算法知識

有志者&#xff0c;事竟成 1. 聯盟的含義 2. Attention 3. Transformer 4. Learning to rank的三種方式 1. point-wise 2. pair-wise 3. list-wise 5. 推薦系統中的校準&#xff08;如保序回歸等&#xff09; 6. 推薦系統中的偏差與處理&#xff08;如位置偏差等&#xff09…

C#中的泛型約束可以用在以下幾個地方?

1.泛型類型參數&#xff1a; 在定義泛型類型或泛型方法時&#xff0c;可以使用泛型約束來限制泛型類型參數的類型。這可以確保類型參數滿足特定的條件&#xff0c;從而在編譯時捕獲錯誤并提供更安全和可靠的代碼。 public class MyClass<T> where T : IComparable<T&…

【React學習】React中的setState方法

1. setState概述 setState 是React框架中&#xff0c;用于更新組件狀態的方法。 setState 方法由React組件繼承自 React.Component 類的一部分。通過調用 setState&#xff0c;可以告訴 React要更新組件的狀態&#xff0c;并觸發組件的重新渲染。 this.setState(newState, ca…

C語言中常見的一些語法概念和功能

常用代碼&#xff1a; 程序入口&#xff1a;int main() 函數用于定義程序的入口點。 輸出&#xff1a;使用 printf() 函數可以在控制臺打印輸出。 輸入&#xff1a;使用 scanf() 函數可以接收用戶的輸入。 條件判斷&#xff1a;使用 if-else 語句可以根據條件執行不同的代碼…

【力扣每日一題】2023.8.15 字符中的查找與替換

目錄 題目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代碼&#xff1a; 題目&#xff1a; 示例&#xff1a; 分析&#xff1a; 題目很長&#xff0c;簡而言之就是檢查字符串中對應索引的位置是否有特定的字符串&#xff0c;如果有&#xff0c;那么替換&#xff0c;返…

Ceph如何操作底層對象數據

1.基本原理介紹 1.1 ceph中的對象(object) 在Ceph存儲中&#xff0c;一切數據最終都會以對象(Object)的形式存儲在硬盤&#xff08;OSD&#xff09;上&#xff0c;每個的Object默認大小為4M。 通過rados命令&#xff0c;可以查看一個存儲池中的所有object信息&#xff0c;例如…

Optional的基礎運用

Optional的基礎運用 簡介代碼示例 簡介 代碼示例 package org.example;import org.junit.Test;import java.util.Optional;public class OptionalTest {Testpublic void advance() {String str "hello";str null;// of(T t):封裝數據t生成Optional對象&#xff0c…

【筆試題心得】關于正則的一些整理

本文部分內容摘抄整理自 正則表達式 – 教程 | 菜鳥教程 在筆試的過程中&#xff0c;也常常會對正則表達式進行考察&#xff0c;這里對正則表達式的常見用法&#xff0c;做一個學習和總結。 正則表達式的模式可以包括以下內容&#xff1a; 字面值字符&#xff1a;例如字母、數…

數據結構:堆的實現

1.堆的概念 如果有一個關鍵碼的集合 K { k1 &#xff0c;k2 &#xff0c;k3 &#xff0c;…&#xff0c;kn }&#xff0c;把它的所有元素按完全二叉樹的順序存儲方式存儲在一個一維數組中&#xff0c;并且 k(i) < k(i*21) 和 k(i) < k(i*22)&#xff0c; i 0 &#xff…

MongoDB增刪改查操作

數據庫操作&#xff1a; 在MongoDB中&#xff0c;文檔集合存在數據庫中。 要選擇使用的數據庫&#xff0c;請在mongo shell程序中發出 use <db> 語句 // 查看有哪些數據庫 show dbs;// 如果數據庫不存在&#xff0c;則創建并切換到該數據庫&#xff0c;存在則直接切換到…

分布式消息中間件

消息中間件是Java開發消息隊列的一種中間件產品。中間件類似windows編程開發中的插件。工具插件在軟件工具中是中間插件。插件也是應用程序。消息的分發過程包裝之后是chatlog 系統或者是手機短信。系統與系統之間的通信通過消息的發送和接收。堆積頻繁過多的系統通知消息需要進…

C++之模板進階

模板進階 非類型模板參數模板的特化概念函數模板特化類模板特化全特化偏特化 模板分離編譯什么是分離編譯模板的分離編譯解決方法 模板總結 非類型模板參數 模板參數分兩種&#xff1a;類型形參與非類型形參。 類型形參&#xff1a;出現在模板參數列表中&#xff0c;跟在class…

docker安裝consul

1、下載consul鏡像 docker pull consul2、啟動consul docker run -d --restartalways --name consul -p 8500:8500 consul agent -server -bootstrap-expect1 -ui -bind0.0.0.0 -client0.0.0.03、查看consul日志 docker logs consul4、檢驗是否安裝成功

drawio----輸出pdf為圖片大小無空白(圖片插入論文)

自己在寫論文插入圖片時為了讓論文圖片放大不模糊&#xff0c;啥方法都試了&#xff0c;最后摸索出來這個。 自己手動畫圖的時候導出pdf總會出現自己的圖片很小&#xff0c;pdf的白邊很大如下如所示&#xff0c;插入論文的時候后雖然放大不會模糊&#xff0c;但是白邊很大會顯…

【數據結構OJ題】用隊列實現棧

原題鏈接&#xff1a;https://leetcode.cn/problems/implement-stack-using-queues/ 目錄 1. 題目描述 2. 思路分析 3. 代碼實現 1. 題目描述 2. 思路分析 可以用兩個隊列去實現一個棧&#xff0c;每次始終保持一個隊列為空。 入棧相當于給非空隊列進行入隊操作。 出棧相…

異步電機IM-改進的電壓模型磁鏈觀測器學習

導讀&#xff1a;本期文章主要介紹異步電機的改進型電壓模型磁鏈觀測器。傳統純積分形式的積分器在低速區域存在初始值問題和直流偏置問題&#xff0c;所以在實際應用中必須對電壓模型進行改進。本期文章中的對電壓模型改進是借鑒一篇IEEE中的方法。 如果需要文章中對應的仿真…

Apache Dubbo 云原生可觀測性的探索與實踐

作者&#xff1a;宋小生 - 平安壹錢包中間件資深工程師 Dubbo3 可觀測能力速覽 Apache Dubbo3 在云原生可觀測性方面完成重磅升級&#xff0c;使用 Dubbo3 最新版本&#xff0c;你只需要引入 dubbo-spring-boot-observability-starter 依賴&#xff0c;微服務集群即原生具備以…

貪心算法實現找零問題

思路&#xff1a; 使用 貪心算法 的思想 題目&#xff1a; 檸檬水找零 在檸檬水攤上&#xff0c;每一杯檸檬水的售價為5美元。顧客排隊購買你的產品,一次購買一杯。 每位顧客只買一杯檸檬水,然后向你付5美元、10美元或20美元。必須給每個顧客正確找零 注意,一開始你手頭沒有任何…

PSP - 基于擴散生成模型預測蛋白質結構 EigenFold 算法與環境配置

歡迎關注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132357976 Paper: EigenFold: Generative Protein Structure Prediction with Diffusion Models EigenFold 是用于蛋白質結構預測的擴散生成模型…