RHCS集群架构实现mysql高可用

关于一些基本配置参考上一篇关于niginx的高可用

https://blog.csdn.net/u010489158/article/details/81333711


目前的操作系统为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里面建立一个文件,另外一边可以进行实时更新显示!!!

猜你喜欢

转载自blog.csdn.net/u010489158/article/details/81385115