從零開始的云計算生活——番外4,使用 Keepalived 實現 MySQL 高可用

目錄

前言

一、架構原理?

?Keepalived 作用?

?MySQL 主從復制?

二、環境準備??

服務器要求?:

? ? ? 安裝基礎軟件?

三、配置 MySQL 主從復制

四、配置 Keepalived

主節點配置?(/etc/keepalived/keepalived.conf)

從節點配置

五、啟動與驗證

六、注意事項?


前言

????????使用 Keepalived 實現 MySQL 高可用(HA)的核心是通過 ?虛擬 IP(VIP)漂移? 在主節點故障時自動切換流量到備用節點,結合 MySQL 主從復制保證數據一致性。以下是詳細步驟和配置說明:

一、架構原理?

  1. ?Keepalived 作用?

    • 基于 VRRP 協議管理 VIP,主節點正常時持有 VIP。
    • 通過健康檢查腳本監控 MySQL 服務狀態,若主節點故障,VIP 漂移到備用節點。
    • 客戶端通過 VIP 訪問 MySQL,無需感知后端節點切換
  2. ?MySQL 主從復制?

    • 主節點(Master)處理寫請求,從節點(Slave)同步數據。
    • 故障切換后,原從節點提升為新主節點(需配合復制配置或工具)

二、環境準備??

  1. 服務器要求?:

    • 兩臺 Linux 服務器(如 CentOS 7+),分別部署 MySQL 主從復制。
    • 示例 IP:
      • 主節點:192.168.71.177
      • 從節點:192.168.71.169
    • 虛擬 IP(VIP):192.168.71.100

? ? ? 安裝基礎軟件?

# 在兩臺服務器上安裝 MySQL 和 Keepalived
yum install -y mysql-server keepalived
systemctl enable mysqld keepalived

三、配置 MySQL 主從復制

創建了一個測試用的數據庫

主節點配置?(my.cnf):

[mysqld]
server-id = 1
log-bin = /var/log/mysql/mysql-bin.log
binlog-do-db = your_database  # 需同步的數據庫

?從節點配置(my.cnf)

[mysqld]
server-id = 2
relay-log = /var/log/mysql/mysql-relay-bin

啟動復制

-- 在主節點創建復制用戶
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';

-- 在從節點配置主庫信息
CHANGE MASTER TO
? MASTER_HOST='192.168.71.177',
? MASTER_USER='repl',
? MASTER_PASSWORD='password';
START SLAVE;

驗證同步:SHOW SLAVE STATUS\G?檢查?Slave_IO_Running: Yes

四、配置 Keepalived

主節點配置?(/etc/keepalived/keepalived.conf

global_defs {router_id mysql_master  # 唯一標識,建議用主機名
}vrrp_script chk_mysql {script "/usr/bin/mysqladmin ping"  # MySQL 健康檢查命令interval 2                          # 每 2 秒檢查一次weight 2                            # 檢查失敗時降低優先級
}vrrp_instance VI_1 {state MASTERinterface eth0                      # 綁定 VIP 的網卡virtual_router_id 51                # 集群 ID,主從必須一致priority 100                        # 主節點優先級更高(范圍 1-254)advert_int 1                        # 心跳間隔authentication {auth_type PASSauth_pass 1111                  # 主從密碼需相同}virtual_ipaddress {192.168.71.100/24 dev eth0       # VIP 配置}track_script {chk_mysql                       # 引用健康檢查腳本}notify_master "/path/to/promote_script.sh"  # 切換為主時執行的腳本(可選)
}

從節點配置

五、啟動與驗證

啟動服務?:

?故障轉移測試?:

模擬主節點故障?

觀察 VIP 漂移?:
在從節點執行?ip addr,應看到 VIP 綁定到從節點網卡。

主:

從:

客戶端連接測試?:

恢復主節點?:

  • 重啟主節點 MySQL 后,若需切回 VIP,可手動重啟主節點 Keepalived(或通過優先級調整)

此時從節點無法登錄

六、注意事項?

  1. ?數據一致性風險?:
    • 主從復制延遲可能導致數據丟失。建議啟用半同步復制(Semi-Sync Replication)或 GTID
  2. ?腦裂問題?:
    • 確保?virtual_router_id?唯一,避免多個集群沖突
  3. ?自動切換限制?:
    • Keepalived 僅負責 VIP 漂移,?不會自動切換 MySQL 主從角色。需配合腳本或工具(如 MHA、Orchestrator)實現完整故障轉移
  4. ?監控與告警?:
    • 配置 Keepalived 郵件通知(global_defs?區塊),實時感知切換事件

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

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

相關文章

list類的常用接口實現及迭代器

目錄 1. list類的介紹 2.list類的常用接口 2.1 list類的常用構造 2.2 list類對象的容量操作 2.3 list迭代器 2.4 list類的常用操作 3.list的模擬實現 1. list類的介紹 list代表的是雙向鏈表,常見的有創建,增,刪,改幾個接口…

vscode Cline接入火山引擎的Deepseek R1

創建火山引擎Deepseek R1的API 在火山引擎管理控制臺中創建Deepseek R1推理接入點(大模型),創建成功后會看到下圖效果。在操作中選擇API調用,在頁面中選擇OpenAI SDK,按照步驟找到baseUrl地址和API_KEY,后續…

新手向:自動化圖片格式轉換工具

大家好!今天我要分享一個非常實用的Python小工具——圖片格式批量轉換器。如果你經常需要處理大量不同格式的圖片文件,或者需要統一圖片格式以便于管理,那么這個工具將會成為你的得力助手!一、為什么需要圖片格式轉換?…

CUDA中的內存管理、鎖頁內存、UVA統一虛擬地址、零拷貝、統一內存

文章目錄0 前言1 swap內存跟鎖頁內存2 UVA(Unified Virtual Addressing)統一虛擬地址3 先看最普通的cuda內存分配、釋放、傳輸4 申請鎖頁內存4.1 cudaHostAllocDefault4.2 cudaHostAllocPortable4.3 cudaHostAllocWriteCombined4.3 cudaHostAllocMapped4.4 幾種鎖頁內存總結4.5…

微服務環境下的灰度發布與金絲雀發布實戰經驗分享

微服務環境下的灰度發布與金絲雀發布實戰經驗分享 在大規模微服務架構中,如何平滑安全地上線新功能是每個后端團隊的痛點。本文將結合生產環境中的真實案例,分享灰度發布(Gray Release)與金絲雀發布(Canary Release&am…

MEF 在 WPF 中的簡單應用

MEF核心筆記MEF 的開發模式主要適用于插件化的業務場景中,C/S 和 B/S 中都有相應的使用場景,其中包括但不限于 ASP.NET MVC 、ASP WebForms、WPF、UWP 等開發框架。當然,DotNet Core 也是支持的。 以下是搜索到一些比較好的博文供參考&#…

Gitlab跑CICD的時候,maven鏡像和pom.xml使用的maven版本沖突導致沒辦法build成功的解決方法

是這樣的!最近遇到一個非常棘手的難題,我搞了大概2周時間才把他弄出來,因為自己搭了個私服的maven倉庫,他不像maven官方倉庫一樣,可以跟nginx一樣轉的,所以遇到好幾個難點!第一點:就…

Linux內核IPv4路由查找:LPC-Trie算法的深度實踐

在互聯網基礎設施的核心領域,路由查找性能直接決定了網絡轉發效率。Linux內核作為現代網絡系統的基石,其IPv4路由子系統采用了一種名為LPC-Trie(Level-Compressed Trie) 的創新數據結構,在net/ipv4/fib_trie.c文件中實現了高效的路由管理方案。本文將深入剖析這一機制的設…

【設計模式】裝飾(器)模式 透明裝飾模式與半透明裝飾模式

裝飾模式(Decorator Pattern)詳解一、裝飾模式簡介 裝飾模式(Decorator Pattern) 是一種 結構型設計模式,它允許你動態地給對象添加行為或職責,而無需修改其源代碼,也不需要使用繼承來擴展功能。…

NAT原理與實驗指南:網絡地址轉換技術解析與實踐

NAT實驗 NAT(Network Address Translation,網絡地址轉換): NAT技術的介紹: 隨著Internet用戶的快速增長,以及地址分配不均等因素,IPv4地址(約40億的空間地址)已經陷入不…

設計模式之【觀察者模式】

目錄 觀察者模式中的角色 通過一個簡單案例來演示觀察者模式 被觀察者接口 事件類型 up主類作為被觀察者 觀察者接口 粉絲類作為觀察者 測試 測試結果 觀察者模式中的角色 被觀察者(observable)觀察者(observer) 通過一個簡單案例來演示觀察者模式 被觀察者接口 /*…

Linux sudo host權限提升漏洞(CVE-2025-32462)復現與原理分析

免責聲明 本文所述漏洞復現方法僅供安全研究及授權測試使用; 任何個人/組織須在合法合規前提下實施,嚴禁用于非法目的; 作者不對任何濫用行為及后果負責,如發現新漏洞請及時聯系廠商并遵循漏洞披露規則。 漏洞簡述 Linux sudo是l…

【uni-ui】hbuilderx的uniapp 配置 -小程序左滑出現刪除等功能

1.網址:https://ext.dcloud.net.cn/plugin?id181](https://ext.dcloud.net.cn/plugin?id181) 2.csdn講解:https://blog.csdn.net/qq_40323256/article/details/114337128 3.uni-ui git:https://github.com/dcloudio/uni-ui 4.官方網址文檔&…

記一次POST請求中URL中文參數亂碼問題的解決方案

POST請求中URL中文參數亂碼前言:一個常見的開發痛點一、問題現象與原因深度解析1. 典型問題場景2. 根本原因分析URL編碼規范問題:編碼解碼過程不一致:IE瀏覽器特殊行為:二、前端解決方案1. 手動編碼URL參數(推薦&#…

從存儲熱遷移流程了解 QEMU block layer

文章目錄存儲熱遷移流程總體流程代碼路徑QEMU Block layer架構簡述Block Job結構體設計狀態轉換Mirror block job拓撲結構構建過程數據結構存儲熱遷移流程 總體流程 Libvirt migrate 命令提供 copy-storage-all 選項支持存儲熱遷移,相應地,Libvirt 熱遷…

【設計模式】命令模式 (動作(Action)模式或事務(Transaction)模式)宏命令

命令模式(Command Pattern)詳解一、命令模式簡介 命令模式(Command Pattern) 是一種 行為型設計模式(對象行為型模式),它將一個請求封裝為一個對象,從而使你可以用不同的請求對客戶進…

HTML5智能排班日歷:動態排班一目了然

這個日歷將具備以下功能: 顯示一個標準的月度日歷視圖。可以自由切換上一個月和下一個月。在日歷的每一天自動顯示當天值班的人員。您可以很方便地在文件中修改值班人員列表和排班的起始日期。包括:動態生成日歷網格處理月份切換根據排班規則計算并顯示每天的值班人員<!DO…

深度剖析C++生態系統:一門老牌語言如何在開源浪潮中煥發新生?

&#x1f4dd;個人主頁&#x1f339;&#xff1a;慌ZHANG-CSDN博客 &#x1f339;&#x1f339;期待您的關注 &#x1f339;&#x1f339; 一、前言&#xff1a;C的“長壽秘訣”是什么&#xff1f; C 誕生已超過 40 年。它經歷了桌面應用、互聯網爆發、移動時代&#xff0c;再…

60個功能OfficeBox 萬彩辦公大師:PDF 格式轉換 OCR識別免費無廣告

各位辦公小能手們&#xff01;今天給大家介紹個超厲害的免費辦公工具套裝——OfficeBox萬彩辦公大師&#xff0c;是廣州萬彩科技整出來的。軟件下載地址安裝包 它里面有60多個沒廣告的綠色組件&#xff0c;簡直像個百寶箱&#xff01;涵蓋了PDF處理、格式轉換、OCR識別、屏幕錄…

擁抱主權AI:OpenCSG驅動智能體運營,共筑新加坡智能高地

2025年7月11日&#xff0c;由Linux基金會AI & Data、TikTok及LF Edge聯合主辦的 【LF AI & Data Day Singapore 2025】 在新加坡TikTok總部盛大啟幕。本次大會以“Agent for SWE”為核心議題&#xff0c;匯聚全球頂尖AI開發者、企業領袖及開源社區先鋒。作為國家主權AI…