设为首页 收藏本站
查看: 1389|回复: 0

[经验分享] MooseFS分布式文件系统简单配置

[复制链接]
发表于 2019-2-1 09:55:53 | 显示全部楼层 |阅读模式
  MooseFS是一种分布式文件系统,MooseFS文件系统结构包括以下四种角色:
      1、管理服务器managing server (master)
      2、元数据日志服务器(备份服务器)Metalogger server(Metalogger)
      3、数据存储服务器data servers (chunkservers)
      4、客户机挂载使用client computers
  1、管理服务器:负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷贝
  2、元数据日志服务器(备份服务器): 负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在master server出问题的时候接替其进行工作
  3、数据存储服务器:负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输.
  4、客户端: 通过fuse内核接口挂接远程管理服务器上所管理的数据存储服务器,.看起来共享的文件系统和本地unix文件系统使用一样的效果.
  

  源码包下载地址https://moosefs.com/download/sources.html
  或者根据https://moosefs.com/download/centosfedorarhel.html 选择系统根据说明逐步安装
  此处选择用源码编译安装
  

  安装过程:master红色字体步骤在每台服务器上都需要进行的过程,其他服务此过程省略
  管理服务器(master):
  解压安装包:
  [root@localhost ~]# tar zxvf moosefs-2.0.68-1.tar.gz -C /usr/src/

  [root@localhost ~]# cd /usr/src/moosefs-2.0.68
  部分选项配置:可以根据需要和功能选择具体配置
[root@localhost moosefs-2.0.68]# ./configure -h
       --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
       --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
       --with-default-user=USER  Choose default user to run daemons as
       --with-default-group=GROUP Choose default group to run daemons as
       --disable-mfsmaster     Do not build mfsmaster
       --disable-mfsmetalogger  Do not build mfsmetalogger
       --disable-mfssupervisor  Do not build mfssupervisor
       --disable-mfschunkser   Do not build mfschunkserver
       --disable-mfsmount     Do not build mfsmount
       --disable-mfscgi       Do not install CGI scripts
       --disable-mfscli       Do not install CLI script
       --disable-mfscgiserv    Do not install CGI server
       --disable-mfsnetdump    Do not build mfsnetdump  编译开始前需先安装下列软件
[root@localhost moosefs-2.0.68]# yum install -y gcc zlib-devel fuse-devel  创建服务所需的用户和组

[root@localhost moosefs-2.0.68]# groupadd mfs
[root@localhost moosefs-2.0.68]# useradd -g mfs mfs  编译安装:(此过程没有取消chuankserver等服务的安装,仅指定目录、用户、组、配置文件目录,在每台服务器上均可如此)
[root@localhost moosefs-2.0.68]# ./configure --prefix=/usr/local/moosefs --sysconfdir=/etc --localstatedir=/var/lib --with-default-user=mfs --with-default-group=mfs
[root@localhost moosefs-2.0.68]# make && make install  安装完成后会在/etc/mfs/目录下生成服务配置文件的样本,将样本拷贝成配置文件。(此处不同服务器的配置文件不同)
[root@localhost ~]# cd /etc/mfs/
[root@localhost mfs]# cp mfsmaster.cfg.dist mfsmaster.cfg
[root@localhost mfs]# cp mfsexports.cfg.dist mfsexports.cfg
mfsmaster.cfg 配置文件包含主控服务器 master 相关的设置(此处未做修改)
mfsexports.cfg 指定那些客户端主机可以远程挂接 MooseFS 文件系统以及客户端的访问权限  二进制文件 metadata 和文本文件 changelog 将被保存在目录/var/lib/mfs,这是因为我们安
装过程的 configure 步骤使用了选项 --localstatedir=/var/lib 。 首次安装 master 时,会自
动生成一个名为 metadata.mfs.empty 的元数据文件 metadata,该文件是空的。 MooseFS
master 运必须有文件 metadata.mfs,这个文件是从 metadata.mfs.empty 改名而来
[root@localhost mfs]# cd /var/lib/mfs/
[root@localhost mfs]# cp metadata.mfs.empty metadata.mfs  修改hosts文件,指定主服务器对应的IP(因在所有配置文件中指定master均为mfsmaster,若不想修改hosts文件,也可直接在配置文件中指定master为IP地址)

[root@localhost mfs]# vim /etc/hosts
192.168.1.1     mfsmaster  启动服务(服务启动metadata.mfs文件是必须的,有时当服务停止后metadata.mfs文件会自动转为metadata.mfs.back,再次启动服务时需复制metadata.mfs.bak为metadata.mfs)
[root@localhost ~]# /usr/local/moosefs/sbin/mfsmaster start
open files limit has been set to: 4096
working directory: /var/lib/mfs
lockfile created and locked
initializing mfsmaster modules ...
exports file has been loaded
mfstopology configuration file (/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    masteryumetaloggers通信的端口
master  chunkservers module: listen on *:9420   master与chunkserver通信的端口
main master server module: listen on *:9421        master监听的端口
mfsmaster daemon initialized properly  运行CGI监控服务监控 MooseFS 当前运行状态
[root@localhost ~]# /usr/local/moosefs/sbin/mfscgiserv
lockfile created and locked
starting simple cgi server (host: any , port: 9425 , rootpath: /usr/local/moosefs/share/mfscgi)  在浏览器地址栏输入 http://192.168.1.1:9425 即可查看 master 的运行情况
  

  备份服务器:
  用来安装 metalogger 的主机,在性能上应该比 master 强大(至少有更多的内存)。一旦主控
服务器 master 失效, 只要导入 changelogs 到元数据文件,备份服务器 metalogger 将能接替发生
故障的 master,行使管理服务器的职能
  安装过程与master步骤相同,仅配置文件不同,启动服务
[root@localhost mfs]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
[root@localhost ~]# /usr/local/moosefs/sbin/mfsmetalogger start
open files limit has been set to: 4096
working directory: /var/lib/mfs
lockfile created and locked
initializing mfsmetalogger modules ...
mfsmetalogger daemon initialized proper  

  数据存储服务器:
    安装过程与master相同,仅配置文件不同
[root@localhost mfs]# cp mfschunkserver.cfg.dist mfschunkserver.cfg
[root@localhost mfs]# cp mfshdd.cfg.dist mfshdd.cfg  创建存储块挂载目录

[root@localhost ~]# mkdir /mnt/mfschunk1
[root@localhost ~]# mkdir /mnt/mfschunk2
[root@localhost ~]# chown mfs.mfs /mnt/mfschunk1
[root@localhost ~]# chown mfs.mfs /mnt/mfschunk2  修改配置文件,将数据存储目录写到配置文件中

[root@localhost mfs]# vim mfshdd.cfg
/mnt/mfschunk1
/mnt/mfschunk2  启动服务
[root@localhost ~]# /usr/local/moosefs/sbin/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 8
setting glibc malloc arena test to 1
initializing mfschunkserver modules ...
hdd space manager: data folders '/mnt/mfschunk2/' and '/mnt/mfschunk1/' are on the same physical device (could lead to unexpected behaviours)
hdd space manager: path to scan: /mnt/mfschunk2/
hdd space manager: path to scan: /mnt/mfschunk1/
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  通过浏览器访问 http://192.168.1.1:9425/ 可以看见这个 MooseFS 系统的全部信息,

  包括主控 master 和存储服务 chunkserver 。

  

  客户端:
    为了挂接基于 MooseFS 分布式文件,客户端主机必须安装 FUSE 软件包(fuse 版本号至少2.6,推荐使用版本号大于 2.7.2 的 fuse)
  安装过程与master相同。(中间出现一个问题,在/usr/local/moosefs/bin目录下没有mfsmount命令,安装前查看过fuse软件包安装了,经查知道fuse-devel软件包未安装,编译过程中有error,但是编译能通过,安装fuse-devel后解决。)
[root@localhost moosefs-2.0.68]# yum install -y fuse-devel
[root@localhost ~]# mkdir /mnt/mfs
/usr/bin/mfsmount /mnt/mfs -H mfsmaster
[root@localhost moosefs-2.0.68]# /usr/local/moosefs/bin/mfsmount /mnt/mfs -H mfsmaster
mfsmaster accepted connection with parameters: read-write,restricted_ip ; root mapped to root:root  执行命令 df –h | grep mfs 检查分区情况,可能的输出如下:

root@localhost moosefs-2.0.68]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   18G  3.3G   14G  20% /
tmpfs                         495M  224K  495M   1% /dev/shm
/dev/sda1                     485M   35M  426M   8% /boot
mfsmaster:9421                 33G  7.2G   26G  22% /mnt/mfs  挂载成功  至此,mooseFS已经能使用
  遇到的问题:
  1、服务停止直接用的kill,再次启动服务时,提示需要metadata.mfs 文件,拷贝metadata.mfs.empty文件为metadata.mfs,再次启动服务,服务启动成功,但是挂载之后文件不能正常读写。后发现将metadata.mfs.back拷贝为metadata.mfs文件即能正常使用。因解决问题是重新安装的服务,不知是否还有其他问题。
  2、用Centos系统安装master和chunkserver服务,用Centos系统mfsmount正常亦能正常使用,但用ubuntu系统mfsmount,能挂载上但不能使用存储(不能正常读写),后改用ubuntu系统重新搭建,挂载读写正常。不知mooseFS不同系统之间是否不能使用?




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-670317-1-1.html 上篇帖子: 分布式文件系统MooseFs部署(一) 下篇帖子: Moosefs分布式文件系统的搭建与维护
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


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


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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