集群:corosync+pacemaker实现MySQL服务高可用

高可用集群是指以减少服务中断时间为目的的服务器集群技术。它通过保护用户的业务程序对外不间断提供的服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度。高可用集群的应用系统有多样化发展趋势,用途也越来越多样化,同时带来了配置及可操作性方面的复杂性,因此选择好的高可用软件至关重要。本文章实现用corosync+pacemaker实现mysql的高可用,并且通过配置一台NFS服务器专门用来存储mysql的数据,从而实现mysql读取写入数据的一致性。
一,配置NFS服务器
二,配置mysql服务器,并为配置HA做准备工作:
三,安装corosync+pacemakershix实现基于mysql的高可用
实验拓扑;

集群:corosync+pacemaker实现MySQL服务高可用

一,配置NFS服务器(172.16.30.5)
由于我们的NFS服务器要作为一个共享存储介质,存放mysql的数据文件,为了使数据存放目录的所有者是mysql用户和组,我们在NFS和两台mysql服务器上都要创建相同uid,gid的mysql用户和组,因为NFS是通过识别UID来区分用户的,通过这样的方式可以实现我们mysql服务器用mysql身份访问共享存储介质的mydata目录时,被NFS识别为文件的属主和属主。
创建mysql组和用户:
# groupadd -g 306  -r mysql
# useradd -g mysql -u 306 -s /sbin/nologin mysql
 
我们要建立一个逻辑卷用于存放mysql数据的文件:
首先进行分区,用作物理卷的分区的id为8e,大小为10G,我们这里以创建分区/dev/sda3为例:
#fdisk /dev/sda
 
让kernel识别新建的分区:
#partprobe /dev/sda
 
创建物理卷:
#pvcreate /dev/sda3
 
创建卷组:
#vgcreate myvg /dev/sda3
 
创建逻辑卷;
#lvcreate -L 5G -n lv_mydata myvg
 
格式化逻辑卷:
#mke2fs -j /dev/myvg/lv_mydata
 
# mkdir /mydata
 
#vim /etc/fstab
添加如下行:
/dev/myvg/lv_mydata     /mydata    ext3    defaults        0 0
 
#mount -a
查看是否挂载成功:
# ls /mydata
lost+found
 
查看nfs的软件包是否安装,如果没有安装要安装此软件包:
# rpm -q nfs-utils
查看portmap服务的状态(要开启portmap服务):
#service portmap status
打开NFS的配置文件进行编辑:
# service nfs start
#vim /etc/exports
添加要把哪个文件共享给mysql服务器,这个文件是用于存放mysql数据的目录:
/mydata  172.16.30.4(rw,no_root_squash) 172.16.30.6(rw,no_root_squash)
把/etc/exports定义的内容生效,导出文件系统:
# exportfs -arv
更改mydata目录的属主属组:
# chown -R mysql.mysql /mydata

相关推荐