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

[经验分享] MFS分布式文件系统架设笔记

[复制链接]

尚未签到

发表于 2019-2-1 10:01:45 | 显示全部楼层 |阅读模式
  ChinaUnix网友:zhengwei_zw
  什么是MFS文件系统?
  Moose File System 是一个具备容错功能的网络分布式文件系统,它将数据分布在网络中的不同服务器上,MooseFS 通过 FUSE 使之看起来就是一个 Unix 的文件系统。
  MFS文件系统个人理解: 将分布在各个范围的计算机,将他们未使用的分区统一进行管理使用的一种文件系统。
  MFS文件系统结构:
  包含3种角色:
  管理服务器managing server (master)
  数据存储服务器data servers (chunkservers)
  客户机挂载使用client computers
  个人理解3种角色作用:
  管理服务器:负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷贝
  数据存储服务器:负责连接管理服务器,听从管理服务器调度,提供存储空间。
  客户端:挂接远程管理服务器上所管理的数据存储服务器,通过fuse内核接口.看起来共享的文件系统和本地unix文件系统使用一样的效果。
  架设过程:
  服务器2台
  (最少是2台,一台服务器做管理服务器,数据存储服务器,以及客户端3种角色,另外一台计算机做数据存储和客户端)
  称第1台计算机为A机,机器上跑3种角色,第2台计算机称B机,跑两种角色.要是你计算机多的话可以只跑1种客户端角色或者数据存储角色,根据具体情况决定.
  操作系统:FreeBSD6.x or Freebsd 7.x   minni安装升级ports树
  1.在A机器上安装
  CODE:
  /sysutils/fusefs-kmod
  ./devel/pkg-config
  这两个ports包
  pkg_info的结果为
  CODE:
  b# pkg_info
  fusefs-kmod-0.3.9.p1.20080208 Kernel module for fuse
  fusefs-libs-2.7.2_1 FUSE allows filesystem implementation in userspace
  libiconv-1.9.2_2    A character set conversion library
  pkg-config-0.21     A utility to retrieve information about installed libraries
  b#
  然后在rc.conf中添加
  CODE:
  fusefs_enable="YES"
  2.在http://www.moosefs.com/index.html下载mfs-1.5.12.tar.gz
  CODE:
  #fetch http://www.moosefs.com/files/mfs-1.5.12.tar.gz
  #tar xvzf mfs-1.5.12.tar.gz
  #cd mfs-1.5.12
  #./configure (这样制作出来的bin文件和sbin文件以及元数据在/usr/local/sbin和/usr/local/bin,配置文件在/usr/local /etc 元数据存放在/usr/local/var/mfs下)  默认不带任何参数编译出来的,可以做数据和管理服务器.
  #make && make install 就完成了两种角色服务器的安装
  ##################下面是在A机上编译出客户机的执行文件#################################
  CODE:
  #make clean && ./configure --prefix=/clien --enable-mfsmount && make && make install
  即可,在/client目录下就产生了一个mfs的客户端连接软件
  2.在B机器上安装
  CODE:
  /sysutils/fusefs-kmod
  ./devel/pkg-config
  这两个ports包
  pkg_info的结果为
  CODE:
  b# pkg_info
  fusefs-kmod-0.3.9.p1.20080208 Kernel module for fuse
  fusefs-libs-2.7.2_1 FUSE allows filesystem implementation in userspace
  libiconv-1.9.2_2    A character set conversion library
  pkg-config-0.21     A utility to retrieve information about installed libraries
  b#
  然后在rc.conf中添加
  CODE:
  fusefs_enable="YES"
  2.在http://www.moosefs.com/index.html下载mfs-1.5.12.tar.gz
  CODE:
  #fetch http://www.moosefs.com/files/mfs-1.5.12.tar.gz
  #tar xvzf mfs-1.5.12.tar.gz
  #cd mfs-1.5.12
  #./configure --disable-mfsmaster --enable-mfsmount(这样制作出来的二进制文件可以做数据存储服务器和有了mfsmount文件,默认编译是没有mfsmount的).
  #make && make install 就完成了数据存储角色服务器和客户端的安装
  下面开始配置
  A机器上挂载一个空闲的,比较大的分区
  CODE:
  #mount /dev/ad1s1 /mnt/mfs
  #cd /usr/local/etc
  #ls
  -rw-r--r--  1 root  wheel  434 Mar 31 11:34 mfschunkserver.cfg
  -rw-r--r--  1 root  wheel   36 Mar 31 11:34 mfshdd.cfg
  -rw-r--r--  1 root  wheel  425 Mar 31 11:34 mfsmaster.cfg
  解释这3个文件的作用
  mfsmaster.cfg是管理服务器初始化文件,不需要任何修改既可使用.里面主要就是设置监听端口这些.
  我们用默认既可
  mfschunkserver.cfg是数据存储文件配置文件.当数据存储和管理服务器不在一起的时候,要修改
  CODE:
  # MASTER_HOST = mfsmaster  这个值为管理服务器的ip地址或主机名
  # MASTER_PORT = 9420
  mfshdd.cfg这个是在mfschunkserver.cfg中制定的文件名,这个文件里面存放本地存储分区路径.
  我这里mfshdd.cfg内容就是一行
  #cat mfshdd.cfg
  /mnt/mfs
  #
  启动顺序
  启动管理服务器 ----->启动数据存储服务器---->挂接管理服务器mfs文件系统
  CODE:
  #/usr/local/sbin/mfsmaster start
  CODE:
  #netstat -na|grep 942 看是否有两个942* 为listen的端口,若有就开启成功了.
  #/usr/local/sbin/mfschunkserver start
  #netstat -na|grep 942 查看是不是多了一个9422的端口,若有则开启成功了
  也可以使用sockstat -4查看
  如果启动不成功,一般情况就是挂载目录权限问题.默认编译的mfs是按nobody权限来的.要修改/mnt/mfs权限为nobody既可.
  经过上面两部管理服务器和存储服务器就启动起来了.下面是进行本地挂载和在B机器上挂载
  在A机器上执行
  CODE:
  #/client/bin/mfsmount -h A机ip -w /mfs   将管理机ip 挂接到/mfs目录
  A机器上就可以使用mfs系统了,挂接点是/mfs
  下面是加入B机的数据存储和B机自己使用mfs
  B机
  #配置挂接空闲的,比较大的分区,然后修改mfshdd.cfg内容为挂接地点.修改mfschunkserver.cfg的MASTER_HOST =值
  启动mfschunkserver
  CODE:
  #/usr/local/sbin/mfschunkserver start
  挂接管理机的mfs文件系统
  CODE:
  #/client/bin/mfsmount -h A机ip -w /mfs
  我在做MFS试验的时候,田逸给了我些帮助,在这里感谢他。
  用vmware做mfs数据存储服务器的时候,虚拟的硬盘一定要大点,最好大于256M的硬盘。否则used永远都是100% 。


运维网声明 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-670322-1-1.html 上篇帖子: MFS分布式文件系统安装向导 下篇帖子: MFS分布式文件系统介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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