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
下一篇 2016-11-24

相關推薦

  • 馬哥linux0803課堂筆記

    課堂筆記   重定向的幾種方式 標準輸入 0 (stdin) 標準輸出 1 (stdout) 標準錯誤 2 (stderr)   標準輸入的重定向方法 cat < file cat << string (多行重定向) xxx aaa string結束 cat file | cat   標準輸出的重定向 ls e…

    Linux干貨 2016-08-08
  • 包管理及源碼安裝Apache

    一,概述 yum 倉庫的安裝 在/etc/yum.repos.d/目錄下創建后綴名為repo的配置文件 [CentOS7] name= baseurl= gpgcheck= enabled= 配置文件基本包含的四個要求 安裝及升級本地程序包: * localinstall rpmfile1 [rpmfile2] […] (用install替代) …

    Linux干貨 2016-09-01
  • shell腳本執行

    shell腳本執行 對于我們這些小白而講,shell腳本無疑是最令人頭疼的事了,我再這里講一下shell腳本運行要注意的哪些。 shell腳本就好像c++,java代碼一樣,按照從上到下然后從左到右的順序執行。就像我們日常讀書一樣。如果shell命令遇見了子進程(嵌套代碼),程序就會跟著順序進入子進程。當子進程完成后,回到父進程,并且把父進程所需要的參數提交…

    2017-06-05
  • LVM(邏輯卷管理)

    LVM 邏輯卷管理 概述:      LVM是將一個或多個硬盤的分區在邏輯上集合,相當于一個大硬盤來使用,當硬盤的空間不夠使用的時候,可以繼續將其它的硬盤的分區加入其中,這樣可以實現磁盤空間的動態管理,相對于普通的磁盤分區有很大的靈活性。與傳統的磁盤與分區相比,LVM為計算機提供了更高層次的磁盤存儲。它使系統管理員可以更方便的為…

    Linux干貨 2016-09-05
  • 變量、腳本、條件測試

    一、編程基礎   程序:指令+數據  計算機:運行二進制指令 程序編程風格:  過程式:以指令為中心,數據服務于指令  對象式:以數據為中心,指令服務于數據shell程序:提供了編程能力,解釋執行編程語言:  編譯:高級語言–>編譯器–>目標代碼  解釋:高級語言…

    Linux干貨 2016-08-15
  • Linux進程查看及管理(2)

    Linux進程查看及管理(2) CentOS5和6的啟動流程: Liunx中的啟動:kernel和rootfs(根文件系統) kernel:進程管理,內存管理,網絡管理功能,驅動程序,文件系統,安全功能(權限模型), rootfs:glibc(lib,lib64) 庫:函數集合,function(功能模塊)有其調用接口(頭文件是對函數功能或調用參數的功能進行…

    Linux干貨 2016-08-08
欧美性久久久久