zoukankan      html  css  js  c++  java
  • MFS分布式文件系统管理

    MFS官方网站http://www.moosefs.org/reference-guide.html

    mooseFS(moose驼鹿)是一款网络分布式文件系统,它把数据分散到多台服务器上,但对于用户来讲,看到的只是一个源.MFS也像其他类unix文件系统,包含了层级结构(目录树),存储着文件属性(权限,最后访问和修改时)可以创建特殊的文件(块设备,字符设备,管道,套接字)符号链接.

    MooseFS文件系统介绍:

    MooseFS是一中分布式文件系统,MooseFS文件系统结构包括一下四种角色:

    1.管理服务器master

    管理服务器:负责各个数据存储服务的管理文件读写调度,文件空间回收以及恢复,多节点拷贝

    2.元数据日志服务器:负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在master server出现问题的时候解体器 进行工作

    3.数据存储服务器data server(chunk servers)

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

    4.客户端挂在 使用clinet computers

    使用MFS文件系统来存储和访问的主机名称为MFS的客户端,成功挂载MFS系统以后,就可以像以前NFS一样共享这个虚拟性的存储了。

    实验环境:

    服务器:

    masters:192.168.20.138

    chunk-server:192.168.20.150

    Metalogger-server192.168.20.163

    客户端挂载使用(clinet computers):192.168.20.163

    ---------------------------------------------------------------------------------------------

    实验环境准备:

    fuse.ko

    所有服务器端和客户端都要支持 fuse内核模块。

    由于MFS的客户端程序也就是jiazaimfs磁盘系统的命令是使用了fuse.

    用户空间文件系统(简称FUSE)是操作系统中的概念,指完全在用户状态实现的文件系统,目前linux通过内核模块对此进行支持,一些文件系统如NTFS-3G(作用:让linux中对NTFS文件系统提供支持)使用FUSE实现.

    2.6以上内核,都自带fuse

    一.Master

    [root@master ~]#  yum install gcc fuse fuse-devel zlib-devel –y

    [root@master ~]# useradd -M -s /sbin/nologin mfs

    [root@master ~]# tar zxvf mfs-1.6.27-5.tar.gz -C /usr/src/

    [root@master ~]# cd /usr/src/mfs-1.6.27/

    [root@master mfs-1.6.27]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs  --disable-mfschunkserver --disable-mfsmount

    root@master mfs-1.6.27]# make

    root@master mfs-1.6.27]# make install

    [root@master mfs]# cp mfsexports.cfg.dist mfsexports.cfg

    [root@master mfs]# cp mfsmaster.cfg.dist mfsmaster.cfg

    [root@master mfs]# cp  mfstopology.cfg.dist mfstopology.cfg

    [root@master mfs]# cd /usr/local/mfs/var/mfs

    [root@master mfs]# ls

    metadata.mfs.empty

    [root@master mfs]# cp metadata.mfs.empty metadata.mfs

    [root@master mfs]# cat /usr/local/mfs/etc/mfs/mfsexports.cfg

     [root@master mfs]# cat  /usr/local/mfs/etc/mfs/mfsmaster.cfg

    [A1] [root@master mfs]# /usr/local/mfs/sbin/mfsmaster restart[A2] 

    [root@master mfs]# netstat -anput | grep mfs

    tcp        0      0 0.0.0.0:9419                0.0.0.0:*                   LISTEN      10761/mfsmaster    

    tcp        0      0 0.0.0.0:9420                0.0.0.0:*                   LISTEN      10761/mfsmaster    

    tcp        0      0 0.0.0.0:9421                0.0.0.0:*                   LISTEN      10761/mfsmaster 


     [A1]简单查看文件的配置,暂不做修改

     [A2]启动MFS

    二.安装MataLogger(元数据日志服务器)

    [root@Metalogger-server ~]#  yum install gcc fuse fuse-devel zlib-devel –y

    [root@Metalogger-server ~]# useradd -M -s /sbin/nologin mfs

    [root@Metalogger-server ~]# tar zxvf mfs-1.6.27-5.tar.gz -C /usr/src/

    [root@Metalogger-server mfs-1.6.27]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmoumnt

    [root@Metalogger-server mfs-1.6.27]# make

    [root@Metalogger-server mfs-1.6.27]# make install

    [root@Metalogger-server mfs-1.6.27]# cd /usr/local/mfs/etc/mfs

    [root@Metalogger-server mfs]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

    [root@Metalogger-server mfs]# vim /usr/local/mfs/etc/mfs/mfsmetalogger.cfg

    [root@Metalogger-server mfs]#  /usr/local/mfs/sbin/mfsmetalogger restart

    [root@Metalogger-server mfs]# ps -elf | grep mfs

    5 S mfs       36452      1  0  61 -19 -  2764 poll_s 11:06 ?        00:00:00 /usr/local/mfs/sbin/mfsmetalogger restart

    0 S root      36459   3535  0  80   0 - 25814 pipe_w 11:08 pts/1    00:00:00 grep mfs

    三.Chunk-server(数据存储服务器)

    [root@chunk-server ~]# yum install gcc fuse fuse-devel zlib-devel –y

    [root@chunk-server ~]# useradd -M -s /sbin/nologin mfs

    [root@chunk-server ~]# tar zxvf mfs-1.6.27-5.tar.gz -C /usr/src/

    [root@chunk-server ~]# cd /usr/src/mfs-1.6.27/

    [root@chunk-server mfs-1.6.27]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfsmount

    [root@chunk-server mfs-1.6.27]# make

    [root@chunk-server mfs-1.6.27]# make install

    [root@chunk-server mfs-1.6.27]# cd /usr/local/mfs/etc/mfs/

    [root@chunk-server mfs]# cp mfschunkserver.cfg.dist mfschunkserver.cfg     

    [root@chunk-server mfs]# cp mfshdd.cfg.dist mfshdd.cfg     

    [root@chunk-server mfs]# vim /usr/local/mfs/etc/mfs/mfschunkserver.cfg

    oot@chunk-server mfs]# cp mfschunkserver.cfg.dist   mfschunkserver.cfg     

     [root@chunk-server mfs]# vim /usr/local/mfs/etc/mfs/mfschunkserver.cfg

    [root@chunk-server mfs]# vim /usr/local/mfs/etc/mfs/mfshdd.cfg

    root@chunk-server ~]# mkdir /data

    [root@chunk-server ~]# chown -R mfs:mfs /data/

    [root@chunk-server ~]# /usr/local/mfs/sbin/mfschunkserver restart

    [root@chunk-server ~]# ps -elf | grep mfs

    5 S mfs       25099      1  2  61 -19 - 42704 poll_s 21:44 ?        00:00:01 /usr/local/mfs/sbin/mfschunkserver restart

    0 S root      25125  20503  0  80   0 - 25805 pipe_w 21:45 pts/1    00:00:00 grep mfs

    [root@chunk-server ~]# netstat -anput | grep mfs

    tcp        0      0 0.0.0.0:9422                0.0.0.0:*                   LISTEN      25099/mfschunkserve

    四:客户部署与配置

    yum install gcc fuse fuse-devel zlib-devel –y

    [root@localhost ~]# tar zxvf fuse-2.9.2.tar.gz -C /usr/src/

    [root@localhost ~]# cd /usr/src/fuse-2.9.2/

    [root@localhost fuse-2.9.2]# ./configure

    [root@localhost fuse-2.9.2]# make && makek install

    [root@localhost fuse-2.9.2]# vim /etc/profile

    root@localhost fuse-2.9.2]# . /etc/profile

    [root@localhost fuse-2.9.2]# source /etc/profile

    [root@localhost ~]# useradd -M -s /sbin/nologin mfs

    [root@localhost ~]# tar zxvf mfs-1.6.27-5.tar.gz -C /usr/src/

    root@localhost ~]# cd /usr/src/mfs-1.6.27/

    root@localhost mfs-1.6.27]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfschunkserver --enable-mfsmount

    如果还是有问题的,解决方法:yum -y install fuse-devel

    root@localhost mfs-1.6.27]# make && make install

    [root@localhost mfs-1.6.27]# cd

    [root@localhost ~]# modprobe fuse

    [root@localhost ~]# mkdir /xiaoyu

    [root@localhost ~]# /usr/local/mfs/bin/mfsmount /xiaoyu/ -H 192.168.20.138

    mfsmaster accepted connection with parameters: read-write,restricted_ip ; root mapped to root:root

    [root@localhost ~]# mount

    [root@localhost ~]# df –Th

    root@localhost ~]# vim /etc/profile

    export PATH=/usr/local/mfs/bin$PATH

    [root@localhost ~]# source /etc/profile

    [root@localhost ~]# ln -s /usr/local/mfs/bin/* /usr/local/bin/

    [root@localhost ~]# mfsgetgoal -r /xiaoyu/

    root@localhost ~]# mfsgetgoal -r  /xiaoyu/

    /xiaoyu/:

     directories with goal  1 :          1

    [root@localhost ~]# mfsgetgoal -r 3  /xiaoyu/

    3: realpath error on (/root/3): ENOENT (No such file or directory)

    /xiaoyu/:

     directories with goal  1 :    

  • 相关阅读:
    HDU2519(组合数计算)
    CodeForces
    UVA 10976(暴力)
    UVA 11059(暴力)
    UVA725
    配置三层交换机DHCP
    通过三层交换机不同vlan之间通信
    AGC006C & CF1110E
    多项式全家桶
    一些模板(持续更新中)
  • 原文地址:https://www.cnblogs.com/bixiaoyu/p/6925326.html
Copyright © 2011-2022 走看看