一、介绍 MFS文件系统结构: 包含4种角色:
    管理服务器managing server (master) 元数据日志服务器Metalogger server(Metalogger) 数据存储服务器data servers (chunkservers)
    客户机挂载使用client computers (mfsmount)(Users’ computers)mfsmount

    1. 4种角色作用:
    2. 管理服务器:负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷贝
    3. 元数据日志服务器: 负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在master server出问题的时候接替其进行工作
    4. 数据存储服务器:负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输.
    5. 客户端: 通过fuse内核接口挂接远程管理服务器上所管理的数据存储服务器,.看起来共享的文件系统和本地unix文件系统使用一样的效果.

    二、安装使用moosefs 1、下载 最新的版本在:http://sourceforge.net/projects/moosefs/files/moosefs/

    1. 安装前先下载:http://sourceforge.net/projects/fuse/

    三、安装

    1. 1、安装master serverchunkservers 在一台计算集中
    2. 1) 配置 master server
    3. 第一步:创建用户
    4. useradd mfs s /sbin/nolog in
    5. groupadd mfs //添加组
    6. 第二步:安装元数据服务 (master server)
    7. tar -zvx -f mfs-1.6.27-5.tar.gz
    8. cd mfs-1.6.27-5
    9. ./configure prefix=/usr/local/mfs with-default-user=mfs with-default-group=mfs
    10. make
    11. make install
    12. 第三步:开启服务
    13. cp /usr/local/mfs/etc/mfs/* /usr/local/mfs/etc //复制配置文件
    14. /usr/local/mfs/sbin/mfsmaster start //启动
    15. /usr/local/mfs/sbin/mfsmaster -s //停止服务器
    16. 2) 配置chunkservers
    17. 第一步:创建用户
    18. useradd mfs –s /sbin/nolog in
    19. groupadd mfs //添加组
    20. 第二步:安装
    21. tar zxvf mfs-1.6.27-5.tar.gz
    22. ./configure –prefix=/usr/local/mfs –with-default-user=mfs –with-default-group=mfs
    23. make
    24. make install
    25. 第三步:配置文件和目录
    26. a) cp /usr/local/mfs/etc/mfs/* /usr/local/mfs/etc //复制配置文件
    27. b) vi mfschunkserver.cfg //主配置文件
    28. 配置:MASTER_HOST = 192.168.1.106 //master server服务器IP
    29. MASTER_PORT = 9420 //master server服务器端口
    30. c) 先分区,然后格式化,再挂载到一个目录上。
    31. i) 大文件的处理方式,供演示。
    32. mfschunks1 //
    33. mkdir -p /storage/mfschunks //创建目录
    34. dd if=/dev/mapper/server-myhome of=/storage/mfschunks/mfschunks1 bs=1M count=1024 //创建镜像文件mfschunks1
    35. mkfs -t ext3 /storage/mfschunks/mfschunks1 //创建文件系统
    36. mkdir -p /mnt/mfschunks1 //创建挂接点
    37. mount -t ext3 -o loop /storage/mfschunks/mfschunks1/mnt/mfschunks1 //挂载
    38. mfschunks2 //
    39. dd if=/dev/mapper/server-myhome of=/storage/mfschunks/mfschunks2 bs=1M count=1024 //创建镜像文件mfschunks1
    40. mkfs -t ext3 /storage/mfschunks/mfschunks2 //创建文件系统
    41. mkdir -p /mnt/mfschunks2 //创建挂接点
    42. mount -t ext3 -o loop /storage/mfschunks/mfschunks2 /mnt/mfschunks2 //挂载
    43. //设置文件权限
    44. chown -R mfs:mfs /mnt/mfschunks1
    45. chown -R mfs:mfs /mnt/mfschunks2
    46. d) vi mfshdd.cfg //mfshdd.cfg 是服务器用来分配给MFS 使用的空间,最好是单独的raid 卷,最低要求是一个分区。
    47. 这个配置写入要加入到MFS系统中的磁盘存储的挂载点
    48. 配置: /mnt/mfschunks1
    49. /mnt/mfschunks2
    50. 第四步:启动服务
    51. /usr/local/mfs/sbin/mfschunkserver start //启动服务
    52. /usr/local/mfs/sbin/mfschunkserver -s //停止服务
    53. 2) 客户端:
    54. 第一步:安装fuse,依赖于fuse
    55. tar -zvx -f fuse-2.9.3.tar.gz
    56. cd fuse-2.9.3
    57. ./configure
    58. make && make install
    59. export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
    60. source /etc/profile
    61. 第二步:创建mfs 用户
    62. groupadd mfs //添加组
    63. useradd mfs –s /sbin/nolog in //添加用户
    64. 第三步:安装mfs
    65. tar -zvx -f mfs-1.6.27-5.tar.gz
    66. cd mfs-1.6.27-5
    67. ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount
    68. make
    69. make install
    70. 第四步:挂接MFS文件系统
    71. mkdir /mnt/mfs //创建挂接点
    72. modprobe fuse //加载fuse 模块到内核:
    73. cp /usr/local/mfs/etc/mfs/* /usr/local/mfs/etc //复制配置文件
    74. /usr/local/mfs/bin/mfsmount /mnt/mfs -H 192.168.1.106 //挂载到master server服务器目录
    75. * 所有的MFS 都是挂接同一个元数据服务器master 的IP,而不是其他数据存储
    76. 服务器chunkserver 的IP。
    77. /usr/local/mfs/sbin/ -s //停止服务
    78. 2、集群安装:http://yunjuanyunsu.blog.163.com/blog/static/189317242201001401137332/
    79. 修改/etc/hosts 文件,以绑定主机名mfsmaster 与ip 地址192.168.1.1:
    80. 192.168.1.1 mfsmaster
    81. # MASTER_HOST = mfsmasterq
    82. MASTER_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

    1. 2、编译安装客户端时:
    2. 在这个过程中,当执行到–enable-mfsmount 时可能出现”checking for FUSE no configure: error:
    3. mfsmount build was forced, but fuse development package is not installed ”这样的错误,
    4. ........
    5. checking for FUSE... no
    6. ******************************** mfsmount disabled ********************************
    7. * fuse library is too old or not installed - mfsmount needs version 2.6 or higher *
    8. ***********************************************************************************
    9. ......
    10. 而不能正确安装MFS 客户端程序,这是因为环境变量没有设置,先编辑/etc/profile 在此文件中加
    11. 入如下条目:
    12. export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
    13. 然后再利用source 命令/etc/profile 使修改生效:source /etc/profile 即可,也可直接在命令行中直
    14. 接执行:
    15. export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH