zoukankan      html  css  js  c++  java
  • MFS

    MFS
    MooseFS 文件系统 可以实现RAID 功能;节约成本 实现在线扩展;是一种半分布式文件系统。

    一、MFS文件系统的组成

    1、mfsmaster 元数据服务器。

    在整个体系中负责管理管理文件系统,目前MFS只支持一个元数据服务器master,这是一个单点故障,需要一个性能稳定的服务器来充当。希望今后MFS能支持多个master服务器,进一步提高系统的可靠性。

    2、 数据存储服务器 chunkserver。

    真正存储用户数据的服务器。存储文件时,首先把文件分成块,然后这些块在数据服务器chunkserver之间复制(复制份数可以手工指定,建议设置副本数为3)。数据服务器可以是多个,并且数量越多,可使用的“磁盘空间”越大,可靠性也越高。

    3、 MFS客户端。
    使用MFS文件系统来存储和访问的主机称为MFS的客户端,成功挂接MFS文件系统以后,就可以像以前使用NFS一样共享这个虚拟性的存储了。元数据服务器安装和配置元数据服务器可以是linux,也可以是unix,你可以根据自己的使用习惯选择操作系统,在我的环境里,我是用freebsd做为MFS元数据的运行平台。GNU源码,在各种类unix平台的安装都基本一致。

    二、基础架构

    1、MFSmaster 
    10.10.100.101
    
    1、Metalogger 也可以和master在同一台
    10.10.100.102
    
    3、Chunkserver
    10.10.100.103-105
    
    4、client 
    IP

    1、yum 安装;设置 yum 源

    For EL6 family:
    # curl "http://ppa.moosefs.com/MooseFS-3-el6.repo" > /etc/yum.repos.d/MooseFS.repo
    MooseFS.repo 需要设置 gpgcheck=0

    2、MFSmaster 管理服务器

    1、mfsmaster.cfg 主配置文件
    默认开放 9414 9420 9421 端口;
    配置元数据存放位置;
    metadata.mfs 默认的元数据文件 需要放置到设置的DATA_PATH目录;
    # cat /etc/mfs/mfsmaster.cfg |grep -v ^$ |grep -v ^#
    DATA_PATH = /mfs/data
    
    2、mfsexports.cfg 对被挂载目录及其权限配置
    mfsexports.cfg 对被挂接目录及其权限进行设置 # cat
    /etc/mfs/mfsexports.cfg |grep -v ^$ |grep -v ^# * / rw,alldirs,admin,maproot=0:0 * . rw 3、Metalogger -- 元数据日志服务器 主配置文件 mfsmetalogger.cfg 配置 master_host # cat /etc/mfs/mfsmetalogger.cfg |grep -v ^$ |grep -v ^# MASTER_HOST = 10.10.100.101

    2、数据存储服务器

    # yum install moosefs-chunkserver
    
    1、 Chunkservers -- 数据存储服务器 
    主配置文件 mfschunkserver.cfg
    master_host 
    master_port
    
    # cat /etc/mfs/mfschunkserver.cfg |grep -v ^$ |grep -v ^#
    DATA_PATH = /mfs/data
    MASTER_HOST = 10.10.100.101
    MASTER_PORT = 9420
    
    2、mfshdd.cfg 指定服务器分配给 MFS 使用的空间;
    配置MFS 分区 
    /mfsdata
    chown -R mfs:mfs /mfsdata
    # cat /etc/mfs/mfshdd.cfg |grep -v ^$ |grep -v ^#
    /mfs/data
    
    3、需要端口;
    9419 元数据日志服务监听端口
    9420 chunk server 数据存储服务器连接端地址;
    9421 客户端链接挂接链接端口
    9422 chunkserver 端口 
    9425 moosefs-cgiserv 监控客户端的链接状态;

    3、Clients 客户端挂载 需要 fuse 插件;

    # yum install moosefs-client
    # yum install fuse
    # modprobe fuse ( 加载fuse 模块 )
    
    fuse 设置 /etc/fstab    
    and then add one of the following entries to your /etc/fstab:
    
    "classic" entry (works with all MooseFS 3.0 and 2.0 verisons):
    mfsmount /mnt/mfs fuse defaults 0 0
    
    or "NFS-like" entry (works with MooseFS 3.0.75+):
    mfsmaster.host.name: /mnt/mfs moosefs defaults 0 0

    三、客户端创建挂载点;

    mkdir /mnt/mfs
    
    挂载 MFS
    mfsmount /mnt/mfs -H mfsmasterIP 
    # -p 有密码就输入密码 
    
    (注 这只是挂载的是同一个元数据服务器IP ;而不是存储服务器的iP;)

    四、 mfscgiserv 监控客户端链接状态

    http://MFSMASTER:PORT/

    五、源码编译

    # useradd mfs -s /sbin/nologin
    # wget http://ftp5.gwdg.de/pub/linux/archlinux/extra/os/x86_64//fuse2-2.9.7-3-x86_64.pkg.tar.xz
    # wget http://ppa.moosefs.com/src/moosefs-3.0.91-1.tar.gz

    管理服务 元数据服务 存储服务 针对不同的服务起:

    mfsmaster
    mfschunkserver
    mfsmetalogger
    
    chown -R mfs:mfs /usr/local/mfs
    cd /usr/local/mfs
    ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
    make &&make install

    MFS 客户端

    # ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount
    # make &&make install

    MFS 常用操作

  • 相关阅读:
    使用Razor模板构建应用注意的细节
    分享一个秒计数器
    有效提高命中率的缓存设计
    伟大的C语言
    关于在使用Visual C++中使用MMX、SSE指令集的问题
    如何用SVN 或 WINCVS 下载x264 ffdshow T264 Kevinlib
    Visual C++图形特技
    图象处理部分文章列表
    C++,VC资源
    Visual C++ 如何:在各种字符串类型之间进行转换
  • 原文地址:https://www.cnblogs.com/sharesdk/p/8794581.html
Copyright © 2011-2022 走看看