RHCS 高可用集群下的 iscsi 共享磁盘与mysql数据库部署
1 进行共享磁盘的建立
在共享磁盘所在节点安装iscsi 的服务端与客户端
[root@Server5 ~]# yum install scsi-* -y
# 服务端安安装
[root@Server5 ~]# yum install iscsi-* -y
# 客户端安装
安装成功
编辑配置文件
[root@Server5 ~]# vim /etc/tgt/targets.conf
......... 省略 .........
<target iqn.2018-08.com.example:server.target1> # 共享磁盘
backing-store /dev/vdb # 内存位置
initiator-address 172.25.21.2 # 共享到的地址
initiator-address 172.25.21.4 # 共享到的地址
</target>
编辑完成,启动服务
[root@Server5 ~]# /etc/init.d/tgtd start
执行tgt-admin 命令在服务端查看共享情况
[root@Server5 ~]# tgt-admin -s
省略中间不必要信息
Iscsi 服务端配置完成
2 共享节点配置
1 为各个节点进行 iscsi 客户端的安装
[root@server2 ~]# yum install -y iscsi-*
[root@server3 ~]# yum install -y iscsi-*
2 在客户端查看共享信息(两iscsi 共享节点均可看到)
Server2:
Server3:
3 客户端进行登陆
可通过 fdisk -l 查看到共享磁盘
另一共享节点也可以看到
4 对共享磁盘进行操作
1 创建为 逻辑卷进行使用(只在一节点创建即可,另一节点会自动同步)
逻辑卷创建成功,在另一节点进行查看
2 格式化逻辑卷为ext4类型
注:
Exf4 本地文件系统,写入不同步
3 在两个节点进行数据库的安装
4 将共享磁盘挂在到mysql 数据库的数据目录下
5 修改该目录所有者,让数据库用户可以进行操作
6 启动数据库
可看到其基本信息
在节点server2 卸载磁盘,在另一节点 server3 进行相同操作
在节点server3 挂在共享磁盘,启动数据库,进行查看
停止数据库,卸载共享磁盘
集群服务组的建立
准备工作完成,进行集群建立与应用
集群的具体创建请参见 红帽 rhcs 组件实现 nginx 高可用负载均衡
此处为集群添加资源,承接nginx 集群高可用,先删除 nginx 启动脚本,然后添加共享磁盘与mysql启动脚本
1 删除nginx 启动脚本
2添加新的集群资源
添加文件系统
添加数据库启动脚本
资源添加成功
3 资源添加后,创建服务组
添加服务组,并为服务组添加资源
添加VIP 虚拟IP
添加文件系统(共享磁盘)
添加数据库启动脚本
资源添加完成,提交
启动服务组
启动成功,在Server2 上运行
在节点服务器查看具体状态
在服务工作点查看服务状态
数据库自动启动
至此RHCS实现iscis 与数据库的集群服务创建成功
ext4 本地文件系统有一个明显的弊端,他只会记录一挂载点对其进行的操作,不会将数据直接同步到另一节点,这样明显是不可行的
此时就需要 gfs2 文件系统
3 集群文件系统GFS
- 集群文件系统GFS
GFS 是允许集群内所有节点可同时访问某个共享的块设备的集群文件系统。GFS 是一个原生(native)文件系统,它直接和 Linux 内核文件系统接口的 VFS 层进行通信。GFS 使用分布式元数据和多个日志来优化群集操作。要维护文件系统的完整性,GFS 使用一个锁管理器来协调 I/O。当节点修改了 GFS 文件系统上的数据,这个改动马上为使用这个文件系统的其他群集节点可见。同时,GFS使整个群集只需安装一次应用程序或补丁,并可使集群内多个节点的服务对数据可以并行读/写操作。
集群化文件系统 ,索取信息通过集群的心跳来同步
集群化文件系统,可以保证两挂载点之间对磁盘的写入完全同步,并以写入磁盘的最后时间为准,进行实时的存贮
以gfs2 文件系统为例
1 将上一个服务组关闭,删除其中的文件系统资源
关闭服务组
clusvcadm -d mysal
服务组,关闭后:
从服务组中移除文件系统资源
从全局资源中移除文件系统资源
移除逻辑卷并重新创建
[root@server3 ~]# lvremove /dev/cluster_vg/demo1
重新创建
[root@server3 ~]# lvcreate -L 4G -n demo1 cluster_vg
GFS 文件系统集群建立
格式化为gfs2文件格式
[root@server2 ~]# gfs2_tool sb /dev/cluster_vg/demo1 all
生成日志:
- 然后手动对该逻辑卷进行挂载,因为我们建立的集群是,主备模式高可用,若是将文件系统,也就是共享磁盘设置为服务组的资源,在启动服务组后,只会将共享磁盘挂载到,服务组工作的节点上,达不到我们想要的效果
因此直接编辑配置文件,进行开机自动挂载。
编辑/etc/fstab 进行开机自挂载
编辑内容如下:
服务组建立完成,启动服务组
查看服务状态:
进入数据库目录,对共享磁盘进行操作
删除指定文件后
Server2内的文件同样被删除
Gfs2类型共享磁盘与mysql 集群服务建立成功