centos7系统,准备安装mfs3.0,部署环境服务器有:
192.168.1.1(mfsmaster)
192.168.1.2(mfsmetalogger)
192.168.1.3(mfschunkserver)
192.168.1.4(mfschunkserver)
192.168.1.5(需要挂载mfs的普通服务器)
(其实讲道理如果集群少的话,你就算把所有的东西部署到一个节点上也是可以的)
1.首先配置hosts文件:vim /etc/hosts,配置如下:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.1 mfsmaster
192.168.1.2 mfsmetalogger
192.168.1.3 mfschunk01
192.168.1.4 mfschunk02
(只需要对mfsmaster,mfsmetalogger,mfschunkserver节点的hosts文件进行修改,不过建议还是把你需要的所有节点的hosts文件都改了吧)
2.关闭防火墙:对所有的节点都进行同样的操作:systemctl stop firewalld.service(关闭防火墙)
3.对所有的节点添加yum源:
首先进入192.168.1.1,然后输入以下两条命令:
curl "http://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS
curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo
然后依次在192.168.1.2--192.168.1.5中输入同样的命令,这样你yum install moosefs相关包的时候才能找到对应的包
4.部署mfsmaster
进去192.168.1.1,输入以下命令:
yum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli
然后修改/etc/mfs和/var/lib/mfs文件夹的权限:
chown -R mfs:mfs /etc/mfs
chown -R /var/lib/mfs
直接用默认的配置文件就可以(/etc/mfs/下就是配置文件),不需要做任何修改,直接输入命令:mfsmaster start启动mfsmaster,然后输入命令:service moosefs-cgiserv start,启动mfs的监控web界面,然后你从浏览器输入192.168.1.1:9425/mfs.cgi就可以看到mfs的监控界面了
5.部署mfsmetalogger
输入命令:yum install moosefs-metalogger,
然后修改/etc/mfs和/var/lib/mfs文件夹的权限:
chown -R mfs:mfs /etc/mfs
chown -R /var/lib/mfs
然后直接输入命令mfsmetalogger start启动
6.部署mfschunkserver
输入命令:yum install moosefs-chunkserver
然后修改/etc/mfs和/var/lib/mfs文件夹的权限:
chown -R mfs:mfs /etc/mfs
chown -R /var/lib/mfs
然后进入/etc/mfs文件夹,vim mfshdd.cfg,在文件的最后输入配置:
/data/volume_sdb/mfs_space 3.2TiB
/data/volume_sdc/mfs_space 3.2TiB
/data/volume_sdd/mfs_space 3.2TiB
/data/volume_sde/mfs_space 3.2TiB
/data/volume_sdf/mfs_space 3.2TiB
我来解释一下,/data/volume_sdb/是我在192.168.1.3服务器上想要挂载到mfs上的一个挂载目录,然后我在其下建了一个mfs_space文件夹,用来存mfs相关文件,空格后的3.2TiB是我想用来放mfs文件的磁盘大小(我的服务器有5个硬盘,分别挂载到了/data/volume_sdb,c,d,e,f五个目录下,每一个都是3.4T的空间,然后我拿其中的3.2T作为mfs的存储)。保存mfshdd.cfg配置文件。然后修改/data/volume_sd*/mfs_space文件夹的权限:
chown -R mfs:mfs /data/volume_sdb/mfs_space
chown -R mfs:mfs /data/volume_sdc/mfs_space
chown -R mfs:mfs /data/volume_sdd/mfs_space
chown -R mfs:mfs /data/volume_sde/mfs_space
chown -R mfs:mfs /data/volume_sdf/mfs_space
然后输入命令mfschunkserver start启动。
对另一台chunkserver节点进行同样的操作。
7.挂载
比如说你想把mfs文件系统挂载到/mnt/testmfs文件夹下,那么首先进入192.168.1.1服务器,创建文件夹:
mkdir -p /mnt/testmfs
然后输入命令yum install mfsclient
然后输入挂载命令mfsmount -H 192.168.1.1 /mnt/testmfs/ (192.168.1.1是mfsmaster节点的IP)
输入df -h可以看到有一行显示192.168.1.1:9421 32T 0 32T 0% /mnt/mfs说明成功了。
然后对192.168.1.2--1.5所有服务器进行相同操作(别忘了输入mfsmount命令之前先修改/etc/mfs和/var/lib/mfs文件夹的用户组为mfs),大功告成。
遇到的问题:我遇到的问题是启动第二个chunkserver节点时报错:
[root@localhost mfs_space]# mfschunkserver start
open files limit has been set to: 16384
working directory: /var/lib/mfs
lockfile created and locked
setting glibc malloc arena max to 4
setting glibc malloc arena test to 4
initializing mfschunkserver modules ...
hdd space manager: wrong meta id (mfs instance id) in file '/data/volume_sdc/mfs_space/.metaid' (0x5***********,expected:0x5***********) - likely this is drive from different mfs instance (drive ignored, remove this file to skip this test)
hdd space manager: wrong meta id (mfs instance id) in file '/data/volume_sdd/mfs_space/.metaid' (0x5***********,expected:0***********) - likely this is drive from different mfs instance (drive ignored, remove this file to skip this test)
hdd space manager: wrong meta id (mfs instance id) in file '/data/volume_sde/mfs_space/.metaid' (0x***********,expected:0x5***********) - likely this is drive from different mfs instance (drive ignored, remove this file to skip this test)
init: hdd space manager failed !!!
error occurred during initialization - exiting
解决办法是进入/data/volume_sdb,c,d,e,f/mfs_space文件夹,输入ls -a可以看到.metaid隐藏文件,然后把这个文件删除了重新启动就OK了