MooseFS 分布式文件系统介绍与部署
一些概念
Master 用来管理MooseFS。安装master的主机需要稳定,有一定的可用内存,一台服务器即可。
Metalogger master?一些元数据备份。必要时可以恢复数据,至少一台服务器。
Chunkservers 文件块的存储服务,推荐至少有两台服务。
Clients 通过mount访问Chunkservers文件。
详情参考:http://www.moosefs.org/reference-guide.html
MooseFS的优点通过挂载映射,能像访问本地文件的方式访问文件服务器资源支持特殊文件(block and character devices, pipes and sockets)支持热部署,扩展不用停服务删除文件可以预留一段时间才真正删除MooseFS工作原理1. process read
- 询问master server要访问的文件在哪个文件服务器master server回应文件位置客户端像chunk server请求数据chunk server返回数据
2. process write
- 客户端向master server询问文件存储位置master server在每个chunk server上创建数据块用来存储文件master server通知客户端往某一台chunk server上写数据客户端写数据到某一个chunk serverchunk server之间同步数据chunk server之间数据同步成功chunk server数据同步成功,返回给客户端客户端发终止写信号给master server
Master server: dog
Metalogger server: dog
Chunk servers: dog,dev,自己的虚拟机
Users'computer(客户端):dog,自己的虚拟机
安装线下安装版本mfs-1.6.20-2
安装向导:http://www.moosefs.org/tl_files/manpageszip/moosefs-step-by-step-tutorial-cn-v.1.1.pdf
ubuntu安装fuse可以成功,如果是centos不能安装成功,yum install fuse-devel即可解决问题。
部署目录1. 启动服务:
master server 进程: /usr/sbin/mfsmaster start
metalogger 进程: /usr/sbin/mfsmetalogger start
chunk server 进程: /usr/sbin/mfschunkserver start
启动监控:/usr/sbin/mfscgiser
2. 启动客户端
?
#mkdir /mnt/javafiles#chown -R sankuai:sankuai /mnt/javafiles#mfsmount /mnt/javafiles -H mfsmaster#mv -f uploadFiles uploadFiles2#ln -s /mnt/javafiles uploadFiles#chown -R sankuai:sankuai uploadFiles#cp -rf /uploadFiles2/* /mnt/javafiles#rm -rf /uploadFiles2
?
监视地址:http://dog:9425
设置副本:因为只有2台chunk server 所以设置副本为2
?
#mfssetgoal -r 2 /mnt/javafiles/还需要的工作机器重启保证服务自动运行,和重启后mfsmount自动挂载解决单点问题:http://hi.baidu.com/leolance/blog/item/7ac035205870f020c9955905.html