• MFS分布式文件系统


    MooseFS[MFS]是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。
    官网地址:http://www.moosefs.com/

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

    角色作用
    管理服务器 managing server (master) 负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷贝
    元数据日志服务器 Metalogger server(Metalogger) 负责备份 master 服务器的变化日志文件,文件类型为 changelog_ml.*.mfs,以便于在 master server 出问题的时候接替其进行工作
    数据存储服务器 data servers (chunk servers ) 听从管理服务器调度,提供存储空间,并为客户提供数据传输.。 真正存储用户数据的服务器。存储文件时,首先把文件分成块,然后这些块在数据服务器 chunkserver之间复 制(复制份数可以手工指定,建议设置副本数为 3)。数据服务器可以是多个,并且数量越多,可使用的“磁盘空间”越大,可靠性也越高。
    客户机挂载使用 client computers 挂载进程 mfs 服务器共享出的存储并使用。 通过 fuse 内核接口挂载进程管理服务器上所管理的数据存储服务器共享出的硬盘。 共享的文件系统的用法和 nfs 相似。 使用 MFS 文件系统来存储和访问的主机称为 MFS 的客户端,成功挂接 MFS 文件系统以后,就可以像以前使用 NFS 一样共享这个虚拟性的存储了。

    内部运行机制
    1:客户端请求访问存储,请求发送到了MFS Master
    2:MFS Master根据我们的请求,查询所需要的文件分布在那些服务器上
    3:客户端直接和存储服务器进行数据存储和读写
    MFS分布式文件实验环境
    服务器 角色
    192.168.0.11 管理服务器managing server (master) 和 元数据日志服务器(Metalogger)
    192.168.0.13 数据存储服务器data servers (chunk servers )
    192.168.0.156 数据存储服务器data servers (chunk servers )
    192.168.0.155 客户机挂载使用client computers
    安装环境准备:
    所有服务器端和客户端都要支持fuse内核模块。
    由于mfs的客户端程序也就是加载mfs磁盘系统的命令是使用了fuse,因此只要是想挂载mfs的服务器,必要的前提条件就是先安装fuse,这样编译mfs的时候才能顺利通过。
    fuse概述:
    用户空间文件系统(Filesystem in Userspace,简称FUSE)是操作系统中的概念,指完全在用户态实现的文件系统。目前Linux通过内核模块对此进行支持。一些文件系统如NTFS-3G(作用:让Linux中对NTFS文件系统提供支持) 使用FUSE实现。
    注:2.6以上内核,都自带fuse
    部署MFS分布式文件系统
    MFS管理服务器
    192.168.0.11

    yum install rpm-build gcc gcc-c++ fuse-devel zlib-devel –y
     useradd -s /sbin/nologin mfs           //运行mfs的用户
     tar xvf moosefs-3.0.86-5.tar.gz  && cd moosefs-3.0.86
     ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
     make -j 4 && make install
     cd /usr/local/mfs/
     ll                         //看下安装完成生成的目录
     drwxr-xr-x 2 root root 4096 Dec  3 11:24 bin         #客户端工具
    drwxr-xr-x 3 root root 4096 Dec  3 11:24 etc         #服务器的配置文件都放在该目录中 
    drwxr-xr-x 2 root root 4096 Dec  3 11:24 sbin       #服务端启动程序。如:元数据服务器端程序 mfsmaster、数据存储服务器端服务程序mfschunkserver 
    drwxr-xr-x 4 root root 4096 Dec  3 11:24 share     #文档 
    drwxr-xr-x 3 root root 4096 Dec  3 11:24 var         #元数据目录(可在配置文件中自定义到其他目录)

    生成配置文件

    cd /usr/local/mfs/etc/mfs/
     ll
    -rw-r--r-- 1 root root  531 Dec 24 14:13 mfschunkserver.cfg.dist
    -rw-r--r-- 1 root root 4060 Dec 24 14:13 mfsexports.cfg.dist
    -rw-r--r-- 1 root root   57 Dec 24 14:13 mfshdd.cfg.dist
    -rw-r--r-- 1 root root 1020 Dec 24 14:13 mfsmaster.cfg.dist
    -rw-r--r-- 1 root root  417 Dec 24 14:13 mfsmetalogger.cfg.dist
    -rw-r--r-- 1 root root  404 Dec 24 14:13 mfsmount.cfg.dist
    -rw-r--r-- 1 root root 1123 Dec 24 14:13 mfstopology.cfg.dist
     cp mfsmaster.cfg.dist mfsmaster.cfg    //Master配置文件
     cp mfsexports.cfg.dist mfsexports.cfg  //输出目录配置文件
     cp mfsmetalogger.cfg.dist mfsmetalogger.cfg//元数据日志
     cd /usr/local/mfs/var/mfs/
     cp metadata.mfs.empty metadata.mfs //首次安装 master 时,会自动生成一个名为 metadata.mfs.empty 的元数据文件 metadata,该文件是空的。MooseFS master 运必须有文件 metadata.mfs
    cd /usr/local/mfs/etc/mfs/ # 配置文件
    
      vim mfsmaster.cfg         //这个文件不需要修改,可以了解下面这几个字段
    23 # MATOCS_LISTEN_HOST = *    #监听所有 IP,也直接写一个 IP 地址,如 192.168.0.11
    24 # MATOCS_LISTEN_PORT = 9420  
    11 # DATA_PATH = /usr/local/mfs/var/mfs 
    注:这个配置文件中所有注掉的设置都是默认的配置。 
    如果有需要还可以修改 DATA_PATH 的设置将元数据目录存储到其他的分区或磁盘。其他的参数都很简单根据需要调整即可。 

    master 会打开 9420 端口等待 mfschunkserver 数据存储服务器连接

     chown -R mfs:mfs /usr/local/mfs/
    /usr/local/mfs/sbin/mfsmaster start     //各个端口开始起来
     netstat -antup | grep 942*
    tcp        0      0 0.0.0.0:9419         0.0.0.0:*                   LISTEN      49618/mfsmaster     
    tcp        0      0 0.0.0.0:9420         0.0.0.0:*                   LISTEN      49618/mfsmaster     
    tcp        0      0 0.0.0.0:9421         0.0.0.0:*                   LISTEN      49618/mfsmaster  
     echo "/usr/local/mfs/sbin/mfsmaster start" >> /etc/rc.local 
     chmod +x /etc/rc.local
     /usr/local/mfs/sbin/mfsmaster stop     //服务的关闭方法
     ll /usr/local/mfs/var/mfs/         //查看生成的日志文件
    -rw-r----- 1 mfs mfs     95 Dec 24 14:30 metadata.mfs
    -rw-r----- 1 mfs mfs     95 Dec 24 14:28 metadata.mfs.back.1
    -rw-r--r-- 1 mfs mfs      8 Dec 24 14:13 metadata.mfs.empty
    -rw-r----- 1 mfs mfs     10 Dec 24 14:28 sessions.mfs
    -rw-r----- 1 mfs mfs 762516 Dec 24 14:30 stats.mfs
    指定需要共享的权限
     pwd
    /usr/local/mfs/etc/mfs
     vim mfsexports.cfg
    # Allow everything but "meta".
    *                       /       rw,alldirs,maproot=0
    
    # Allow "meta".
    *                       .       rw                                      #次行下面添加下面一行
    192.168.0.0/24          /       rw,alldirs,maproot=0
    # 配置密码
         cd /usr/local/mfs/etc/mfs/
     vim mfsexports.cfg         //权限后面跟上密码即可
    # Allow everything but "meta".
    *                       /       rw,alldirs,maproot=0
    
    # Allow "meta".
    *                       .       rw
    192.168.0.0/24         /       rw,alldirs,maproot=0,password=123456
    mfsexports.cfg 文件每一条由三部分组成,第一部分表示客户端的 IP 地址,第二部分表示被挂接的目录,第三部分表示客户端拥有的权限,下面对三给部分迚行解释
    1.客户端 IP 地址 
     *                       所有 IP 地址 
     x.x.x.x                 单个 IP 地址 
     x.x.x.x/m.m.m.m         IP 网络地址/子网掩码 
     f.f.f.f-t.t.t.t         IP 段 
    2.被挂载的目录 
      /                      表示 MooseFS 的根 
      .                      表示 MFSMETA 文件系
    3.客户端拥有的权限
      ro                     只读
      rw                     读写
      alldirs                允许挂载任何指定的子目录 
      maproot                映射为 root 用户还是指定的用户
      password               指定客户端密码
     sh /etc/rc.local           //启动服务
    

    MFS元数据日志服务器
    元数据日志守护进程是在安装master server 时一同安装的,最小的要求并不比master 本身大,可以被运行在任何机器上(例如任一台chunkserver),但是最好是放置在MooseFS master 的备份机上,备份master 服务器的变化日志文件,文件类型为changelog_ml.*.mfs。因为主要的master server 一旦失效,可能就会将这台metalogger 机器取代而作为master server。

     cd
     rm -rf moosefs-3.0.86    #元数据又是另外一台服务器,这里我们在一台机器上做,那么我们也要重新编译
     tar xvf moosefs-3.0.86-5.tar.gz && cd moosefs-3.0.86       #编译的时候,用户在若在其他设备,需要新建运行mfs角色的用户,  192.168.0.11 上在安装master的时候,已经新建,略过,其他机器上,应该执行useradd -s /sbin/nologin mfs
     ./configure --prefix=/usr/local/mfsmeta --with-default-user=mfs --with-default-group=mfs
     make && make install
     cd /usr/local/mfsmeta/etc/mfs/
     cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
     vim mfsmetalogger.cfg
    # META_DOWNLOAD_FREQ = 24   
    #24元数据备份文件下载请求频率。默认为24小时,即每隔一天从元数据服务器 
    #(MASTER) 下载一个 metadata.mfs.back 文 件 。 当 元 数 据 服 务 器 关 闭 戒 者 出 故 障 时 , matedata.mfs.back 文件将消失,那么要恢复整个 mfs,则需从 metalogger 服务器取得该文件。请特别注意这个文件,它与日志文件一起,才能够恢复整个被损坏的分布式文件系统。 
    
    MASTER_HOST = 192.168.0.11         #此行原来注释了,修改,并启用
    #MASTER_HOST,这个文件中需要修改的是 MASTER_HOST 变量,这个变量的值是 MASTER SERVER 的 IP 地址 
     chown -R mfs:mfs /usr/local/mfsmeta/
    启动元数据日志服务器
         /usr/local/mfsmeta/sbin/mfsmetalogger start
    working directory: /usr/local/mfsmeta/var/mfs
    lockfile created and locked
    initializing mfsmetalogger modules ...
    mfsmetalogger daemon initialized properly
         echo "/usr/local/mfsmeta/sbin/mfsmetalogger start" >> /etc/rc.local
    服务关闭方法
         /usr/local/mfsmeta/sbin/mfsmetalogger stop
    查看端口
         /usr/local/mfsmeta/sbin/mfsmetalogger start
         lsof -i :9419
    COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    mfsmaster 49647  mfs    8u  IPv4  58608      0t0  TCP *:9419 (LISTEN)
    mfsmaster 49647  mfs   11u  IPv4  63142      0t0  TCP xuegod63.cn:9419->xuegod63.cn:47563 (ESTABLISHED)
    mfsmetalo 54672  mfs    8u  IPv4  63141      0t0  TCP xuegod63.cn:47563->xuegod63.cn:9419 (ESTABLISHED)
    到此为止,我们Master和Metalogger服务器安装完成,且在一台机器上

    Chunk Server安装配置
    192.168.0.13
    安装数据服务器(chunkservers),这些机器的磁盘上要有适当的剩余空间,而且操作系统要遵循POSIX 标准(验证了的有这些: Linux, FreeBSD, Mac OS X and OpenSolaris)。
    Chunkserver存储数据时,是在一个普通的文件系统如ext4上储存数据块或碎片(chunks/fragments)作为文件。 你在chunkserver上看不到完整的文件。

         useradd -s /sbin/nologin mfs
     tar xvf moosefs-3.0.86-5.tar.gz
         cd moosefs-3.0.86 && ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs && make && make install
    配置文件修改
         cp mfschunkserver.cfg.dist mfschunkserver.cfg  /主配置文件
     cp mfshdd.cfg.dist mfshdd.cfg  //使用的磁盘空间配置文件
     vim mfschunkserver.cfg
    MASTER_HOST = 192.168.0.11 #元数据服务器的名称或地址,可以是主机名,也可以是 ip 地址
    MASTER_PORT = 9420          #可以启用它,也可以不启用,不启用,默认就是9420
    # CSSERV_LISTEN_PORT = 9422     #这个监听端口用于与其它数据存储服务器间的连接,通常是数据复制
    
    # HDD_CONF_FILENAME = /usr/local/mfs/etc/mfs/mfshdd.cfg     #分配给 MFS 使用的磁盘空间配置文件的位置 
     vim mfshdd.cfg
    # mount points of HDD drives
    #
    #/mnt/hd1
    #/mnt/hd2
    #etc.
    /tmp
    #在这里/tmp 是一个给 mfs 的分区,但在生产环境是一个独立的磁盘的挂载目录 
     chown -R mfs:mfs /usr/local/mfs/
    #服务器启动关闭
      /usr/local/mfs/sbin/mfschunkserver start
    working directory: /usr/local/mfs/var/mfs
    lockfile created and locked
    initializing mfschunkserver modules ...
    hdd space manager: path to scan: /tmp/
    hdd space manager: start background hdd scanning (searching for available chunks)
    main server module: listen on *:9422
    no charts data file - initializing empty charts
    mfschunkserver daemon initialized properly
     echo "/usr/local/mfs/sbin/mfschunkserver start" >> /etc/rc.local 
     chmod +x /etc/rc.local
     ls /tmp            //分块存储,人工时无法认识的
    00  11  22  33  44  55  66  77  88  99  AA  BB  CC  DD  EE  FF
    01  12  23  34  45  56  67  78  89  9A  AB  BC  CD  DE  EF  keyring-J8XeaN
    02  13  24  35  46  57  68  79  8A  9B  AC  BD  CE  DF  F0  orbit-gdm
    03  14  25  36  47  58  69  7A  8B  9C  AD  BE  CF  E0  F1  orbit-root
    04  15  26  37  48  59  6A  7B  8C  9D  AE  BF  D0  E1  F2  pulse-oErxG6JvcJR1
    05  16  27  38  49  5A  6B  7C  8D  9E  AF  C0  D1  E2  F3  pulse-ZvGMw7hIpLaC
    06  17  28  39  4A  5B  6C  7D  8E  9F  B0  C1  D2  E3  F4  vgauthsvclog.txt.0
    07  18  29  3A  4B  5C  6D  7E  8F  A0  B1  C2  D3  E4  F5  virtual-root.qMLdFF
    08  19  2A  3B  4C  5D  6E  7F  90  A1  B2  C3  D4  E5  F6  VMwareDnD
    09  1A  2B  3C  4D  5E  6F  80  91  A2  B3  C4  D5  E6  F7  vmware-root
    0A  1B  2C  3D  4E  5F  70  81  92  A3  B4  C5  D6  E7  F8
    0B  1C  2D  3E  4F  60  71  82  93  A4  B5  C6  D7  E8  F9
    0C  1D  2E  3F  50  61  72  83  94  A5  B6  C7  D8  E9  FA
    0D  1E  2F  40  51  62  73  84  95  A6  B7  C8  D9  EA  FB
    0E  1F  30  41  52  63  74  85  96  A7  B8  C9  DA  EB  FC
    0F  20  31  42  53  64  75  86  97  A8  B9  CA  DB  EC  FD
    10  21  32  43  54  65  76  87  98  A9  BA  CB  DC  ED  FE
     /usr/local/mfs/sbin/mfschunkserver stop        //关闭方法

    配置客户端
    192.168.0.155

    [root@test155 ~]# yum install rpm-build gcc gcc-c++ fuse-devel zlib-devel -y
    [root@test155 ~]# useradd -s /sbin/nologin mfs
    [root@test155 ~]# tar xvf moosefs-3.0.86-5.tar.gz && cd moosefs-3.0.86
     ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount     //mfsmount必须有,作为客户端必须有的一个选项
     make && make install
     mkdir /mfs
     lsmod | grep fuse
    fuse                   73530  4
     modprobe fuse          //若没有,加载一下
     ln -s /usr/local/mfs/bin/mfsmount /usr/bin/mfsmount
     mfsmount /mfs/ -H 192.168.0.11-p       //将mfs共享出来的存储空间挂载到192.168.0.11的/ /mfs目录下
    MFS Password:           #直接回车
    mfsmaster accepted connection with parameters: read-write,restricted_ip ; root mapped to root:root
     df –h
    ……
    192.168.0.11:9421  5.3G     0  5.3G   0% /mfs
     echo "modprobe fuse" >> /etc/rc.local 
     echo "/usr/local/mfs/bin/mfsmount /mfs -H 192.168.1.63" >> /etc/rc.local 
     chmod +x /etc/rc.local
    #测试
     yum install -y tree        //64上用tree监控状态
     tree /tmp/
    /tmp/
    ├── 00
    ├── 01
    ├── 02
    ├── 03
    ├── 04
    ├── 05
    ├── 06
    ├── 07
    ├── 08
    ├── 09
    ├── 0A
    ├── 0B
    ├── 0C
    ├── 0D
    ├── 0E
     cp -r /boot/* /mfs/        //客户端写入数据
     tree /tmp/                 //存储服务器监控
    /tmp/
    ├── 00
    ├── 01
    │   └── chunk_0000000000000001_00000001.mfs
    ├── 02
    │   └── chunk_0000000000000002_00000001.mfs
    ├── 03
    │   └── chunk_0000000000000003_00000001.mfs
    ├── 04
    │   └── chunk_0000000000000004_00000001.mfs
    ├── 05
    │   └── chunk_0000000000000005_00000001.mfs
     ls /mfs            //客户端是看得到的文件内容,而在我们的Chunk Server上看到的都是一些碎片
    config-2.6.32-431.el6.x86_64         lost+found
    efi                                  symvers-2.6.32-431.el6.x86_64.gz
    grub                                 System.map-2.6.32-431.el6.x86_64
    initramfs-2.6.32-431.el6.x86_64.img  vmlinuz-2.6.32-431.el6.x86_64
    
    

    添加Chunk Server
    开启一台192.168.0.156

    [root@test156 ~]#  yum install rpm-build gcc gcc-c++ fuse-devel zlib-devel –y
    [root@test156 ~]# useradd -s /sbin/nologin mfs
    [root@test156 ~]# tar xvf moosefs-3.0.86-5.tar.gz && cd moosefs-3.0.86
    [root@test156 moosefs-3.0.86]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs && make && make install
    [root@test156 moosefs-3.0.86]# cd /usr/local/mfs/etc/mfs/
     cp mfschunkserver.cfg.dist mfschunkserver.cfg
     vim mfschunkserver.cfg
    MASTER_HOST = 192.168.0.11         #次行修改
    MASTER_PORT = 9420                      #去掉注释
     cp mfshdd.cfg.dist mfshdd.cfg
     vim mfshdd.cfg
    # mount points of HDD drives
    #
    #/mnt/hd1
    #/mnt/hd2
    #etc.
    /opt            #添加一行
     chown -R mfs:mfs /usr/local/mfs/
     chown -R mfs:mfs /opt/
     /usr/local/mfs/sbin/mfschunkserver start
    working directory: /usr/local/mfs/var/mfs
    lockfile created and locked
    initializing mfschunkserver modules ...
    hdd space manager: path to scan: /opt/
    hdd space manager: start background hdd scanning (searching for available chunks)
    main server module: listen on *:9422
    no charts data file - initializing empty charts
    mfschunkserver daemon initialized properly
     yum install -y tree
     /usr/local/mfs/sbin/mfsmaster stop     //重启管理
     /usr/local/mfs/sbin/mfsmaster start
     /usr/local/mfsmeta/sbin/mfsmetalogger stop //元数据日志
      /usr/local/mfsmeta/sbin/mfsmetalogger start
     cp /etc/passwd /mfs/           写入数据
     cp /etc/hosts /mfs/
     tree /opt/
    ……
    ├── 16
    │   └── chunk_0000000000000016_00000001.mfs
    ├── 17
     tree /tmp
    │   └── chunk_0000000000000015_00000001.mfs
    ├── 16            #注意,16号这里没有,而在pualinux11上就有
    ├── 17
    │   └── chunk_0000000000000017_00000001.mfs
    设置复制份数
     cd /usr/local/mfs/bin/         //客户端
     ./mfssetgoal -r 2 /mfs/                    //设置2份
     ./mfsgetgoal /mfs
    /mfs: 2
     tree /opt/         查看是否增加了块二那件
    
    /opt/
    ├── 00
    ├── 01
    │   └── chunk_0000000000000001_00000001.mfs
    ├── 02
    │   └── chunk_0000000000000002_00000001.mfs
    ├── 03
    │   └── chunk_0000000000000003_00000001.mfs
    ├── 04
    │   └── chunk_0000000000000004_00000001.mfs
    ├── 05
    │   └── chunk_0000000000000005_00000001.mfs
    ├── 06
    │   └── chunk_0000000000000006_00000001.mfs
    ├── 07
    │   └── chunk_0000000000000007_00000001.mfs
     ./mfsfileinfo /mfs/initramfs-2.6.32-431.el6.x86_64.img
                                //查看复制份数,都保存在哪儿
    

    回收站清空时间

    mfsrsettrashtime 600 /mnt/mfs/          //回收站清空时间,s计算,设置文件或目录的删除时间。一个删除的文件能够存放在“ 垃圾箱”中的时间称为隔离时间, 这个时间可以用mfsgettrashtime 命令来查看,用mfssettrashtime 命令来设置。单位为秒。
    单独安装或挂载MFSMETA 文件系统,它包含目录/ trash (包含仍然可以被还原的删除文件的信息)和/ trash/undel (用于获取文件)。
    把删除的文件,移到/ trash/undel下,就可以恢复此文件。
    在MFSMETA 的目录里,除了trash 和trash/undel 两个目录,还有第三个目录reserved,该目录内有已经删除的文件,但却被其他用户一直打开着。在用户关闭了这些被打开的文件后,reserved 目录中的文件将被删除,文件的数据也将被立即删除。此目录不能进行操作。
    mfsmaster配置文件
    #WORKING_USER = mfs               #运行master server 用户
    # WORKING_GROUP = mfs             #运行master server 组
    # SYSLOG_IDENT = mfsmaster        #master server 在syslog中的标识,说明是由master产生的
    # LOCK_MEMORY = 0                 #是否执行mlockall()避免mfsmaster 进程溢出(默认为0)
    # NICE_LEVEL = -19                #运行的优先级(如果可以默认-19;注意:进程必须是用root启动)
    # EXPORTS_FILENAME = /usr/local/mfs/etc/mfsexports.cfg #被挂接的目录及其权限控制文件的存放位置
    # DATA_PATH = /usr/local/mfs/var/mfs #数据存放路径,此目录分三类文件,changelog ,sessions 和stats
     # BACK_LOGS = 50                        #metadata的改变log文件数目(默认是50# REPLICATIONS_DELAY_INIT = 300         #延迟复制的时间(默认是300s)
    # REPLICATIONS_DELAY_DISCONNECT = 3600  #chunkserver 断开的复制延迟(默认是3600)
    # MATOCS_LISTEN_HOST = *                #metalogger 监听的ip地址(默认是*,代表任何ip)
    # MATOCS_LISTEN_PORT = 9419             #metalogger 监听的端口地址(默认是9419)
    # MATOCS_LISTEN_HOST = *                #用于chunkserver 连接的ip地址(默认是*,代表任何ip)
    # MATOCS_LISTEN_PORT = 9420             #用于chunkserver 连接的端口地址(默认是9420)
    # MATOCU_LISTEN_HOST = *                #用于客户端挂接的ip地址(默认*,代表任何ip)
    # MATOCU_LISTEN_PORT = 9421             #用于客户端挂接连接的端口地址(默认9421)
    # CHUNKS_LOOP_TIME = 300                #chunksde 回环频率(默认是:300秒)
    # CHUNKS_WRITE_REP_LIMIT = 1            #在一个循环里复制到一个chunkserver的最大chunk数目
    # CHUNKS_READ_REP_LIMIT = 5             #在一个循环里从一个chunkserver复制的最大chunk数目
    #CHUNKS_READ_REP_LIMIT = 0      弹出低于1.6.0的客户端挂接(0或1,默认是0

    MFS回收站部署及测试

    1、在客户端创建目录并且赋权
    #mkdir /mfs/mfsmeta
    #cd /mfs
    #chown -R mfs:mfs mfsmeta   
    2. 挂载目录
    #/usr/bin/mfsmount -m /mfs/mfsmeta/ -H 192.168.0.11  //mfsmaster可以使用Master机IP
    #/usr/bin/mfsmount /mfs -H 192.168.0.11
    3. 查看挂载后的目录结构
    #cd /mfs/mfsmeta/
    #ll
    #cd trash
    #ll
    #cd undel
    4、开始删除并还原测试
    #cd /mfs/mfsmeta/
    #ll
    #rm -rf web
    #cd /mfs/mfsmeta/
    #cd trash
    #ls
    #mv 0000000F|gagag undel
    #ls
    #cd /mfs
    
    

    集群启动和关闭循序
    MFS集群启动:
    1 启动master server
    2 启动chunk server
    3 启动metalogger
    4 启动客户端,使用mfsmount挂载相关目录
    MFS集群停止:
    1 所有客户端卸载MooseFS文件系统
    2 停止chunkserver
    3 停止metalogger
    4 停止master server
    “`

  • 相关阅读:
    Valid Palindrome
    Construct Binary Tree from Inorder and Postorder Traversal
    LeetCode: LRU Cache
    LeetCode: Max Points on a Line
    LeetCode: Evaluate Reverse Polish Notation
    LeetCode:Two Sum
    LeetCode: Binary Tree Postorder Traversal
    LeetCode:Binary Tree Maximum Path Sum
    iOS开发 入门学习总结(二)Objective-C 语法特性总结
    LeetCode: Minimum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/flyhgx/p/6367959.html
Copyright © 2020-2023  润新知