RHCS实现高可用中的共享存储iscisi(mysql为例)

1、实验环境

server2 172.25.66.2(配置Nginx、ricci、luci)
server3 172.25.66.3(Apache)
server4 172.25.66.4 (Apache)
server5 172.25.66.5(配置Nginx、ricci)

二、共享存储iscsi

1、在server3上添加一块磁盘作为共享磁盘

在这里插入图片描述

2、在server2和server5上安装iscsi,并在server3中安装scsi服务端(共享磁盘所在处)

[root@server2 ~]# yum install -y iscsi-*
[root@server5 ~]# yum install -y iscsi-*
[root@server3 ~]# yum instal  -y scsi-*

在这里插入图片描述
在这里插入图片描述

3、在server3上编辑iscsi配置文件,允许server2和server5发现并登录共享文件

[root@server3 ~]# vim /etc/tgt/targets.conf
 41 <target iqn.2018-10.com.example:server.target1>
 42         backing-store /dev/vdc
 43         initiator-address 172.25.66.2
 44         initiator-address 172.25.66.5
 45 </target>
 [root@server3 ~]# /etc/init.d/tgtd start

在这里插入图片描述

4、在server2和server5客户端发现server3上的共享设备并登录

[root@server2 ~]# iscsiadm -m discovery -t st -p 172.25.66.3
[root@server2 ~]# iscsiadm -m node -l
[root@server2 ~]# cd /var/lib/iscsi/nodes/
[root@server2 nodes]# ls
iqn.2018-10.com.example:server.target1
[root@server5 ~]# iscsiadm -m discovery -t st -p 172.25.66.3
[root@server5 ~]# iscsiadm -m node -l

在这里插入图片描述

5、在server2客户端制作LVM分区,在server4中同步

[root@server2 nodes]# pvcreate /dev/sda 
[root@server2 nodes]# vgcreate cluster_vg /dev/sda
[root@server2 nodes]# lvcreate -L +4G -n demo cluster_vg
[root@server2 nodes]# mkfs.ext4 /dev/cluster_vg/demo	#格式化为ext4文件系统 

在这里插入图片描述
在这里插入图片描述

6、创建数据库

[root@server2 ~]# yum install mysql-server -y
[root@server1 ~]# chown mysql.mysql /var/lib/mysql/
[root@server5 ~]# yum install mysql-server -y

三、集群设置

1、将server3和server4上的httpd服务关闭

2、点击Resources,选择filesystem,添加相应的信息,点击submit

添加storage
在这里插入图片描述
添加脚本:
在这里插入图片描述

3、点击Service Groups,配置:IP Address —-> Filesystem —-> Script(因为服务开启的顺序就是先分配VIP,然后开启存储,然后再是服务),点击submit

在这里插入图片描述
依次添加三个资源:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、查看集群结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、设置共享磁盘为gfs2格式

1、gfs2文件系统

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

2、配置gfs2文件系统

  • 在server2中对lvm作热拉伸,
[root@server5 ~]# lvextend -L +1020 /dev/cluster_vg/demo 
[root@server5 ~]# resize2fs /dev/cluster_vg/demo 

在这里插入图片描述
在这里插入图片描述

  • 修改lvm文件系统为集群g2fs文件系统
[root@server2 ~]# clusvcadm -d sql
[root@server2 ~]# mkfs.gfs2 -p lock_dlm -t westos_JY:mygfs2 -j 3 /dev/cluster_vg/demo 	#-j 3 为文件系统中日志的数量加1;-p lock_dlm表示对共享存储进行操作时加锁;-t westos_JY:mygfs2 表示集群名称以及起的文件系统的名称;/dev/cluster_vg/demo 表示共享的磁盘区域

在这里插入图片描述

  • 在server2上停掉mysql服务
[root@server2 ~]# clusvcadm -d sql

在这里插入图片描述

  • 挂载,修改mysql目录的所有人和所有组,方便向目录中写文件
[root@server2 ~]# mount /dev/cluster_vg/demo /var/lib/mysql/
[root@server2 ~]# chown mysql.mysql /var/lib/mysql/
  • 识别server2中的gfs2文件
[root@server2 ~]# gfs2_tool sb /dev/cluster_vg/demo all

在这里插入图片描述

  • 在server2和server5中设置开机自动挂载
[root@server2 ~]# vim /etc/fstab 
[root@server5 ~]# vim /etc/fstab 

在这里插入图片描述
这里写入的UUID是用blkid命令查看出来的
在这里插入图片描述

  • 测试:在server5中mysql目录下写东西,可以同步到server2的mysql目录下
[root@server5 ~]# cd /var/lib/mysql/
[root@server5 mysql]# cp /etc/passwd .
[root@server5 mysql]# ls
ibdata1  ib_logfile0  ib_logfile1  mysql  passwd  test

在这里插入图片描述
在实验中应该注意的是
(1)在ext4文件系统中,ext4是本地文件系统,所以存储的同步的文件显示需要另一台进行卸载再挂载的操作。
(2) 保证clvmd服务开启,要开启才可能同步,还需要软件lvm2-cluster的支持,这些在最开始选择Download(luci图形界面)都自动下载好了
(3)ext4文件系统是本地文件系统,不能同时在多个地方挂载和进行写操作,容易造成数据的丢失和污染,为了解决这个问题,提出了共享文件系统gfs2

我在实验中遇到的一个问题:在这里插入图片描述
解决方法:原因是:在修改vim /etc/tgt/targets.conf时,把initiator-address没有写对,写对是这个的在这里插入图片描述

五、RHCS的完整移除

[root@server5 mysql]# vim /etc/fstab 	#删除之前添加的UUID行
[root@server5 ~]# umount /var/lib/mysql/	#卸载
[root@server5 ~]# iscsiadm -m node -u	#登出
[root@server5 ~]# iscsiadm -m node -o delete	#删除node
[root@server5 ~]# /etc/init.d/iscsi restart
[root@server5 ~]# chkconfig modclusterd off
[root@server5 ~]# chkconfig --list modclusterd
modclusterd    	0:off	1:off	2:off	3:off	4:off	5:off	6:off
[root@server5 ~]# /etc/init.d/ricci stop
[root@server5 ~]# chkconfig ricci off
[root@server2 ~]# vim /etc/fstab 	#删除开机自启动
[root@server2 ~]# umount /var/lib/mysql/	#卸载
[root@server2 ~]# lvremove /dev/cluster_vg/demo #将lvm删除
[root@server2 ~]# vgremove cluster_vg#将lvm删除
[root@server2 ~]# pvremove /dev/sda #将lvm删除
[root@server2 ~]# iscsiadm -m node -u
[root@server2 ~]# chkconfig modclusterd off
[root@server2 ~]# chkconfig --list cman
cman           	0:off	1:off	2:off	3:off	4:off	5:off	6:off
[root@server2 ~]# chkconfig --list rgmanager
rgmanager      	0:off	1:off	2:off	3:off	4:off	5:off	6:off
[root@server2 ~]# chkconfig --list modclusterd
modclusterd    	0:off	1:off	2:off	3:off	4:off	5:off	6:off
[root@server2 ~]# lvmconf --disable-cluster
[root@server2 ~]# chkconfig --list clvmd
clvmd          	0:off	1:off	2:off	3:off	4:off	5:off	6:off
[root@server2 ~]# chkconfig ricci off	#将ricci设置为开机不自启
[root@server2 ~]# chkconfig luci off	#将luci设置为开机不自启
[root@server2 ~]# /etc/init.d/ricci stop
[root@server2 ~]# /etc/init.d/luci stop
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值