一、须知
刚才写了一篇drbd+MFS+pacemaker+rocosync实现高可用集群架构
博文链接:点击打开链接
该博文是基于centos7.3版本,设计的drbd+MFS+pacemaker+rocosync实现高可用集群架构,使用moosefs-3.0.96,及便捷的crm2.3.2版本工具实现交互式操作,解决单点问题,实现高效率,高可用的集群。
所以在本文,为那篇博文添加配置细节
二、注意事项
1、安装drbd出现的问题。
注意事项:在安装drbd时,若不能一次性安装完成drbd+MFS+pacemaker+rocosync这四个服务,
就先不要设置drbd服务开机自启动,不然会出现开机进入不了系统。
(1)在配置drbd的配置文件,注意不要出现中文字符,出现报错情况。
安装完成drbd后出现问题
[root@node4 ~]# drbdadm create-md mfs
modinfo: ERROR: Module drbd not found.
drbd.d/global_common.conf:67: Parse error: 'a syncer option keyword' expected,
but got 'rate'
这个报错并不是配置文件出错,问题在kernel
只需要在两台配置drbd的node(node4、node5)上,安装kernel-devel
yum install -y kernel-devel
(2)drbd的两个节点无法进行数据同步
[root@node4 log]# cat /proc/drbd
version: 8.4.10-1 (api:1/proto:86-101)
GIT-hash: a4d5de01fffd7e4cde48a080e2c686f9e8cebf4c build by mockbuild@, 2017-09-15 14:23:22
1: cs:WFConnection ro:Primary/Unknown ds:UpToDate/DUnknown C r----s
ns:0 nr:0 dw:0 dr:912 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:5241660
[root@node5 ~]# cat /proc/drbd
version: 8.4.10-1 (api:1/proto:86-101)
GIT-hash: a4d5de01fffd7e4cde48a080e2c686f9e8cebf4c build by mockbuild@, 2017-09-15 14:23:22
1: cs:WFConnection ro:Secondary/Unknown ds:UpToDate/DUnknown C r----s
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:5241660
解决方法:
优雅点就只需在两台节点防火墙开放7789端口
我还是喜欢暴力点直接关闭防火墙
2、安装mfsmaster出现的问题。
注意事项:各个mfs的服务器的角色不一样,要注意编译安装也不一样。
(1)在安装完drbd后,确定/dev/drbd1能正常挂载后再,进行安装mfs。
因为只需要将/dev/drbd1挂载在一台master即可,实现容灾,及时切换。
注意:我在里指的是实现mfsmaster的高可用架构,架构如下图:
(2)mfs用户
所有主机上的mfs,用户id和组id要一样,非常重要!!!
所有主机上的mfs,用户id和组id要一样,非常重要!!!
(3)client挂载问题(最为尴尬的问题)
[root@node1 moosefs-3.0.96]# /usr/local/mfs/bin/mfsmount /mfsdata -H 192.168.40.200 -p
MFS Password:
mfsmaster accepted connection with parameters: read-write,restricted_ip,map_all ; root mapped to mfs:mfs ; users mapped to mfs:mfs
发现好像能挂载。
但使用df -h却没有找到挂载目录。
[root@node1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/cl-root 17G 2.2G 15G 13% /
devtmpfs 478M 0 478M 0% /dev
tmpfs 489M 0 489M 0% /dev/shm
tmpfs 489M 6.6M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 1014M 139M 876M 14% /boot
tmpfs 98M 0 98M 0% /run/user/0
使用mount -l却能找到挂载信息。
mount -l
192.168.40.200:9421 on /mfsdata type fuse.mfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
然而在/mfsdata下是创建不了文件,也就是无法写入数据。
查看了日志才知道,是mfschunkserver无法连接。
解决方法:
将mfschunkserver重新编译一遍。
3、安装pacemaker和corosync
注意事项:
(1)一定要将pscd、pacemaker和corosync设为开机自启动。
(2)设置资源的时候。要注意各项资源的启动顺序。
顺序如下:
启动drbd==》挂载文件系统(Filesytem)==》启动mfsmaster==》启动VIP