设为首页 收藏本站

运维网

查看: 690|回复: 1

[经验分享] moosefs搭建与应用

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-12-7 15:00:44 | 显示全部楼层 |阅读模式
MooseFS简介:
     MooseFS是一个具备冗余容错功能的分布式网络文件系统,它将数据分别存放在多个物理服务器单独磁盘或分区上,确保一份数据有多个备份副本。因此MooseFS是一中很好的分布式存储。接下来我们通过搭建moosefs,并了解的使用。
环境主机-centos7:搭建moosefs需要五台主机
node1  172.25.0.29  mfsmaster   
node2  172.25.0.30  Metalogger
node3  172.25.0.31  check servers
node4  172.25.0.32  check servers
node5  172.25.0.33  挂载客户端
一、mfsmaster的安装:
node1上
1、下载3.0包
1
2
[iyunv@node1 src]#yum install zlib-devel -y##下载环境包
[iyunv@node1 src]# wget https://github.com/moosefs/moosefs/archive/v3.0.96.tar.gz



2、安装master:
1
2
3
4
5
6
7
[iyunv@node1 moosefs-3.0.96]# useradd mfs
[iyunv@node1 src]# tar -xf v3.0.96.tar.gz
[iyunv@node1 src]# cd moosefs-3.0.96/
[iyunv@node1 moosefs-3.0.96]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount
[iyunv@node1 src]#make && make install
[iyunv@node1 moosefs-3.0.96]# ls /usr/local/mfs/
bin  etc  sbin  share  var



注:etc和var目录里面存放的是配置文件和MFS的数据结构信息,因此请及时做好备份,防止灾难损毁。后面做了 Master Server双机之后,就可以解决这个问题。
3、配置master
1
2
3
4
[iyunv@node1 mfs]# pwd
/usr/local/mfs/etc/mfs
[iyunv@node1 mfs]# ls
mfsexports.cfg.sample  mfsmaster.cfg.sample  mfsmetalogger.cfg.sample  mfstopology.cfg.sample



##要把需要的重命名成.cfg文件:
1
2
[iyunv@node1 mfs]# cp mfsexports.cfg.sample mfsexports.cfg
[iyunv@node1 mfs]# cp mfsmaster.cfg.sample  mfsmaster.cfg



4、修改控制文件:
1
2
3
[iyunv@node1 mfs]#vim mfsexports.cfg
*            /         rw,alldirs,mapall=mfs:mfs,password=xiaoluo
*            .          rw



注:##mfsexports.cfg 文件中,每一个条目就是一个配置规则,而每一个条目又分为三个部分,其中第一部分是mfs客户端的ip地址或地址范围,第二部分是被挂载的目录,第三个部分用来设置mfs客户端可以拥有的访问权限。
5、开启元数据文件默认是empty文件
1
[iyunv@node1 mfs]#cp /usr/local/mfs/var/mfs/metadata.mfs.empty /usr/local/mfs/var/mfs/metadata.mfs



6、启动master:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[iyunv@node1 mfs]# /usr/local/mfs/sbin/mfsmaster start
open files limit has been set to: 16384
working directory: /usr/local/mfs/var/mfs
lockfile created and locked
initializing mfsmaster modules ...
exports file has been loaded
mfstopology configuration file (/usr/local/mfs/etc/mfstopology.cfg) not found - using defaults
loading metadata ...
metadata file has been loaded
no charts data file - initializing empty charts
master <-> metaloggers module: listen on *:9419
master <-> chunkservers module: listen on *:9420
main master server module: listen on *:9421
mfsmaster daemon initialized properly



7、检查进程是否启动:
1
2
3
[iyunv@node1 mfs]# ps -ef | grep mfs
mfs        8109      1  5 18:40 ?        00:00:02 /usr/local/mfs/sbin/mfsmaster start
root       8123   1307  0 18:41 pts/0    00:00:00 grep --color=auto mfs



8、查看端口:
1
2
3
4
5
6
[iyunv@node1 mfs]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   
tcp        0      0 0.0.0.0:9419            0.0.0.0:*               LISTEN      8109/mfsmaster      
tcp        0      0 0.0.0.0:9420            0.0.0.0:*               LISTEN      8109/mfsmaster      
tcp        0      0 0.0.0.0:9421            0.0.0.0:*               LISTEN      8109/mfsmaster




二、安装Metalogger Server:
前面已经介绍了,Metalogger Server 是 Master Server 的备份服务器。因此,Metalogger Server 的安装步骤和 Master Server 的安装步骤相同。并且,最好使用和 Master Server 配置一样的服务器来做 Metalogger Server。这样,一旦主服务器master宕机失效,我们只要导入备份信息changelogs到元数据文件,备份服务器可直接接替故障的master继续提供服务。
1、从master把包copy过来:
1
2
[iyunv@node1 mfs]# scp /usr/local/src/v3.0.96.tar.gz node2:/usr/local/src/
v3.0.96.tar.gz



1
2
3
4
5
[iyunv@node2 moosefs-3.0.96]# tar zxvf v3.0.96.tar.gz
[iyunv@node2 moosefs-3.0.96]# useradd mfs
[iyunv@node2 moosefs-3.0.96]# yum install zlib-devel -y
[iyunv@node2 moosefs-3.0.96]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs  --disable-mfschunkserver --disable-mfsmount
[iyunv@node2 moosefs-3.0.96]# make && make install



2、配置Metalogger Server:
1
2
3
4
5
6
[iyunv@node2 moosefs-3.0.96]# cd /usr/local/mfs/etc/mfs/
[iyunv@node2 mfs]# ls
mfsexports.cfg.sample  mfsmaster.cfg.sample  mfsmetalogger.cfg.sample  mfstopology.cfg.sample
[iyunv@node2 mfs]#cp mfsmetalogger.cfg.sample mfsmetalogger.cfg
[iyunv@node2 mfs]#vim mfsmetalogger.cfg
MASTER_HOST = 172.25.0.29



3、启动Metalogger Server:
1
2
3
4
5
6
[iyunv@node2 mfs]#/usr/local/mfs/sbin/mfsmetalogger start
open files limit has been set to: 4096
working directory: /usr/local/mfs/var/mfs
lockfile created and locked
initializing mfsmetalogger modules ...
mfsmetalogger daemon initialized properly



1
2
[iyunv@node2 mfs]# netstat -lantp|grep metalogger  
tcp        0      0 172.25.0.30:45620   172.25.0.29:9419    ESTABLISHED 1751/mfsmetalogger



4、查看一下生成的日志文件:
1
2
[iyunv@node2 mfs]# ls /usr/local/mfs/var/mfs/
changelog_ml_back.0.mfs  changelog_ml_back.1.mfs  metadata.mfs.empty  metadata_ml.mfs.back



三、安装check servers:
在node3和node4上操作,我这里在node3上演示:
1、从master把包copy过来:
1
2
[iyunv@node1 mfs]# scp /usr/local/src/v3.0.96.tar.gz node3:/usr/local/src/
v3.0.96.tar.gz



1
2
3
4
5
6
[iyunv@node3 ~]# useradd mfs
[iyunv@node3 ~]# yum install zlib-devel -y
[iyunv@node3 ~]# cd /usr/local/src/
[iyunv@node3 src]# tar zxvf v3.0.96.tar.gz
[iyunv@node3 moosefs-3.0.96]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs  --disable-mfsmaster --disable-mfsmount   
[iyunv@node3 moosefs-3.0.96]# make && make install



2、配置check server:
1
2
3
4
5
[iyunv@node3 moosefs-3.0.96]# cd /usr/local/mfs/etc/mfs/
You have new mail in /var/spool/mail/root
[iyunv@node3 mfs]# cp mfschunkserver.cfg.sample mfschunkserver.cfg
[iyunv@node3 mfs]# vim mfschunkserver.cfg
MASTER_HOST = 172.25.0.29



3、配置mfshdd.cfg主配置文件
   mfshdd.cfg该文件用来设置你将 Chunk Server 的哪个目录共享出去给 Master Server进行管理。当然,虽然这里填写的是共享的目录,但是这个目录后面最好是一个单独的分区。
1
2
3
4
[iyunv@node3 mfs]# cp /usr/local/mfs/etc/mfs/mfshdd.cfg.sample /usr/local/mfs/etc/mfs/mfshdd.cfg
You have new mail in /var/spool/mail/root
[iyunv@node3 mfs]# vim /usr/local/mfs/etc/mfs/mfshdd.cfg
/mfsdata



4、启动check Server:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[iyunv@node3 mfs]# mkdir /mfsdata            
[iyunv@node3 mfs]# chown mfs:mfs /mfsdata/
You have new mail in /var/spool/mail/root
[iyunv@node3 mfs]# /usr/local/mfs/sbin/mfschunkserver start
open files limit has been set to: 16384
working directory: /usr/local/mfs/var/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: path to scan: /mfsdata/
hdd space manager: start background hdd scanning (searching for available chunks)
main server module: listen on *:9422
no charts data file - initializing empty charts
mfschunkserver daemon initialized properly



###检查监听端口:
1
2
[iyunv@node3 mfs]# netstat -lantp|grep 9420
tcp        0      0 172.25.0.31:45904   172.25.0.29:9420    ESTABLISHED 9896/mfschunkserver




四、客户端挂载文件安装:
node5上
1、安装FUSE:
1
2
3
4
5
[iyunv@node5 mfs]# lsmod|grep fuse
[iyunv@node5 mfs]# yum install fuse fuse-devel  -y
[iyunv@node5 ~]# modprobe fuse
[iyunv@node5 ~]# lsmod |grep fuse
fuse                   91874  0



2、安装挂载客户端
1
2
3
4
5
6
[iyunv@node5 ~]# yum install zlib-devel -y
[iyunv@node5 ~]# useradd mfs
[iyunv@node5 src]# tar -zxvf v3.0.96.tar.gz
[iyunv@node5 src]# cd moosefs-3.0.96/
[iyunv@node5 moosefs-3.0.96]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfschunkserver --enable-mfsmount
[iyunv@node5 moosefs-3.0.96]# make && make install




3、在客户端上挂载文件系统,先创建挂载目录:
1
2
3
4
5
[iyunv@node5 moosefs-3.0.96]# mkdir /mfsdata
[iyunv@node5 moosefs-3.0.96]# chown -R mfs:mfs /mfsdata/
[iyunv@node5 moosefs-3.0.96]# /usr/local/mfs/bin/mfsmount /mfsdata -H 172.25.0.29 -p            
MFS Password:
mfsmaster accepted connection with parameters: read-write,restricted_ip,map_all ; root mapped to mfs:mfs ; users mapped to mfs:mfs



1
2
3
4
5
6
7
8
9
10
[iyunv@node5 ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/cl-root   18G  1.9G   17G  11% /
devtmpfs             226M     0  226M   0% /dev
tmpfs                237M     0  237M   0% /dev/shm
tmpfs                237M  4.6M  232M   2% /run
tmpfs                237M     0  237M   0% /sys/fs/cgroup
/dev/sda1           1014M  139M  876M  14% /boot
tmpfs                 48M     0   48M   0% /run/user/0
172.25.0.29:9421     36G  4.2G   32G  12% /mfsdata



4、我们写入本地文件测试一下:
1
2
3
4
5
[iyunv@node5 moosefs-3.0.96]# cd /mfsdata/
[iyunv@node5 mfsdata]# touch xiaozhang.txt
[iyunv@node5 mfsdata]# echo "test" > xiaozhang.txt
[iyunv@node5 mfsdata]#cat  xiaozhang.txt
test



发现可以写入成功。也证明我们的mfs已经搭建完成的。
总结:现在我们我可以发现,mfs的master只有一台,很明显得单点缺陷,因此为了解决这个问题,我也查阅了很多资料,终于解决了这个单点的问题









运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须注明原文的出处
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、运维网 - 服务您的运维操作管理专家!
6、联系人Email:admin@yunvn.com 网址:www.iyunv.com

点击关注更多内容
累计签到:41 天
连续签到:2 天
发表于 2017-12-10 14:11:26 | 显示全部楼层
不错很详细

运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须注明原文的出处
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、运维网 - 服务您的运维操作管理专家!
6、联系人Email:admin@yunvn.com 网址:www.iyunv.com

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则  允许回帖邮件提醒楼主

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服 E-mail:kefu@yunvn.com

本站由青云提供云计算服务

运维网--中国最专业的运维工程师交流社区

京ICP备14039699号-1 Copyright © 2012-2018

使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

Good good study day day up !


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


独家合作伙伴: 青云cloud

快速回复 返回顶部 返回列表