corosync+pacemaker對mariadb實現高可用


corosync+pacemaker對mariadb實現高可用


利用nfs共享存儲,導出一個目錄作為mariadb的數據目錄,然后利用corosync+pacemaker對mariadb進行高可用

1、實驗環境

corosync+pacemaker對mariadb實現高可用

2、實驗前的分析

  • 利用nfs導出目錄作為mariadb的共享目錄,要確保各個mariadb節點對該目錄具有寫權限,也就是要確保nfs服務器上有一個UID與各個節點上運行mariadb的用戶的UID一致的用戶,該用戶對nfs導出的目錄有寫權限;且nfs導出共享目錄時,權限為rw

  • 要對mariadb服務高可用,構成mariadb服務的高可用的資源有:訪問mariadb服務的IP地址、mariadb服務自身、mariadb的數據目錄(也就是nfs導出的文件系統)

  • 對應的構成mariadb服務的資源使用到的資源代理有:ocf資源代理類型下heartbeat提供者提供的IPaddr2資源代理,systemd資源代理類型的mariadb,ocf資源代理類型下heartbeat提供者提供的Filesystem資源代理

  • 考慮三個資源之間的約束關系,三個資源必須要同時運行在某一節點上,且三個資源的啟動順序應該為IP地址先啟動,然后掛載nfs的文件系統,最后啟動mariadb服務,因此對應的資源約束為:位置約束(location)無需特別定義,也就是資源運行在那個節點上都可以;排列約束(colocation)需要定義將三個資源運行在一起的分數為inf,以保證三個資源同時運行在一起;順序約束(order)需要定義先啟動IP、再啟動nfs掛載、最后啟動mariadb服務

  • 定義資源時,需要對資源進行監控,一般IP地址不易發生變化,因此主要對nfs掛載文件系統和mariadb服務進行監控

3、實驗的網絡環境配置

corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用

4、進行高可用實驗前的準備工作

  • node68上部署ansible管理端,實現對部分操作的批量管理
    corosync+pacemaker對mariadb實現高可用
    corosync+pacemaker對mariadb實現高可用
    corosync+pacemaker對mariadb實現高可用

  • 各個高可用集群節點之間時間同步
    corosync+pacemaker對mariadb實現高可用
    corosync+pacemaker對mariadb實現高可用

  • 各個集群節點之間的名稱解析的主機名和實際主機名保持一致
    corosync+pacemaker對mariadb實現高可用
    corosync+pacemaker對mariadb實現高可用
    corosync+pacemaker對mariadb實現高可用

  • 各個集群節點之間可基于SSH秘鑰方式進行通信(對corosync+pacemaker高可用集群非必須)
    corosync+pacemaker對mariadb實現高可用

  • 各個節點之間確保iptables和selinux不會阻礙實驗正常進行
    corosync+pacemaker對mariadb實現高可用

5、各個集群節點上部署mariadb服務

corosync+pacemaker對mariadb實現高可用

6、nfs服務器的配置

corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用

7、修改各個集群節點上的mariadb的配置文件,讓其數據目錄指向用于掛載nfs導出的文件系統的目錄

corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用

8、在沒有高可用的情況下,在某節點測試mariadb是否正常

corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用

9、在各個集群節點上部署corosync+pacemaker,并對corosync進行配置,啟動corosync和pacemaker

corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用

10、在集群某個節點上安裝crmsh程序,利用crm程序對pacemaker進行管理

對集群的操作只需要在某個集群節點上配置,因為集群的DC會將配置信息自動同步到其他各個節點上;因此只需要在一個集群節點上安裝crmsh即可
本實驗采用在各個集群節點上都安裝,以方便查看測試

corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用

11、定義IP地址資源

corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用

12、定義文件系統資源

corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用

13、定義mariadb服務資源

corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用

14、利用資源組實現各個資源之間運行在一起的配置示例

corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用

15、利用colocation排列約束定義各個資源運行在一起的配置示例

corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用

16、定義三個資源之間的order順序約束,對三個資源的啟動順序進行定義

corosync+pacemaker對mariadb實現高可用

17、測試高可用服務是否配置成功

corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用
corosync+pacemaker對mariadb實現高可用

原創文章,作者:M20-1倪文超,如若轉載,請注明出處:http://www.www58058.com/60636

(0)
M20-1倪文超M20-1倪文超
上一篇 2016-11-24 11:35
下一篇 2016-11-24 12:01

相關推薦

  • linux bassic Week 5 Blogging

    linux bassic Week 5 Blogging 1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; ~]# grep -E "^[[:space:]]+" /boot/grub/grub.conf  root (hd0,0) kernel&n…

    Linux干貨 2017-01-05
  • 設計模式(五)適配器模式Adapter(結構型)

    1. 概述:          接口的改變,是一個需要程序員們必須(雖然很不情愿)接受和處理的普遍問題。程序提供者們修改他們的代碼;系統庫被修正;各種程序語言以及相關庫的發展和進化。         例子1:iphone…

    Linux干貨 2015-06-25
  • Sqlserver2012(主從復制)共享同步日志備份恢復

    SQL Server 2012相對于SQL Server 2008來說,無論是性能還是功能都有一個相當大的提高,甚至可以用“革命”來形容這一次升級。SQL Server 2012使 SQL Server 躋身于企業級數據庫行列。在數據高可用性方面,SQL Se…

    Linux干貨 2015-10-31
  • N-22-南京-修 第四周博客作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@localhost xujie]# cp -a /etc/skel /home/tuser1 [root@localhost home]# chmod -R 700 tuser1 之前 [root@localho…

    Linux干貨 2016-09-15
  • sed基礎

    sed 是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(pattern space ),接著用sed 命令處理緩沖區中的內容,處理完成后,把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。文件內容并沒有改變,除非你使用重定向存儲輸出。Sed 主要用來自動編輯一個或多個文件, 簡化對文件的反復操…

    Linux干貨 2017-05-01
  • Linux概述

    計算機組成概述 計算機組成原理 如上圖計算機的組成結構,CPU運行速度遠遠高于內存,而內存運行速度又遠遠高于I/O;由于三者運行速度巨大差異,如果系統僅運行一個任務(單任務系統),那么將有大量的CPU空閑時間等待緩慢的I/O及內存的讀取。為提高CPU的使用效率,于是便產生了多任務系統系統的需求。 多任務系統 多任務實現的基礎,我們知道計算機處理任務主要靠CP…

    Linux干貨 2016-12-02
欧美性久久久久