一、介绍
MFS文件系统结构:
包含4种角色:
管理服务器managing server (master)
元数据日志服务器Metalogger server(Metalogger)
数据存储服务器data servers (chunkservers)
客户机挂载使用client computers (mfsmount)(Users’ computers)mfsmount
4种角色作用:管理服务器:负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷贝元数据日志服务器: 负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在master server出问题的时候接替其进行工作数据存储服务器:负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输.客户端: 通过fuse内核接口挂接远程管理服务器上所管理的数据存储服务器,.看起来共享的文件系统和本地unix文件系统使用一样的效果.
二、安装使用moosefs 1、下载 最新的版本在:http://sourceforge.net/projects/moosefs/files/moosefs/
安装前先下载:http://sourceforge.net/projects/fuse/
三、安装
1、安装master server、chunkservers 在一台计算集中1) 配置 master server第一步:创建用户useradd mfs –s /sbin/nolog ingroupadd mfs //添加组第二步:安装元数据服务 (master server)tar -zvx -f mfs-1.6.27-5.tar.gzcd mfs-1.6.27-5./configure –prefix=/usr/local/mfs –with-default-user=mfs –with-default-group=mfsmakemake install第三步:开启服务cp /usr/local/mfs/etc/mfs/* /usr/local/mfs/etc //复制配置文件/usr/local/mfs/sbin/mfsmaster start //启动/usr/local/mfs/sbin/mfsmaster -s //停止服务器2) 配置chunkservers第一步:创建用户useradd mfs –s /sbin/nolog ingroupadd mfs //添加组第二步:安装tar zxvf mfs-1.6.27-5.tar.gz./configure –prefix=/usr/local/mfs –with-default-user=mfs –with-default-group=mfsmakemake install第三步:配置文件和目录a) cp /usr/local/mfs/etc/mfs/* /usr/local/mfs/etc //复制配置文件b) vi mfschunkserver.cfg //主配置文件配置:MASTER_HOST = 192.168.1.106 //master server服务器IPMASTER_PORT = 9420 //master server服务器端口c) 先分区,然后格式化,再挂载到一个目录上。i) 大文件的处理方式,供演示。mfschunks1 //mkdir -p /storage/mfschunks //创建目录dd if=/dev/mapper/server-myhome of=/storage/mfschunks/mfschunks1 bs=1M count=1024 //创建镜像文件mfschunks1mkfs -t ext3 /storage/mfschunks/mfschunks1 //创建文件系统mkdir -p /mnt/mfschunks1 //创建挂接点mount -t ext3 -o loop /storage/mfschunks/mfschunks1/mnt/mfschunks1 //挂载mfschunks2 //dd if=/dev/mapper/server-myhome of=/storage/mfschunks/mfschunks2 bs=1M count=1024 //创建镜像文件mfschunks1mkfs -t ext3 /storage/mfschunks/mfschunks2 //创建文件系统mkdir -p /mnt/mfschunks2 //创建挂接点mount -t ext3 -o loop /storage/mfschunks/mfschunks2 /mnt/mfschunks2 //挂载//设置文件权限chown -R mfs:mfs /mnt/mfschunks1chown -R mfs:mfs /mnt/mfschunks2d) vi mfshdd.cfg //mfshdd.cfg 是服务器用来分配给MFS 使用的空间,最好是单独的raid 卷,最低要求是一个分区。这个配置写入要加入到MFS系统中的磁盘存储的挂载点配置: /mnt/mfschunks1/mnt/mfschunks2第四步:启动服务/usr/local/mfs/sbin/mfschunkserver start //启动服务/usr/local/mfs/sbin/mfschunkserver -s //停止服务2) 客户端:第一步:安装fuse,依赖于fusetar -zvx -f fuse-2.9.3.tar.gzcd fuse-2.9.3./configuremake && make installexport PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATHsource /etc/profile第二步:创建mfs 用户groupadd mfs //添加组useradd mfs –s /sbin/nolog in //添加用户第三步:安装mfstar -zvx -f mfs-1.6.27-5.tar.gzcd mfs-1.6.27-5./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmountmakemake install第四步:挂接MFS文件系统mkdir /mnt/mfs //创建挂接点modprobe fuse //加载fuse 模块到内核:cp /usr/local/mfs/etc/mfs/* /usr/local/mfs/etc //复制配置文件/usr/local/mfs/bin/mfsmount /mnt/mfs -H 192.168.1.106 //挂载到master server服务器目录* 所有的MFS 都是挂接同一个元数据服务器master 的IP,而不是其他数据存储服务器chunkserver 的IP。/usr/local/mfs/sbin/ -s //停止服务2、集群安装:http://yunjuanyunsu.blog.163.com/blog/static/189317242201001401137332/修改/etc/hosts 文件,以绑定主机名mfsmaster 与ip 地址192.168.1.1:192.168.1.1 mfsmaster# MASTER_HOST = mfsmasterqMASTER_HOST = 192.168.1.106 //主机名
四、常见错误 1、出现 zlib没有找到 zlib-1.2.8.tar.gz tar -zvx -f zlib-1.2.8.tar.gz ./configure make make install
2、编译安装客户端时:在这个过程中,当执行到–enable-mfsmount 时可能出现”checking for FUSE… no configure: error:mfsmount build was forced, but fuse development package is not installed ”这样的错误,........checking for FUSE... no******************************** mfsmount disabled ********************************* fuse library is too old or not installed - mfsmount needs version 2.6 or higher ************************************************************************************......而不能正确安装MFS 客户端程序,这是因为环境变量没有设置,先编辑/etc/profile 在此文件中加入如下条目:export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH然后再利用source 命令/etc/profile 使修改生效:source /etc/profile 即可,也可直接在命令行中直接执行:export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
