zoukankan      html  css  js  c++  java
  • 学习MFS(五)

    wKioL1hVGGXR1_hDAAChGllbb6E410.png-wh_50

     ##########################################################

    mfs master 安装

      建议 cp eth0 eth0:0

     ifup eth0:0

    ##########################################################

     修改 vim/etc/hosts 

     cd /home/oldboy/tools

     groupadd mfs 

    useradd -g mfs mfs -s /sbin/nologin 

    ##########################################################

     yum install fuser* zlib* -y

    tar zxf mfs-1.6.27-5.tar.gz

    cd mfs-16.27

     ./configure --prefix=/application/mfs-1.6.27  --with-default-user=mfs --with-default-group=mfs

    make

    make install 

    ln -s /application/mfs-1.6.27 /application/mfs

    ll /aaplication/ |grep mfs

     ##########################################################

     设置用户名和组

    vim mfsmaster.cfg

     WORKING_USER = mfs

     WORKING_GROUP = mfs   

    ##########################################################

    设置挂载点

     cat >mfsexports.cfg<<EOF

     #ALLOW "meta"

    *        . rw      #启用回收站

    #ALLow everything but "meta"

    10.0.0.0/24  /  rw,alldirs,mppall=mfs:mfs,password=111111    #设置:网段,挂载目录,权限,用户密码

    EOF

    ########################################################## 

     启动

    cd /application/mfs/var/mfs

    cp metadata.mfs.mepty metadata.mfs

    echo "exprt PATH=$PATH:/application/mfs/sbin:/application/mfs/bin" >>/etc/profile

    tail -l /etc/profile

    /application/mfs/sbin/mfsmaster start 

     netstat -lntup |grep 94

    ##########################################################

    echo $PATH

    设置开机启动

    echo "/application/mfs/sbin/mfsmaster start" >>/etc/rc.local

     ##########################################################

    启动图型

    mfscgiserv start

    http://10.0.0.7:9425

     ##########################################################

     安装backup

    groupadd mfs 

    useradd -g mfs mfs -s /sbin/nologin 

     ##########################################################

    yum install fuser* zlib* -y

    tar zxf mfs-1.6.27-5.tar.gz

    cd mfs-16.27

     ./configure --prefix=/application/mfs-1.6.27  --with-default-user=mfs --with-default-group=mfs

    make

    make install 

     ##########################################################

    ln -s /application/mfs-1.6.27 /application/mfs

    ll /aaplication/ |grep mfs

     ##########################################################

     设置环境变量

    echo "exprt PATH=$PATH:/application/mfs/sbin:/application/mfs/bin" >>/etc/profile

    tail -l /etc/profile

     ##########################################################

    cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

     vim mfsmetalogger.cfg

     MASTER_HOST = mfsmaster.etiantian.org  #修改maste的 ip地址或者域名

     ##########################################################

    启动

    /application/mfs/sbin/mfsmetalogger start 

     netstat -lntup |grep mfs

    netstat -lntup |grep 94

     ##########################################################

    netstat -an |grep -i est

    chown -R mfs /application/mfs/var/mfs

    tail -f /var/log/messages 

     ##########################################################

    设置开机启动

    echo "/application/mfs/sbin/mfsmetalogger start" >>/etc/rc.local

     ##########################################################

    data安装

    groupadd mfs 

    useradd -g mfs mfs -s /sbin/nologin 

     ##########################################################

    yum install fuser* zlib* -y

    tar zxf mfs-1.6.27-5.tar.gz

    cd mfs-16.27

     ./configure --prefix=/application/mfs-1.6.27  --with-default-user=mfs --with-default-group=mfs

    make

    make install 

     ##########################################################

    ln -s /application/mfs-1.6.27 /application/mfs

    ll /aaplication/ |grep mfs

     ##########################################################

     设置环境变量

    echo "exprt PATH=$PATH:/application/mfs/sbin:/application/mfs/bin" >>/etc/profile

    tail -l /etc/profile

     ##########################################################

    vim mfschunkserver.cfg

     MASTER_HOST = mfsmaster.etiantian.org # 修改master ip地址或者域名

     修改挂载目录

    vim /application/mfs/etc/mfs/mfshdd.cfg

     /msfdata #可以设置多个

     chown -R mfs.mfs /msfdata

     ##########################################################

    启动

    /application/mfs/sbin/mfschunkserver start

     其它几台server 安装一样

     ##########################################################

     安装客户端

     如果客户端没有fuse 需要安装

    wget http://nchc.dl.sourceforge.net/project/fuse/fuse-2.X/2.9.2/fuse-2.9.2.tar.gz

     ./configure

    make 

    make install 

     ##########################################################

    groupadd mfs 

    useradd -g mfs mfs -s /sbin/nologin 

     yum install fuser* zlib* -y

    tar zxf mfs-1.6.27-5.tar.gz

    cd mfs-16.27

     ./configure --prefix=/application/mfs-1.6.27  --with-default-user=mfs --with-default-group=mfs

    make

    make install 

     ##########################################################

    ln -s /application/mfs-1.6.27 /application/mfs

    ll /aaplication/ |grep mfs

     ##########################################################

    方法(1)设置开机自动加载fuse到内核

    echo "/modprobe fuse" >/etc/sysconfig/modules/fuse.modules

    chmod 755 /etc/sysconfig/modules/fuse.modules

     ##########################################################

     方法(2)设置开机自动加载fuse到内核

    echo "modprobe fuse" >>/etc/ec.modules

    chmod 755 /etc/rc.modules

     ##########################################################

    挂载

    /application/mfs/bin/mfsmount /mnt/mfs -H mfsmster.etiantian.org -o mfspassword=111111      

     ##########################################################

    搭建完成

    随便创建几个文件 分别在master和backup查看日志 

    cat /application/mfs/var/mfs/changelog_ml

     ##########################################################

    查看文件命令

    mfsfileinfo 1 

    设置副本:为3份

    mfssetgoal -r 3 a1 

    查看数量

    mfsfileinfo al/10

     ##########################################################

    测试

    创建文件

    dd if=/dev/zero of=/mnt/mfs/test/10m.img bs=1M count=10

    mfsfileinfo test/10m.img

    查看删除文件时间

    mfsgettrashtime 10m.img

    设置文件删除时间

    mfssettrashtime -r 1200 /a2 

    客户端挂载回收站

    mfsmaster.etiantian.org -m /mnt/mfs-trash/

    还原文件

    移动删除的文件到 undel下即可

     mv 0000002|a2|oldboy.txt undel/

     ##########################################################

     备份master与master恢复1

      需要备份下面两个文件

     /application/mfs/var/

     /application/mfs/etc/

        脚本

        while true

      do

         cd /application/mfs

    rsyrc -azv var /opt/ >/dev/null 2>&1

     rsyrc -azv etc /opt/ >/dev/null 2>&1

     usleep 500000

     done

    sh -x bakmeta.sh

    sh  bakmeta.sh & 

     ##########################################################

    恢复master

    新安装机器用上面备份的文件直接覆盖即可

    mfsmetarestore -a

    /application/mfs/sbin/mfsmaster start 

    客户端需要重新挂载

    umount /mnt/mfs

    /application/mfs/bin/mfsmount /mnt/mfs -H mfsmster.etiantian.org -o mfspassword=111111      

     ##########################################################

     备份master与master恢复2

     首先该ip地址

     建议 cp eth0 eth0:0

     ifup eth0:0

     修改 vim/etc/hosts 

     ##########################################################

     把上面备份好的rsyrc -azv etc /opt/ 拷贝到 /application/mfs 下面

     mfsmetalogger -s 

     cd /application/mfs

     mfsmetalogger -m metadata_ml.mfs.back* -o metadata.mfs changelog_ml* 

     mfsmaster start 

      netstat -lntup |grep 94 

     mfscgiserv start  

     ##########################################################

     解决单点故障

      利用keepalived+inotify 实现 mfs master的高可用

    ##########################################################

    其中各部分含义如下:

    Info:显示了MFS的基本信息

    Servers:列出现有的Chunk Server

    Disks:列出现有的Chunk Server硬盘信息

    Exports:列出了可被挂载的目录

    Mounts:列出了被挂载的目录

    Operations:显示正在执行的操作 

    Master charts:显示了Master Server的操作情况,读、写删除等操作

    Server charts:显示了Chunk Server的操作情况、传输速率及系统状态

    MFS灾难恢复

        整个MFS体系中,直接断电只有master server进程有可能无法启动,可以在master上使用命令/usr/local/mfs/sbin/mfsmetarestore -a修复

        我们将master server 直接断电,在重新开机,结果如下:

    [root@localhost ~]# /usr/local/mfs/sbin/mfsmaster start     //启动失败
    init: file system manager failed !!!
    error occured during initialization - exiting
    [root@localhost ~]# /usr/local/mfs/sbin/mfsmetarestore -a   //修复
    [root@localhost ~]# /usr/local/mfs/sbin/mfsmaster  start    //启动成功

         MFS元数据通常有两部分的数据,分别如下:

    (1)主要元数据文件metadata.mfs,当mfsmaster运行时会被命名为metadata.back.mfs。

    (2)元数据改变日志 changelog.*.mfs,存储了过去N小时的文件变更。

         在Master 发生故障时,可以从MetaLogger中恢复,步骤如下:

    (1)安装一台mfsmaster,利用同样的配置来配置这台mfsmaster,mfsmaster进程先不要启动

    (2)将metalogger上/usr/local/mfs/var/mfs/目录下所有文件复制到mfsmaster相应的目录中。

    (3)利用mfsmetarestore命令合并数据元changelogs。

     
    [root@localhost ~]# scp root@192.168.1.101:/usr/local/mfs/var/mfs/* /usr/local/mfs/var/mfs/
    [root@localhost ~]# /usr/local/mfs/sbin/mfsmetarestore  -m metadata_ml.mfs.back -o metadata.mfs changelog_ml.*.mfs
    [root@localhost ~]# /usr/local/mfs/sbin/mfsmaster  start

    注意:如果是全新安装的master,恢复数据后,需要更改metalogger和chunkserver,配置MASTER_HOST的IP地址,客户端也需要重新挂载mfs目录。

    (一)本地测试

    1、停止元数据服务 /usr/local/mfs/sbin/mfsmaster

    2、备份元数据服务器数据 cd /usr/local/mfs/var; tar czvfmfs.tgz mfs

    3、删除目录 mv mfs mfs.bk 或 rm –rf mfs

    4、启动元数据服务 ../sbin/mfsmaster start 启动失败,提示不能初始化数据。

    5、解包 tar zxvf mfs.tgz

    6、执行恢复操作 .. /sbin/mfsmetarestore –a

    7、启动元数据服务 ../sbin/mfsmaster start

    8、在MFS客户端检查MFS存储的数据是否跟恢复前一致?能否正常访问等等。

    (二) 迁移测试

    1、 安装新的MFS元数据服务器。

    2、 从当前的元数据服器(master)或日志备份服务器(mfsmetalogger)复制备份文件 metadata.mfs.back/metadate_ml.mfs.back到新的元服务器目录(metadata.mfs.back需要定时用crontab备份).

    3、 从当前的元数据服器(master)或日志备份服务器(mfsmetalogger)复制元数据服务器数据目录(/usr/local/mfs/var/mfs)到这个新的元数据服务器。

    4、 停止原先的那个元数据服务器(关闭计算机或停止它的网络服务)。

    5、 更改新的元数据服务器的ip为原来那个服务器的ip.

    6、 执行数据恢复操作,其命令为:mfsmetarestore -mmetadata.mfs.back -o metadata.mfs changelog_ml.*.mfs 恢复成功后再执行启动新的元数据服务操作。

    7、 启动新的元数据服务 /usr/local/mfs/sbin/mfsmasterstart

    8、 在MFS客户端检查MFS存储的数据是否跟恢复前一致?能否正常访问等等。

    .启动MFS集群

    安全的启动MooseFS 集群(避免任何读或写的错误数据或类似的问题)的方式是按照以下命令步骤:

    1. 启动mfsmaster 进程

    2. 启动所有的mfschunkserver 进程

    3. 启动mfsmetalogger 进程(如果配置了mfsmetalogger)

    4. 当所有的chunkservers 连接到MooseFS master 后,任何数目的客户端可以利用mfsmount 去挂接被export 的文件系统。(可以通过检查master 的日志或是CGI 监视器来查看是否所有的chunkserver被连接)。

    2.停止MFS集群

    安全的停止MooseFS 集群:

    1. 在所有的客户端卸载MooseFS 文件系统(用umount 命令或者是其它等效的命令)

    2. 用mfschunkserver stop 命令停止chunkserver 进程

    3. 用mfsmetalogger stop 命令停止metalogger 进程

    4. 用mfsmaster stop 命令停止master 进程

    3.MFS元数据备份

    通常元数据有两部分的数据:

    · 主要元数据文件metadata.mfs,当mfsmaster 运行的时候会被命名为metadata.mfs.back

    · 元数据改变日志changelog.*.mfs,存储了过去的N 小时的文件改变(N 的数值是由BACK_LOGS参数设置的,参数的设置在mfschunkserver.cfg 配置文件中)。

  • 相关阅读:
    ch4-SPSS Statistics操作进阶
    ch3-SPSS Statistics操作入门
    概率论与数理统计-ch7-参数估计
    概率论与数理统计-ch6-样本与抽样分布
    概率论与数理统计-ch5-大数定律及中心极限定理
    概率论与数理统计-ch4-随机变量的数字特征
    概率论与数理统计-ch3-多维随机变量及其分布
    Maven的依赖冲突
    eclipse下的server插件
    JQuery了解
  • 原文地址:https://www.cnblogs.com/wuhg/p/10039606.html
Copyright © 2011-2022 走看看