Ubuntu搭建基於DRBD的MariaDB數據庫高可用

參考資料:

DRBD安裝與Corosync配置:https://my.oschina.net/kwanxian/blog/5377530

請按照步驟安裝DRBD,Pacemaker,並配置Corosync節點。 與iSCSI-Target不同的是,本次實驗需要將DRBD磁盤掛載到MariaDB數據目錄下,所以該集羣運行模式爲:heartbeat->master->drbd primary->mount /var/lib/mysql->start mysql

注意:啓用集羣后,MariaDB服務將由crm管理,需要禁用MariaDB自啓動!


  1. 安裝MariaDB Server 10.5
apt install mariadb-server -y
  1. 掛載DRBD磁盤並初始化數據庫
mkfs.ext4 /dev/drbd0
mount /dev/drbd0 /var/lib/mysql
# 初始化數據庫
mysql_install_db

  1. 設置集羣資源
# 創建drbd資源
primitive mdb_drbd_res ocf:linbit:drbd params drbd_resource="mdb" op monitor interval="29s" role="Master" op monitor interval="31s" role="Slave"

# 創建主備規則
ms ms_mdb_cluster mdb_drbd_res meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true"

# 創建虛擬IP
primitive mdb_ip ocf:heartbeat:IPaddr2 params ip="172.16.0.40" cidr_netmask="24" op monitor interval="10s"
# 創建目錄掛載方式
primitive mdb_fs ocf:heartbeat:Filesystem device="/dev/drbd0" directory="/var/lib/mysql" fstype="ext4"
# 創建mysql服務啓動方式
primitive mdb_svr ocf:heartbeat:mysql params binary="/usr/bin/mysqld_safe" config="/etc/mysql/my.cnf" pid="/run/mysqld/mariadb.pid" socket="/run/mysqld/mysqld.sock" \
        additional_parameters="--bind-address=0.0.0.0" \
        op start timeout="120s" \
        op stop timeout="120s" \
        op promote timeout="120s" \
        op demote timeout="120s" \
        op notify timeout="90s" \
        op status timeout="60s" \
        op monitor interval="30s"

# 創建資源組
group mdb_group mdb_ip mdb_fs mdb_svr

# 約束節點運行先決條件,當節點爲Master,自動將drbd磁盤掛載
colocation c_mdb_on_drbd inf: mdb_group ms_mdb_cluster:Master

# 創建節點運行規則,資源組必須在約束條件通過後才能啓動
order o_drbd_before_mdb_drbd_res inf: ms_mdb_cluster:promote mdb_group:start
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章