RHCS叢集架構實現mysql高可用
阿新 • • 發佈:2019-02-07
關於一些基本配置參考上一篇關於niginx的高可用
目前的作業系統為rhel6.5
server1 172.25.12.1
server2 172.25.12.2
server4 172.25.12.4
yum源需要新增高可用套件
[rhel-source] name=Red Hat Enterprise Linux $releasever - $basearch - Source baseurl=http://172.25.12.250/rhel6.5 enabled=1 gpgcheck=1 [HighAvailability] name=Red Hat Enterprise Linux $releasever - $basearch - Source baseurl=http://172.25.12.250/rhel6.5/HighAvailability enabled=1 gpgcheck=1 [LoadBalancer] name=Red Hat Enterprise Linux $releasever - $basearch - Source baseurl=http://172.25.12.250/rhel6.5/LoadBalancer enabled=1 gpgcheck=1 [ResilientStorage] name=Red Hat Enterprise Linux $releasever - $basearch - Source baseurl=http://172.25.12.250/rhel6.5/ResilientStorage enabled=1 gpgcheck=1 [ScalableFileSystem] name=Red Hat Enterprise Linux $releasever - $basearch - Source baseurl=http://172.25.12.250/rhel6.5/ScalableFileSystem enabled=1 gpgcheck=1
服務安裝
server1=====> (ricci,luci,iscsi-*)
server2=====>(scsi-*)
server4=====>(ricci)
給server2新增一塊硬碟,將/dev/vdb(新新增的硬碟)共享給server1和server4
vim /etc/tgt/targets.conf 38 <target iqn.2018-08.com.example:server.target1> 39 backing-store /dev/vdb #可以使用fdisk -l檢視 40 initiator-address 172.25.12.1 41 initiator-address 172.25.12.4 42 </target> /etc/init.d/tgtd restart
server1和server4:
iscsiadm -m discovery -t st -p 172.25.12.2 ###發現裝置
iscsiadm -m node -l ###登陸
登陸完以後可以使用fdisk -l檢視得到的共享盤
pvcreate /dev/sda
vgcreate clustervg /dev/sda
lvcreate -L 4G -n demo clustervg
這個過程可以在server1中做,在server4中使用pvs,vgs,lvs重新整理,可以看到已經同步
mkfs.ext4 /dev/clustervg/demo
server1
yum install mysql-server
mount /dev/clustervg/demo /var/lib/mysql/
/etc/init.d/mysqld start
umount /var/lib/mysql/
可以看到這些操作在兩個伺服器上是同步的
設定好以後在網頁進行叢集操作
建立VIP
建立啟動指令碼
資料存放的地方
建立service groups
測試
fence可以參考上一篇nginx的配置
拓展:轉化為gfs2磁碟格式
1、GFS2 檔案系統簡介
GFS2 檔案系統不提供對上下文關聯路徑名的支援,上下文關聯路徑名允許您生成指向各種目的地檔案或者目錄的符號連結,可以實現多個伺服器同時掛載,應用於叢集場景。
2、通過clusvcadm關閉服務(server1、4)
clusvcadm -d mysql
3、檢視lvm.conf資訊(server1)
可以檢視下此處是否為3,如果不會3會出現同步過去的分割槽所帶屬性不對,出現原因,安裝包未下載完全:
vim /etc/lvm/lvm.conf
461 # change metadata.
462 locking_type = 3
在把剩餘的4G建立成/dev/sda2,並把2個分割槽格式改為Linux Lvm
注意:一定要保證server4能同步,可以partprobe或partx -a /dev/sda更新分割槽表,pvs、vgs、lvs檢視
vgcreate vg_cluster /dev/sda1
lvcreate -l +1023 -n demo vg_cluster
mkfs.gfs2 -j 3 -p lock_dlm -t today:mygfs2 /dev/vg_cluster/demo ###建立在叢集之上,-j:設定支援的節點數 -p:指定鎖方式為分散式鎖 -t:指定DLM鎖所在的表名稱
4、進行lvm拉伸
pvcreate /dev/sda2
vgextend vg_cluster /dev/sda2
lvextend -l +1023 /dev/vg_cluster/demo
gfs2_grow /dev/vg_cluster/demo
5、檢視資訊
gfs2_tool sb /dev/vg_cluster/demo all
6、自動掛載方法
umount /mnt
vim /etc/fstab
/dev/vg_cluster/demo /var/lib/mysql gfs2 _netdev 0 0
mount -a
7、測試:
(1)server1和server4同時掛載
mount /dev/vg_cluster/demo /mnt/
(2)結果
在/mnt裡面建立一個檔案,另外一邊可以進行實時更新顯示!!!