RHCS实现存储集群(MYSQL为例)

在上一篇博客中我们说到RHCS套件提供了集群系统中三种集群构架,分别是高可用性集群、负载均衡集群、存储集群。说完高可用性集群,再来看看存储集群的配置与实现(以mysql为例)。
一.环境配置
1.在server2添加一块磁盘作为共享磁盘
这里写图片描述
2.在server1和server4中安装iscsi客户端:

yum install iscsi-* -y

这里写图片描述
在server2安装scsi服务端(共享磁盘所在端):

yum install -y scsi-*

3.在server2上编写iscsi的配置文件,允许server1和server4发现并登陆共享文件

vim /etc/tgt/targets.conf

```![这里写图片描述](https://img-blog.csdn.net/20180803154620636?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2pheV95b3V0aA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)





<div class="se-preview-section-delimiter"></div>

/etc/init.d/tgtd start
“`

4.在server1和server4客户端发现server2上的共享设备并登陆
这里写图片描述
这里写图片描述
5.在server客户端制作LVM分区,在server4端同步
这里写图片描述
在server4同步LVM分区:
这里写图片描述
二.MYSQL服务在共享磁盘中的应用
(一)ext4文件系统:
1.在serve1和server4端下载mysql-server
这里写图片描述
2.在server1中将LVM分区挂载在数据库的目录下
这里写图片描述
3.修改数据库目录的所属人和所属组(为了向这里边写入数据),并打开数据库服务,发现目录中有个文件mysql.sock
这里写图片描述
4.在luci图形管理界面中,移除之前的nginx服务,换成mysql服务;节点为server1和server4不改变;再添加一个资源—>文件系统,并将资源添加到服务中(详细过程参见上篇博客);fence设备不变。
点击Service Groups,删除原来的添加,重新配置,这次的添加顺序是IP Address —-> Filesystem —-> Script(因为服务开启的顺序就是先分配VIP,然后开启存储,然后再是服务)
这里写图片描述
服务启动脚本修改为mysql的脚本:
这里写图片描述
5.查看server1和server4的提供服务状态,并查看接管服务的节点是否含有服务特殊文件。
这里写图片描述
这里写图片描述
6.在luci界面将提供mysql服务的节点换成server4,在server1上卸载LVM分区查看server4中mysql数据库。(注意mysql服务要为开启状态,下图中还未开服务)
这里写图片描述
服务切换到了server4上,在server4中的数据库中出现特殊文件:
这里写图片描述

两个需要注意的点:

1、首先我们用的是ext4文件系统进行格式化,ext4是本地文件系统,所以存储的同步的文件显示需要另一台进行卸载再挂载的操作。
2.保证clvmd服务开启,要开启才可能同步,还需要软件lvm2-cluster的支持,这些在最开始选择Download(luci图形界面)都自动下载好了

(二)gfs2集群文件系统

gfs2(global file system2):集群文件系统,可以让多个节点同时使用同一个文件系统,当一个节点使用时会借助DLM机制通过lock_dlm进行加锁,并通知给其他节点持有的锁信息
GFS是RHCS为集群系统提供的一个存储解决方案,它允许集群多个节点在块级别上共享存储,每个节点通过共享一个存储空间,保证了访问数据的一致性,更切实的说,GFS是RHCS提供的一个集群文件系统,多个节点同时挂载一个文件系统分区,而文件系统数据不受破坏,这是单一的文件系统,例如EXT3、EXT2所不能做到的。

/etc/init.d/tgtd start

4.在server1和server4客户端发现server2上的共享设备并登陆
这里写图片描述
这里写图片描述
5.在server客户端制作LVM分区,在server4端同步
这里写图片描述
在server4同步LVM分区:
这里写图片描述
二.MYSQL服务在共享磁盘中的应用
(一)ext4文件系统:
1.在serve1和server4端下载mysql-server
这里写图片描述
2.在server1中将LVM分区挂载在数据库的目录下
这里写图片描述
3.修改数据库目录的所属人和所属组(为了向这里边写入数据),并打开数据库服务,发现目录中有个文件mysql.sock
这里写图片描述
4.在luci图形管理界面中,移除之前的nginx服务,换成mysql服务;节点为server1和server4不改变;再添加一个资源—>文件系统,并将资源添加到服务中(详细过程参见上篇博客);fence设备不变。
点击Service Groups,删除原来的添加,重新配置,这次的添加顺序是IP Address —-> Filesystem —-> Script(因为服务开启的顺序就是先分配VIP,然后开启存储,然后再是服务)
这里写图片描述
服务启动脚本修改为mysql的脚本:
这里写图片描述
5.查看server1和server4的提供服务状态,并查看接管服务的节点是否含有服务特殊文件。
这里写图片描述
这里写图片描述
6.在luci界面将提供mysql服务的节点换成server4,在server1上卸载LVM分区查看server4中mysql数据库。(注意mysql服务要为开启状态,下图中还未开服务)
这里写图片描述
服务切换到了server4上,在server4中的数据库中出现特殊文件:
这里写图片描述

两个需要注意的点:

1、首先我们用的是ext4文件系统进行格式化,ext4是本地文件系统,所以存储的同步的文件显示需要另一台进行卸载再挂载的操作。
2.保证clvmd服务开启,要开启才可能同步,还需要软件lvm2-cluster的支持,这些在最开始选择Download(luci图形界面)都自动下载好了

ext4文件系统是本地文件系统,不能同时在多个地方挂载和进行写操作,容易造成数据的丢失和污染,为了解决这个问题,我们介绍一下共享文件系统gfs2.

(二)gfs2集群文件系统

gfs2(global file system2):集群文件系统,可以让多个节点同时使用同一个文件系统,当一个节点使用时会借助DLM机制通过lock_dlm进行加锁,并通知给其他节点持有的锁信息
GFS是RHCS为集群系统提供的一个存储解决方案,它允许集群多个节点在块级别上共享存储,每个节点通过共享一个存储空间,保证了访问数据的一致性,更切实的说,GFS是RHCS提供的一个集群文件系统,多个节点同时挂载一个文件系统分区,而文件系统数据不受破坏,这是单一的文件系统,例如EXT3、EXT2所不能做到的。

1.在server1上停掉mysql服务,发现在luci界面中mysql服务的状态已经变为disabled
这里写图片描述
这里写图片描述
2.在之前的本地文件系统中,我们向luci的资源中加入了本地文件系统ext4,现在将该资源移除:Services Groups—>remove—>submit
这里写图片描述
3.在server1中将lvm挂载到到mysql默认目录,并拉伸其大小为8G,在server中同步
这里写图片描述
这里写图片描述
4.在server1中对lvm做热拉伸,并用df -h查看拉伸的结果
这里写图片描述
这里写图片描述
5.修改lvm文件系统为集群g2fs文件系统

lvremove /dev/clustervg/demo   # 删除之前的lv
lvcreate -L 4G -n demo clustervg   # 重新建立lv
mkfs.gfs2 -j 3 -p lock_dlm -t jay_mysql:mygfs2 /dev/clustervg/demo
# 修改文件系统为gfs2格式,并做相应配置
# -j 3  为文件系统中日志的数量加1
# -p lock_dlm表示对共享存储进行操作时,加锁
# -t jay_mysql:mygfs2 表示集群名称以及起的文件系统名称
# /dev/clustervg/demo  表示共享的磁盘区域

这里写图片描述
6.在servere中修改mysql目录的所属组和所属主为mysql,方便向目录中写文件
这里写图片描述
7.在server中识别server1中的gfs2文件系统
这里写图片描述
8.在server1和server4中关闭mysqld,编写自动挂载文件/etc/fstabs并测试挂载情况

/etc/init.d/mysqld stop

这里写图片描述
这里写图片描述
9.在server1中启动高可用集群来管理mysql服务

clusvcadm -e mysql

这里写图片描述

clusvcadm -r mysql -m server4  # 将服务迁移到server4上

这里写图片描述
这里写图片描述
10.测试:在server1中mysql的目录下写东西,同步到server4的mysql目录下
这里写图片描述
server4中也出现passwd:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/jay_youth/article/details/81388709