mysql集羣方案

by  livecm          blog:http://llog.cn

該研究性報告也是單位對mysql高可用的需求而產生的,不足之處望朋友們指出,內容是直接從我的word文檔中複製過來的,粘貼上來很多格式都變了,有看着不舒服的可以點原word文檔的下載 http://llog.cn/?p=255


I 綜述


數據庫位於現代企業應用的核心,它儲存了組織機構中最有價值的資產,包括客戶信息、產品信息、訂單信息和歷史數據。另外,組織機構依賴於數據庫來運行他們關鍵業務應用。幾小時甚至是幾分鐘的宕機,往往會造成收入的大量流失和客戶的不滿。因此,保證數據庫高可用是所有組織機構優先考慮的事情。對於希望在當今瞬息萬變的經濟環境立於不敗之地並取得成功的企業來說,構建一個具有高可用性的 IT 基礎架構至關重要。

II 實現目標

通過技術手段實現mysql數據庫的高可用性,從而減少停工時間保證服務的正常穩定運行。


III 方案建設概要

III.1 現有高可用方案分析

Mysql作爲一款開源軟件經過多年的發展,已經形成很多套實現高可用方案,並且均都投入生產使用,主要爲這幾種:mysql + replication mysql + heartbeat + 共享存儲、mysql + drbd + heartbeat 、 mysql cluster。以下將依次對各個方案進行分析。

III.2 Mysql+replicationIII.2.1 概述

Mysql的複製(Replication)是一個異步的複製,從一個Mysql instace(稱之爲Master)複製到另一個Mysql instance(稱之Slave)。實現整個複製操作主要由三個進程完成的,其中兩個進程在SlaveSql進程和IO進程),另外一個進程在MasterIO進程)上。

案具體解釋:

要實施複製,首先必須打開Master端的binary logbin-log)功能,否則無法實現。因爲整個複製過程實際上就是SlaveMaster端獲取該日誌然後再在自己身上完全順序的執行日誌中所記錄的各種操作。

III.2.3 Mysql+replication優缺點

優點:易實施、成本低、經濟實惠、後期維護方便,且由於整套系統架構簡單,不涉及到存儲及雙機軟件,因此係統出現故障率很低。方便做到讀寫分離。

缺點:在主機出現問題後不能自動切換到備份機,需要人工干涉更改IP地址。

III.3 mysql + heartbeat + 共享存儲
III.3.1 概述

HA雙機熱備軟件將操作環境推廣到一種羣集操作系統。羣集是一種鬆散耦合的計算節點集合,提供網絡服務或應用程序(包括數據庫、web 服務和文件服務)的單一客戶視圖。

HA雙機熱備軟件的目標是:

1:減少或消滅由軟件或硬件故障引起的系統停機時間

2:提供增強的系統可用性,能夠不必關掉整個羣集就可執行維護


案具體解釋:

本方案採用高可靠性的HA雙機熱備軟件來保證服務的高穩定性及連續性。默認情況下兩臺mysql機器只有一臺機器在工作,當工作機mysql主機出現問題後,系統將自動切換到mysql備機上繼續提供服務,而整個過程只需要30秒的時間,當mysql主機故障維修完畢後,服務將自動切換回mysql主機上繼續提供服務。

III.3.3 Mysql+heartbeat+共享存儲優缺點

優點:安全性、穩定性高,出現故障系統將自動切換,從而保證服務的連續性。

缺點:相對mysql replication成本提高,需要有共享存儲設備。

III.4 Mysql+drbd+heartbeat
III.4.1 概述

此方案除了剛剛介紹完的heartbeat外,主要用了DRBD這個工具,DRBD是一種塊設備,可以被用於高可用(HA)之中.它類似於一個網絡RAID-1功能.當你將數據寫入本地

文件系統時,數據還將會被髮送到網絡中另一臺主機上.以相同的形式記錄在一個文件系統中.

本地(主節點)與遠程主機(備節點)的數據可以保證實時同步.當本地系統出現故障時,遠程主機上還會保留有一份相同的數據,可以繼續使用.

III.4.3 Mysql+drbd+heartbeat優缺點

優點:安全性、穩定性高,出現故障系統將自動切換,從而保證服務的連續性,相對mysql+heartbeat+存儲來說對大優點是節約了存儲這個硬件設備。

缺點:mysql主機宕機,切換到備機,備機接管服務,待主機修復完配置failback機制的話會發生腦裂情況,需要手工執行命令進行主機接管。


III.5 Mysql clusterIII.5.1 概述

MySQL集羣是一種分佈式設計,目標是要達到沒有任何單點故障點。因此,任何組成部分都應該擁有自己的內存和磁盤。任何共享存儲方案如網絡共享,網絡文件系統和SAN設備是不推薦或不支持的。通過這種冗餘設計,MySQL聲稱數據的可用度可以達到99999%

III.5.3 Mysql cluster優缺點

優點:安全性、穩定性高,可以在線增加節點,官方聲稱可用度可達到99.999%

缺點:至少三個節點,對主機的數量有要求,無形增加方案成本、對於數據節點要求內存一致、對於引擎只能使用ndb、不支持外鍵功能、管理複雜



IV 可行性方案選擇

在上面列出的四種方案,我們都根據公司的對數據庫的生產要求,做了一些篩選。

mysql cluster 這個方案管理複雜ndb引擎的硬性要求凸顯出來的一些大的限制,我們將此先做了排除。

Mysql replication 這個方案公司目前正在使用,但是對mysql的同步的主機的高可用沒有保障,固先保留。

Mysql + drbd + heartbeat這個方案雖然能方便的做到主機到備機的切換,也能節約硬件的成本,但是備機向主機回切的過程中drbd的限制容易產生腦裂情況,須手工執行命令,此方案也先保留。

最後就剩下了myslq + heartbeat + 共享存儲方案,此方案對硬件有要求需要一個共享存儲設備,在出現問題後的故障切換以及主機恢復資源的回切都表現的相當良好,固此方案將被優先考慮。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章