基於corosync軟件,製作mysql高可用共享存儲
首先我們來了解一下這款軟件,它是從openAIS裏脫下來的新產品,與pacemaker結合後,成爲十分強大的高可用集羣管理器。
要安裝的時候,還要有pacemaker,安裝後,還要對其進行配置!我們以兩個節點爲例來討論
首先;準備兩臺已經安裝好數據庫的服務器,且mysql服務不能開機自動啓動,如果測試可以正常啓動了,將其關閉就可以了,
其ip地址假設爲172.16.20.11,172.16.20.12爲例,配置雙機互信,節點名與hostname一致,並寫進配置文件內。在另一臺172.26.20.1上建立起nfs服務,
首先創建一個邏輯卷,將其掛載載至/mydata目錄下(一般mysql掛在這個目錄),那把這個目錄給共享出去,命令如下:
#vim /etc/exports
#/mydata 172.16.20.0/16(rw)
然後,安裝corosync軟件,此軟件有許多所依賴的文件包,所以要提前下載,用yum來
安裝比較妥當,安裝完成後,還需要做一下配置:
vim /etc/corosync/corosync.conf
compatibility: whitetank
totem {
version: 2
secauth: on
threads: 0
interface {
ringnumber: 0
bindnetaddr: 172.16.0.0
mcastaddr: 226.94.20.1
mcastport: 5405
}
}
logging {
fileline: off
to_stderr: no
to_logfile: yes
to_syslog: no
logfile: /var/log/cluster/corosync.log
debug: off
timestamp: on
logger_subsys {
subsys: AMF
debug: off
}
}
amf {
mode: disabled
}
service {
ver: 0
name: pacemaker
use_mgmtd: yes
}
aisexec {
user: root
group: root
}
接着生成authkey文件,使用命令:
corosync-keygen
然後再將生成的authkey文件複製到另一臺服務器上即可
之後再在兩個節點上建立日誌文件的目錄,
mkdir /var/log/cluster,以便和配置文件相對應,
這樣就可以在兩個節點上分別啓動corosync
稍等片刻之後就可以試着查看節點是否在線了。查看命令:
crm_mon 或者 crm-overview都可以啦!
在線後,就可以用crm 進入配置集羣服務了
爲了可以正常工作,首先需要配置一些屬性信息:
#property stonith-enabled=false
#property no-quorum-policy=ignore
#verity
#commit
還可以配置其有關粘性值:
rsc_defaults resource-stickiness=88(只要大於零,就表示願意在此節點停留)
配置後可:
以使用命令shou進行查看
下面要配置資源信息:
在配置模式下,用primitive 來實現,具體如下:
primitive IP ocf:heartbeat:IPaddr params ip=172.16.20.17(此地址爲vip)
primitive mynfs ocf:heartbeat:Filesystem params device="172.16.20.1:/mmydata" directory "/mydata" fstype="nfs" op start timeout=60s op stop timeout=60s(配置文件系統資源,並且還有時間參數,且不能小於60,否則將出錯)
primitive mysql lsb:mysqld (添加mysql資源)
由於mysql要掛載在nfs文件系統上,所以,要定義排列選項:
colocation mysql_and_mydfs inf: mynfs mysql
還有要讓mysql最後啓動,所以,定義order:
order mysql_after_mynfs mandatory: mynfs mysql
order mysql_after_IP mandatory: mysql IP
verity
commit
最後就可以測試查看這個高可用集羣了!