久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

mysql高可用中MMM高可用mysql方案是怎么樣的

142次閱讀
沒有評論

共計(jì) 4239 個(gè)字符,預(yù)計(jì)需要花費(fèi) 11 分鐘才能閱讀完成。

這期內(nèi)容當(dāng)中丸趣 TV 小編將會給大家?guī)碛嘘P(guān) mysql 高可用中 MMM 高可用 mysql 方案是怎么樣的,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

MMM 高可用 mysql 方案

方案簡介

MMM 即 Master-Master Replication Manager for MySQL(mysql 主主復(fù)制管理器)關(guān)于 mysql 主主復(fù)制配置的監(jiān)控、故障轉(zhuǎn)移和管理的一套可伸縮的腳本套件(在任何時(shí)候只有一個(gè)節(jié)點(diǎn)可以被寫入),這個(gè)套件也能對居于標(biāo)準(zhǔn)的主從配置的任意數(shù)量的從服務(wù)器進(jìn)行讀負(fù)載均衡,所以你可以用它來在一組居于復(fù)制的服務(wù)器啟動虛擬 ip,除此之外,它還有實(shí)現(xiàn)數(shù)據(jù)備份、節(jié)點(diǎn)之間重新同步功能的腳本。MySQL 本身沒有提供 replication failover 的解決方案,通過 MMM 方案能實(shí)現(xiàn)服務(wù)器的故障轉(zhuǎn)移,從而實(shí)現(xiàn) mysql 的高可用。MMM 不僅能提供浮動 IP 的功能,更可貴的是如果當(dāng)前的主服務(wù)器掛掉后,會將你后端的從服務(wù)器自動轉(zhuǎn)向新的主服務(wù)器進(jìn)行同步復(fù)制,不用手工更改同步配置。這個(gè)方案是目前比較成熟的解決方案。

方案優(yōu)缺點(diǎn)

優(yōu)點(diǎn):安全性、穩(wěn)定性高,可擴(kuò)展性好,高可用,當(dāng)主服務(wù)器掛掉以后,另一個(gè)主立即接管,其他的從服務(wù)器能自動切換,不用人工干預(yù)。
缺點(diǎn):至少三個(gè)節(jié)點(diǎn),對主機(jī)的數(shù)量有要求,需要實(shí)現(xiàn)讀寫分離,對程序來說是個(gè)挑戰(zhàn)。

方案架構(gòu)圖

適用場景

MMM 的適用場景為數(shù)據(jù)庫訪問量大,業(yè)務(wù)增長快,并且能實(shí)現(xiàn)讀寫分離的場景。

方案實(shí)戰(zhàn)

實(shí)戰(zhàn)環(huán)境介紹

實(shí)戰(zhàn)環(huán)境服務(wù)器列表:

ip 地址
Serverid
Mysql
Monitor
10.1.1.111
Centos 5.5 64bit
Master1
10.1.1.113
Centos 5.5 64bit
5.1.63
Master2
10.1.1.75
Centos 5.5 64bit
5.1.63
Slave1
10.1.1.108
Centos 5.5 64bit
5.1.63

實(shí)戰(zhàn)環(huán)境虛擬 IP 列表:

Role
description
10.1.1.176
Read
應(yīng)用配置的讀取 IP,也可以在前端加 lvs 等,做負(fù)載均衡。三臺數(shù)據(jù)庫每臺一個(gè)浮動 VIP
10.1.1.177
Read
10.1.1.178
Read
10.1.1.179
Write
應(yīng)用配置的寫入的 VIP,單點(diǎn)寫入。

MMM 的安裝

在安裝 mmm 之前要安裝 epel 包,因?yàn)?Centos 的默認(rèn)源中沒有 mmm 的安裝包,Epel 是企業(yè)版 Linux 附加軟件包 (Extra Packages for Enterprise Linux) 的縮寫,是一個(gè)由特別興趣小組創(chuàng)建、維護(hù)并管理的,針對紅帽企業(yè)版 Linux(RHEL)及其衍生發(fā)行版 (比如 CentOS、Scientific Linux) 的一個(gè)高質(zhì)量附加軟件包項(xiàng)目。
安裝 epel:

wget ftp://ftp.sunet.se/pub/Linux/distributions/yellowdog/yum/6.2/extras/RPMS/epel-release-5-3.noarch.rpm
rpm -Uvh epel-release-5-3.noarch.rpm

安裝 monitor 的安裝:

yum -y install mysql-mmm*

各個(gè) DB 上只需要安裝 mysql-mmm-agent

yum -y install mysql-mmm-agent

MMM 的配置

配置之前的準(zhǔn)備

前提是要配置好 master1 和 master2 的主主同步,master1 和 slave1 的主從同步,限于篇幅這里我就不做介紹了。
在配置 mmm 之前首先要在 mysql 中創(chuàng)建除復(fù)制帳號之外的另外兩個(gè)帳號,首先來介紹 monitor user 帳號,這個(gè)帳號是 monitor 服務(wù)器用來對 mysql 服務(wù)器做健康檢查的,其次就是 agent user,這個(gè)帳號是 mmm agent(mmm 代理)用來變成只讀模式和同步 master 等,下面是創(chuàng)建這兩個(gè)帳號的語句:

GRANT REPLICATION CLIENT ON *.* TO mmm_monitor @ 10.1.1.% IDENTIFIED BY monitor_password
GRANT SUPER, REPLICATION CLIENT, PROCESS ON *.* TO mmm_agent @ 10.1.1.% IDENTIFIED BY agent_password
flush privileges;

這兩個(gè)語句在每個(gè) mysql 中都要執(zhí)行一下。

Monitor 服務(wù)器的配置

的配置文件在 /etc/mysql-mmm 目錄下,monitor 需要配置的文件有 mmm_common.conf、mmm_mon.conf 兩個(gè)文件。mmm_common.conf 文件在 mmm 的各個(gè)節(jié)點(diǎn)都是一樣的,因此配置好以后 copy 到各個(gè) DB 節(jié)點(diǎn)即可。

我 mmm_common.conf 的配置如下:
vim /etc/mysql-mmm/mmm_common.conf

active_master_role  writer
 
host default
  cluster_interface  eth0
  pid_path  /var/run/mysql-mmm/mmm_agentd.pid
  bin_path  /usr/libexec/mysql-mmm/
  replication_user  replication
  replication_password  123456
  agent_user   mmm_agent
  agent_password  agent_password
/host
 
host db1
  ip  10.1.1.113  #這個(gè) IP 尤其注意是 db1 的 IP
  mode  master
  peer  db2
/host
 
host db2
  ip  10.1.1.75  #這個(gè) IP 尤其注意是 db2 的 IP
  mode  master
  peer  db1
/host
 
host db3
  ip  10.1.1.108
  mode  slave
/host
 
role writer
  hosts  db1, db2
  ips  10.1.1.179
  mode  exclusive
/role
 
role reader
  hosts  db1, db2, db3
  ips  10.1.1.176, 10.1.1.177, 10.1.1.178
  mode  balanced
/role

我的 mmm_mon.conf 配置如下:
vim /etc/mysql-mmm/mmm_mon.conf

include mmm_common.conf
 
monitor
  ip  127.0.0.1
  pid_path  /var/run/mysql-mmm/mmm_mond.pid
  bin_path  /usr/libexec/mysql-mmm
  status_path  /var/lib/mysql-mmm/mmm_mond.status
  ping_ips  10.1.1.1, 10.1.1.113, 10.1.1.75, 10.1.1.108
# ping_ips 監(jiān)控了網(wǎng)關(guān) IP 和其他的 DB 節(jié)點(diǎn) IP
  auto_set_online  60
/monitor
 
host default
  monitor_user  mmm_monitor
  monitor_password  monitor_password
/host
 
debug 0

各個(gè) DB 服務(wù)器的配置

各個(gè) DB 服務(wù)器要配置的東西比較不多,主要有 mmm_common.conf、mmm_agent.conf 和 /etc/default/mysql-mmm-agent 文件。

db1 的配置

文件的配置和前面 monitor 的一樣,直接 copy 過來即可使用

的配置:

vim /etc/mysql-mmm/mmm_agent.conf

include mmm_common.conf
this db1

的配置:

vim /etc/default/mysql-mmm-agent

 

db2 的配置

文件的配置和前面 monitor 的一樣,直接 copy 過來即可使用

的配置:

vim /etc/mysql-mmm/mmm_agent.conf

include mmm_common.conf
this db2

的配置:

vim /etc/default/mysql-mmm-agent

 

db3 的配置

文件的配置和前面 monitor 的一樣,直接 copy 過來即可使用

的配置:

vim /etc/mysql-mmm/mmm_agent.conf

include mmm_common.conf
this db3

的配置:

vim /etc/default/mysql-mmm-agent

 

MMM 的管理

MMM 的啟動和停止

MMM 的啟動

啟動 mmm agent

/etc/init.d/mysql-mmm-agent start

將 agent 的啟動命令寫入到三個(gè) DB 的 rc.local 文件中
啟動 mmm monitor

/etc/init.d/mysql-mmm-monitor start

將 monitor 的啟動命令寫入到 monitor 服務(wù)器的 rc.local 文件中

MMM 的停止

停止 mmm agent

/etc/init.d/mysql-mmm-agent stop

停止 mmm monitor

/etc/init.d/mysql-mmm-monitor stop

MMM 的基本管理

查看集群的狀態(tài)

mmm_control show

將 db1 設(shè)置成 online 狀態(tài)

mmm_control set_online db1

更多管理命令請使用 mmm_control help 查看,或者參考:
http://blog.chinaunix.net/uid-20639775-id-154606.html

MMM 架構(gòu)的測試

環(huán)境搭建好以后,就需要進(jìn)行周密的測試,看是否實(shí)現(xiàn)了預(yù)期的功能:

停掉 master1 后在 monitor 端使用 mmm_control show 看是否能切換。看看 slave1 是否能正確切換同步。

啟動 master1 后在 monitor 端使用 mmm_control show 看是否能切換。

停掉 master2 后看看能否正確切換。

MMM 架構(gòu)的監(jiān)控

為實(shí)現(xiàn)高可用,系統(tǒng)的各個(gè)層面都需要全面的監(jiān)控起來,比如 agent 進(jìn)程的監(jiān)控,monitor 進(jìn)程的監(jiān)控,mysql 可用性的監(jiān)控,數(shù)據(jù)庫同步的監(jiān)控等,推薦使用 nagios 對以上資源進(jìn)行監(jiān)控,第一時(shí)間發(fā)現(xiàn)問題,第一時(shí)間處理。

上述就是丸趣 TV 小編為大家分享的 mysql 高可用中 MMM 高可用 mysql 方案是怎么樣的了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-15發(fā)表,共計(jì)4239字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 元江| 陇西县| 临泉县| 通江县| 贺州市| 惠州市| 武冈市| 平昌县| 容城县| 淳化县| 镇沅| 温州市| 玉环县| 车致| 元朗区| 云阳县| 共和县| 军事| 岳阳县| 武定县| 灌云县| 宽城| 康定县| 佛冈县| 武义县| 土默特右旗| 阜阳市| 云南省| 珠海市| 万全县| 建德市| 商水县| 永泰县| 察雅县| 樟树市| 绥阳县| 威宁| 施秉县| 时尚| 景德镇市| 凤凰县|