RHCS套件实现MYSQL数据存储集群

关于RHCS的介绍以及一些基本操作与配置可参考上一篇博客:利用RHCS套件实现nginx高可用集群
上一篇博客中我们使用了RHCS套间中的高可用性集群,这篇博客我们就来看看RHCS套件中的存储集群吧,我们用RHCS+mysql来实现

实验环境

开启三台虚拟机
server1:172.25.66.1,下载ricci,luci,iscsi-,mysql,mysql-server
server2:172.25.66.2,下载scsi-

server4:172.25.66.4,下载ricci,iscsi-*,mysql-server
server1与server4之前做nginx高可用集群时已经配置好了,只需要再下载iscsi-*就可以了

实验操作

ext4文件系统

1:在server2上面新加一块硬盘,容量为8G
在这里插入图片描述
2:fdisk -l查看
在这里插入图片描述
3:在server2中下载scsi-*
yum install scsi-* -y
在这里插入图片描述
4:在server2中编辑/etc/tgt/targets.conf文件

 38 <target iqn.2008-09.com.example:server.target1>
 39         backing-store /dev/vdb
 40         initiator-address 172.25.66.1
 41         initiator-address 172.25.66.4
 42 </target>

在这里插入图片描述
/etc/init.d/tgtd start
在这里插入图片描述
5:用tgt-admin -s 查看
在这里插入图片描述
6:在server1和server4中下载iscsi-*
在这里插入图片描述
7:在server1和server4上面执行:**两个结点都要执行
iscsiadm -m discovery -t st -p 172.25.66.2 发现设备
iscsiadm -m node -l
在这里插入图片描述
8:此时,在server1和server4上面就可以看到发现的硬盘设备
用fdisk -l查看,就会在最后看到一个8G的硬盘sda
在这里插入图片描述
9:在server1上创建lvm:
pvcreate /dev/sda
vgcreate clustervg /dev/sda
lvcreate -L 4G -n demo clustervg
在这里插入图片描述
在server4上发现(同步):
在这里插入图片描述
10:在server1上格式化lvm:
mkfs.ext4 /dev/clustervg/demo
在这里插入图片描述
11:停用nginx高可用:
我们之前做过RHCS实现nginx的高可用,现在我们要将之前做的有关nginx的全部停用
进入网页luci界面Delete删除nginx:
在这里插入图片描述
之后到下面的界面删除nginx:
在这里插入图片描述
12:在server1中下载mysql mysql-server,在server4中下载mysql-server
下载好之后,在server1中将刚才创建的lvm挂载到/var/lib/mysql目录
cd /var/lib/mysql
mount /dev/clustervg/demo /var/lib/mysql
df
在这里插入图片描述
13:挂载之后/var/lib/mysql 目录的属主与属组都会变成root用户,我们需要将它改为mysql用户
在这里插入图片描述
14:在server1上开启mysqld:
/etc/init.d/mysqld start
在这里插入图片描述
15:进入/var/lib/mysql目录会看到以下内容,然后关闭mysqld并卸载lvm
在这里插入图片描述
16:在server4中挂载lvm,如图所示,在server1的mysqld服务关闭后,在server1的所有存储都会转移到server4
在这里插入图片描述
17:在server4中卸载lvm
18:在luci图形管理界面中,移除之前的nginx服务,换成mysql服务;节点为server1和server4不改变;再添加一个资源—>文件系统,并将资源添加到服务中(详细过程参见上篇博客);fence设备不变。
点击Service Groups,删除原来的添加,重新配置,这次的添加顺序是IP Address —-> Filesystem —-> Script(因为服务开启的顺序就是先分配VIP,然后开启存储,然后再是服务)
在这里插入图片描述
再次点击Add,选择script,因为我们在安装了mysql后,在/etc/init.d中就会有mysql的启动脚本,所以我们可以直接添加
在这里插入图片描述
在下面的界面中点击Add添加
在这里插入图片描述
做好上面这一步后,点击左下方的Add Resource添加之前添加号的资源,,添加顺序是IP Address —-> Filesystem —-> Script(因为服务开启的顺序就是先分配VIP,然后开启存储,然后再是服务)
在这里插入图片描述
添加完成后点击submit提交
mysql数据存储集群就做好了
在这里插入图片描述
19:在server1中使用clustat查看:
在这里插入图片描述
目前服务启用的节点为server1,我们用server1进入mysql查看数据库可以看到lost+found数据库
在这里插入图片描述
我们可以在网页luci界面将启用的节点换为server4
在这里插入图片描述
点击上图中红框所示,然后选择server4,最后点击右边蓝色圆圈就可以成功切换
在这里插入图片描述
20:现在我们可以在server4中进入数据库,看是否可以看到lost+found数据库
在这里插入图片描述
在这里插入图片描述

更改文件系统为集群gfs2文件系统

首先我们用的是ext4文件系统进行格式化,ext4是本地文件系统,所以存储的同步的文件显示需要另一台进行卸载再挂载的操作,我们现在将ext4文件系统改为gfs2文件系统
gfs2(global file system 2):集群文件系统,可以让多个节点同时使用同一个文件系统,当一个节点使用时会借助DLM机制通过lock_dlm进行加锁,并通知给其他节点持有的锁信息
GFS是RHCS为集群系统提供的一个存储解决方案,它允许集群多个节点在块级别上共享存储,每个节点通过共享一个存储空间,保证了访问数据的 一致性,更切实的说,GFS是RHCS提供的一个集群文件系统,多个节点同时挂载一个文件系统分区,而文件系统数据不受破坏,这是单一的文件系统,例如EXT3、 EXT2所不能做到的。
操作:
1:在server4中停用mysql高可用 ##因为现在mysql运行在server4上
clusvcadm -d mysql
在这里插入图片描述
2:进入到下图界面
在这里插入图片描述
在上图中往下拉找到filesystem,然后点击remove删除
remove后点击最下面的submit提交
然后进入下图界面:
在这里插入图片描述
删除(delete)红框中的内容
在这里插入图片描述
3:在server1中挂载lvm到/var/lib/mysql
在这里插入图片描述
拉伸lvm到8G
lvextend -L +4G /dev/clustervg/demo
lvextend -l +1023 /dev/clustervg/demo
在这里插入图片描述
4:在server4中用vgs查看,lvm也变为8G
在这里插入图片描述
5:在server1中对lvm做热拉伸
在这里插入图片描述
6:在server1中用df -h查看lvm大小,已经变为8G
在这里插入图片描述
7:在server1中执行:
umount /var/lib/mysql
lvremove /dev/clustervg/demo
在这里插入图片描述
server4中lvs查看
在这里插入图片描述
server4中也已经看不到之前的逻辑卷
8:在server1中再创建一个lv
lvcreate -L 4G -n demo clustervg
在这里插入图片描述
9:在server1中执行:(格式化)
mkfs.gfs2 -j 3 -p lock_dlm -t westos_ha:mygfs2 /dev/clustervg/demo

# -j 3  为文件系统中日志的数量加1
# -p lock_dlm表示对共享存储进行操作时,加锁
# -t gd_HA:mygfs2 表示集群名称以及起的文件系统名称,在luci界面中设置的集群名称
# /dev/clustervg/demo  表示共享的磁盘区域

在这里插入图片描述
10:在server1中,挂载lvm到/var/lib/mysql,并修改/var/lib/mysql目录的属主和属组为mysql用户,方便向此目录中写文件
在这里插入图片描述
11:在server1中打开mysqld:
/etc/init.d/mysqld start
在这里插入图片描述
12:在server4中识别server1中的gfs2文件系统
在这里插入图片描述
13:在server1和server4中关闭mysqld
/etc/init.d/mysqld stop
14:在server1中编写自动挂载文件/etc/fstabs并测试挂载情况
vim /etc/fstab 写入:
在这里插入图片描述
测试自动挂载:
在这里插入图片描述
15:在server4中编辑/etc/fstab,内容和上一步在server1中的一样
将上面的操作都做好后,在server1中启用mysql高可用集群
在这里插入图片描述
在这里插入图片描述
可以看到现在高可用集群主节点运行在server1上,我们可以用命令直接将高可用服务迁移到server4上:
在server1中
clusvcadm -r mysql -m server4
在这里插入图片描述
现在我们可以在server4中用clustat查看
在这里插入图片描述
可以看到,服务已经迁移到了server4上
16:测试
在server1中:
在这里插入图片描述
不用重新卸载挂载设备,我们直接在server4中查看:
在这里插入图片描述
可以看到,server4中已经直接同步了server1中的存储,这就是gfs2文件系统的好处!

猜你喜欢

转载自blog.csdn.net/gd0306/article/details/84500661