keepalived腦裂和haproxy

1.用keepalived管理nginx服務

在這里插入圖片描述

7-1和7-2配置

#安裝nginx
systemctl stop firewalld
setenforce 0
yum install  epel-release.noarch -y 
yum install  -y  nginx
systemctl start nginxvim   /etc/nginx/nginx.confupstream web  {server 192.168.91.102;server 192.168.91.103;}location /  {proxy_pass  http://web;}scp   /etc/nginx/nginx.conf    192.168.91.101:/etc/nginx/nginx.confsystemctl stop firewalld
setenforce 0
yum install  epel-release.noarch -y 
yum install  -y   nginx
systemctl start nginx#7-1和7-2安裝keepalived
yum install keepalived   -y7-1
vim /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 127.0.0.1      # 修改郵箱地址smtp_connect_timeout 30  router_id LVS01            # 修改名稱vrrp_skip_check_adv_addr  #vrrp_strict              #關閉嚴格模式vrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_script check_down {script  "/etc/keepalived/ng.sh"   interval 1weight -30fall  3rise 2timeout 2
}vrrp_script check_down {script  "/etc/keepalived/ng.sh"   #指明腳本的位置   interval 1            #每隔1s 執行一次檢測weight -30             #如果 腳本執行失敗自動減少優先級30fall  3                # 3次不成功才標注為失敗 rise 2                 #nginx  重新起來后檢測兩次成功 才真的成功  timeout 2               #超時時間  2s 
}vrrp_instance VI_1 {state MASTERinterface ens33    #修改網卡的名稱virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.91.188   #修改vip }track_script {check_down}}vim    /etc/keepalived/ng.sh
killall   -0    nginx
chmod +x    /etc/keepalived/ng.sh
scp  /etc/keepalived/keepalived.conf   192.168.91.101://etc/keepalived/7-2  上操作
從節點做修改   192.168.91.101/etc/keepalived/keepalived.confglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 127.0.0.1     smtp_connect_timeout 30  router_id LVS01          vrrp_skip_check_adv_addr  #vrrp_strict             vrrp_garp_interval 0vrrp_gna_interval 0
}
實驗效果

在這里插入圖片描述
使用tcpdump命令抓包可以看到ip地址來源與主的那臺keeplived管理nginx的服務器
在這里插入圖片描述
當主的那臺nginx服務下線后不會影響7-3和7-4繼續提供web服務
在這里插入圖片描述
可以通過抓包看到看到當keepalived判斷主的nginx停止服務了以后,將服務轉交給了從的nginx
在這里插入圖片描述

用keepalived管理haproxy提供web服務

#在haproxy的配置文件中配置代理真實服務器
listen  ky26_port_80bind 192.168.91.100:80mode httplog global server rs1  192.168.10.20:80  checkserver rs2  192.168.10.1:80  check#需要開啟優化使haproxy可以監聽虛擬ip
sysctl -a |grep bind
#net.ipv4.ip_nonlocal_bind = 1vim /etc/sysctl.confnet.ipv4.ip_nonlocal_bind = 1sysctl -p#修改腳本檢測
vim    /etc/keepalived/ng.sh
killall   -0   haproxy
#tcpdump  -i  ens33 -nn port 80 

keepalived腦裂現象

什么是腦裂?
在高可用(HA)系統中,當聯系2個節點的“心跳線”斷開時,本來為一整體、動作協調的HA系統,就分裂成為2個獨立的個體。

由于相互失去了聯系,都以為是對方出了故障。兩個節點上的HA軟件像“裂腦人”一樣,爭搶“共享資源”、爭起“應用服務”,就會發生嚴重后果。共享資源被瓜分、兩邊“服務”都起不來了或者兩邊“服務”都起來了,但同時讀寫“共享存儲”,導致數據損壞

都有哪些原因導致腦裂?
1.高可用服務器對之間心跳線鏈路發生故障,導致無法正常通信。
2.因心跳線壞了(包括斷了,老化)。
3.因網卡及相關驅動壞了,ip配置及沖突問題(網卡直連)
4.因心跳線間連接的設備故障(網卡及交換機)高可用服務器上開啟了 iptables防火墻阻擋了心跳消息傳輸。
5.高可用服務器上心跳網卡地址等信息配置不正確,導致發送心跳失敗
6.其他服務配置不當等原因,如心跳方式不同,心跳廣插沖突、軟件Bug等。

如何解決keepalived腦裂問題?
在實際生產環境中,我們從以下方面防止腦裂:
1.同時使用串行電纜和以太網電纜連接、同時使用兩條心跳線路,這樣一條線路斷了,另外一條還是好的,依然能傳送心跳消息

2.當檢查腦裂時強行關閉一個心跳節點(這個功能需要特殊設備支持,如stonith、fence)相當于備節點接收不到心跳消息,通過單獨的線路發送關機命令關閉主節點的電源

3.做好對腦裂的監控報警解決常見方案:
(1)如果開啟防火墻,一定要讓心跳消息通過,一般通過允許IP段的形式解決
(2)可以拉一條以太網網線或者串口線作為主被節點心跳線路的冗余
(3)開發檢測程序通過監控軟件檢測腦裂

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

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

相關文章

2023-2024年中國人工智能算力的發展進行評估和分析報告

一、引言 隨著人工智能技術的不斷發展和應用,人工智能計算力已經成為推動人工智能產業發展的重要力量。本報告旨在對2023-2024年中國人工智能計算力的發展進行評估和分析,為相關企業和機構提供參考和決策依據。 二、人工智能發展邁入新階段 全球:生成式人工智能興起,產業步…

好久沒有寫博客了今天冒個泡記錄一下這兩個月的裸辭日記

辭職是2月份的事情了。目前已經4個月了。前2個月斷斷續續投簡歷面試,沒有遇到太理想的公司。現在武漢的公司太卷了。什么技術也都得會。一個前端希望你會切圖你會數據庫。有的還希望你處理一下售前售后。雙休的公司實在太少了,動不動就大小周。有個公司單…

筆記本電腦升級實戰手冊[1]:開始之前的準備與清單

文章目錄 前言:一、升級流程1. 備份2. 清灰換硅脂3. 擴展內存與硬盤4. 硬盤設置5. 系統重裝6. 升級后性能測試 二、升級清單1. 工具清單2. 升級清單 總結: 前言: 將要畢業之際,發現我的筆記本電腦已經陪我“征戰沙場”快有四年之…

【棧與隊列】滑動窗口最大值

題目:給你一個整數數組 nums,有一個大小為 k 的滑動窗口從數組的最左側移動到數組的最右側。你只可以看到在滑動窗口內的 k 個數字。滑動窗口每次只向右移動一位。 返回 滑動窗口中的最大值 。 分析:首先我們可以發現滑動窗口的移動操作和隊…

揭秘教學新利器:SmartEDA電路仿真軟件,讓電子學習更生動!

在數字化教育浪潮中,一款名為SmartEDA的電路仿真軟件逐漸嶄露頭角,以其直觀、易操作的特點,為電子學習領域帶來了革命性的變化。今天,就讓我們一起探討如何使用SmartEDA進行教學,讓電子學習變得更加生動有趣&#xff0…

使用Python實現深度學習模型:強化學習與深度Q網絡(DQN)

深度Q網絡(Deep Q-Network,DQN)是結合深度學習與強化學習的一種方法,用于解決復雜的決策問題。本文將詳細介紹如何使用Python實現DQN,主要包括以下幾個方面: 強化學習簡介DQN算法簡介環境搭建DQN模型實現模型訓練與評估1. 強化學習簡介 強化學習是一種訓練智能體(agent…

Android源碼——Handler機制(一)

Android源碼——Handler機制(一) Handler機制概述介紹Handler機制模型Handler機制架構 Handler機制源碼解析ActivityThreadLooperHandler Handler機制概述 介紹 Handler是Android消息機制的上層接口。Handler可以將一個任務切換到Handler所在的線程中去…

趕緊收藏!2024 年最常見的操作系統面試題(八)

上一篇地址:趕緊收藏!2024 年最常見的操作系統面試題(七)-CSDN博客 十五、什么是進程同步?請舉例說明幾種進程同步的方法。 進程同步是操作系統中用于控制多個進程或線程對共享資源的訪問的一種機制。它確保在任何給…

網絡物理隔離后 可以用保密U盤進行數據安全交換嗎?

企業用的保密U盤通常被設計用于存儲和傳輸敏感信息,以確保數據的安全和保密性。 在網絡之間實現了物理隔離后,使用保密U盤進行數據安全交換是一種常見的做法。物理隔離確保了兩個網絡之間的完全分離,因此使用保密U盤可以作為一種安全的手段來…

android view 設置過 transalationY/X 后 marginTop/marginStart/Left 不變

在 Android 開發中,當你對一個視圖(View)設置了 translationY 屬性后,這個視圖的 marginTop 屬性實際上并不會改變。這是因為 translationY 只會影響視圖的繪制位置,而不會改變視圖的布局參數。換句話說,translationY 是一個運行時…

第1章 物聯網模式簡介---物聯網概述

物聯網模式簡介 物聯網(IoT)在最近幾年獲得了巨大的吸引力,該領域在未來幾年將呈指數級增長。這一增長將跨越所有主要領域/垂直行業,包括消費者、家庭、制造業、健康、旅游和運輸。這本書將為那些想了解基本物聯網模式以及如何混…

UNIAPP_在js文件中使用i18n國際化

導入 import { initVueI18n } from dcloudio/uni-i18n import messages from /locale/index const { t } initVueI18n(messages) 使用 t(config.request.i001).

【大模型】大模型微調方法總結(四)

1. P-Tuning v1 1.背景 大模型的Prompt構造方式嚴重影響下游任務的效果。比如:GPT-3采用人工構造的模版來做上下文學習(in context learning),但人工設計的模版的變化特別敏感,加一個詞或者少一個詞,或者變…

MySQL存儲引擎 INNODB和MYISAM

存儲引擎概述 什么是存儲引擎 是數據庫底層軟件組件,數據庫管理系統使用數據索引進行創建、查詢、更新和刪除數據操作。不同的存儲引擎提供不同的存儲機制、索引技巧】鎖定水平等功能,使用不同的存儲引擎可以獲得特定的功能 MySQL5.7支持的存儲引擎 …

大數據面試之Hadoop

目錄 介紹下Hadoop Hadoop的特點 說下Hadoop生態圈組件及其作用 Hadoop主要分哪幾個部分?他們有什么作用? Hadoop 1.x,2x,3.x的區別 Hadoop集群工作時啟動哪些進程?它們有什么作用? 在集群計算的時候,什么是集群的主要瓶頸 搭建Ha…

用英文介紹美國總統Trump: Donald J. Trump Twice Impeached (2017 – 2021)

Donald J. Trump: Twice Impeached (2017 – 2021) Link: https://www.youtube.com/watch?vJ7RC2DKf6rs&listPLybg94GvOJ9E-ZM1U6PAjgPUmz-V4-Yja&index45 Summary Summary of Donald Trump’s Rise and Presidency Donald John Trump, originally from Queens, Ne…

網頁中如何接入高德地圖【靜態地圖篇】

接入高德地圖 登錄高德開放平臺創建應用添加key創建靜態地圖文檔說明markers 網頁應用總結 登錄高德開放平臺 高德開放平臺 創建應用 點擊我的應用 -> 創建應用 添加key 調相關接口都需要用到這個key! 創建靜態地圖 靜態地圖API文檔 文檔說明 服務地址…

基于上一篇博客,用阻塞隊列實現異步下單

在上一篇博客中,我們介紹了如何利用 Redis 和 Lua 腳本來高效處理秒殺活動中的高并發請求,保證用戶體驗。本文將進一步優化秒殺系統,通過引入阻塞隊列實現異步下單,從而提高系統的整體性能和穩定性。 引言 秒殺活動往往伴隨著極…

ArmSoM-Sige7/5/1 和樹莓派5規格比較

引言 在當今快速發展的嵌入式系統領域,選擇一款性能強大、功能豐富的開發板對于項目的成功至關重要。本文將介紹并比較 Sige7、Sige5、Raspberry Pi 5 和 Sige1 這四款開發板的關鍵規格和特性,幫助開發者和愛好者選擇最適合其需求的平臺。 ArmSoM-Sige…

使用模板方法設計模式封裝 socket 套接字并實現Tcp服務器和客戶端 簡單工廠模式設計

文章目錄 使用模板方法設計模式封裝套接字使用封裝后的套接字實現Tcp服務器和客戶端實現Tcp服務器實現Tcp客戶端 工廠模式 使用模板方法設計模式封裝套接字 可以使用模塊方法設計模式來設計套接字 socket 的封裝 模板方法(Template Method)設計模式是一…