轻量级分布式系统-moosefs介绍

发布于 2022-09-14 07:54:57 字数 3529 浏览 15 评论 4

Moosefs介绍

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文件系统使用一样的效果.吧。

1 Moosefs简介

1.1 角色构成
    整个mfs共计四种角色:master、metalogger、chunk和client
       1、master:只有一台。
       2、metalogger:可以有多台。它负责定期从master下载metadata,并实时同步changelog。metadata和 changelog的关系类似于sfrd里面基准和增量的关系。当master挂了的时候,metalogger利用下载下来的metadata和实时同步的changelog来恢复master挂掉时候的metadata。并且接管master的功能。
       3、chunk:提供存储的服务器,可以有多台。这些服务器负责提供存储,它可以自由的启动和停止。在chunk启动后,会主动与master联系,master知道有多少chunk在网络中,并且会定期检查chunk的状态。
       4、client:使用mfs的服务器,可以有多台。它需要运行mfsmount命令,将网络上的存储挂载到本地,看起来类似nfs。client就像读写本地磁盘那样读写mfsmount挂载的网络存储。

2 环境部署

2.1 安装

    对于client端,需要安装fuse程序后,才可以编译mfsmount程序;并且需要加载fuse.ko内核模块后才能正确运行mfsmount命令。

2.1.1 fuse的安装
    fuse-2.8.4.tar.gz,在http://sourceforge.net/projects/fuse/中下载,放到/home/XXXX/opdir/software目录中。
$ tar xvzf fuse-2.8.4.tar.gz
$ su -
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-comfficeffice" />
# cd fuse-2.8.4
# ./configure
# make
# make install
    在make install的过程中,需要使用root创建文件,因此这里使用root执行命令。
    编辑/etc/profile这个文件,将以下行填写在最后
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfigPKG_CONFIG_PATH
    完成后,重新登陆或者source /etc/profile目录后,则可以编译安装mfs的client程序。

2.1.2 moosefs的安装
    mfs-1.6.15.tar.gz,在http://sourceforge.net/projects/moosefs/中下载,放到/home/XXXX/opdir/software目录中。
$ tar xvzf mfs-1.6.15.tar.gz
$ cd mfs-1.6.15
$ source /etc/profile
$ ./configure --prefix=/home/XXXX/local/mfs --with-default-user=XXXX  --with-default-group=XXXX --enable-mfsmount
$ make
$ make install
    说明:对于client端的程序,必须加--enable-mfsmount选项以编译mfsmount程序,且这台服务器需要安装fuse程序。master、chunk和metalogger服务器可以不加这个选项,并且不需要安装fuse程序。

2.1.3 加载fuse.ko内核模块
使用root将fuse.ko模块装入内核:
#cd /boot/fuse
#insmod fuse.ko
可以将该命令放入rc.local,使服务器重启时自动执行。
echo “insmod /boot/fuse/fuse.ko >> /etc/rc.local”

因为长度受限:http://hi.baidu.com/ops_bd/blog/item/1f783f04e97df1643812bb90.html

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

心不设防 2022-09-19 07:51:24

这样的分布式存储!

成熟的代价 2022-09-19 07:45:00

分布式系统就是文件系统吗。。。迷惑啊

烂人 2022-09-19 05:16:15

呵呵,学习了

-小熊_ 2022-09-18 17:02:03

学习!!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文