zoukankan      html  css  js  c++  java
  • Linux-部署MFS分布式文件系统

    MFS分布式文件系统

     

     

    一、     实验名称:

    • MFS分布式文件系统

    二、     实验目的: 

    • 熟悉MFS文件系统的组成
    • 熟悉MFS读写数据的处理过程
    • 搭建MFS文件系统
    • 对MFS进行故障恢复

    三、     实验环境: 

    主机

    操作系统

    IP地址

    主要软件

    Master

    CentOS 7 x86_64

    192.168.10.101

    mfs-1.6.27-5.tar.gz

    MetaLogger

    CentOS 7 x86_64

    192.168.10.102

    mfs-1.6.27-5.tar.gz

    Chunk Server1

    CentOS 7 x86_64

    192.168.10.103

    mfs-1.6.27-5.tar.gz

    Chunk Server2

    CentOS 7 x86_64

    192.168.10.104

    mfs-1.6.27-5.tar.gz

    Chunk Server3

    CentOS 7 x86_64

    192.168.10.105

    mfs-1.6.27-5.tar.gz

    Client

    CentOS 7 x86_64

    192.168.10.106

    mfs-1.6.27-5.tar.gz

    fuse-2.9.2.tar.gz

    将所需软件拷贝至各个服务器的/usr/src目录中

    四:实验思路:

    1. 搭建master server
    2. 搭建MetaLogger Server
    3. 搭建Chunk Server
    4. 配置客户端
    5. MFS监控

     

    实验过程

     

    一:配置master server

    1:按照图表设置各个服务器的ip地址

    2:关闭每台服务器的firewalld防火墙和selinux

    3:设置每台服务器的yum源

    4:创建用户

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

    5:安装源码包

    [root@localhost ~]# yum -y install zlib-devel

    [root@localhost ~]# yum -y install gcc*

    [root@localhost ~]# tar xf mfs-1.6.27-5.tar.gz

    [root@localhost ~]# cd mfs-1.6.27

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

    [root@localhost mfs-1.6.27]# make

    [root@localhost mfs-1.6.27]# make install

    6:复制文件

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

    [root@localhost mfs]# ll

    总用量 16

    -rw-r--r--. 1 root root 4060 11月 14 19:31 mfsexports.cfg.dist

    -rw-r--r--. 1 root root 1020 11月 14 19:31 mfsmaster.cfg.dist

    -rw-r--r--. 1 root root  417 11月 14 19:31 mfsmetalogger.cfg.dist

    -rw-r--r--. 1 root root 1123 11月 14 19:31 mfstopology.cfg.dist

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

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

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

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

    [root@localhost mfs]# ll

    总用量 4

    -rw-r--r--. 1 root root 8 11月 14 19:31 metadata.mfs.empty

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

    7:配置文件

    (1):mfsmaster.cfg的配置文件(无需修改)

    [root@localhost mfs]# vi /usr/local/mfs/etc/mfs/mfsmaster.cfg

    (2)mfsexports.cfg的配置文件(无需修改)

    [root@localhost mfs]# vi /usr/local/mfs/etc/mfs/mfsexports.cfg

    8:启动master server

    [root@localhost mfs]# /usr/local/mfs/sbin/mfsmaster start

    [root@localhost mfs]# ps -ef | grep mfs            \检查是否启动

    mfs       42599      1  1 21:56 ?        00:00:00 /usr/local/mfs/sbin/mfsmaster start

    root      42601  12890  0 21:56 pts/0    00:00:00 grep mfs

    二:搭建MetaLogger Server(可以将日志服务器安装在master上,只需操作黄色区域的命令即可)

    [root@localhost 桌面]# yum -y install zlib-devel

    [root@localhost 桌面]# yum -y install gcc*

    [root@localhost 桌面]# useradd mfs -s /sbin/nologin

    [root@localhost 桌面]# cd /usr/src

    [root@localhost src]# tar xf mfs-1.6.27-5.tar.gz

    [root@localhost src]# cd mfs-1.6.27

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

    [root@localhost mfs-1.6.27]# make

    [root@localhost mfs-1.6.27]# make install

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

    [root@localhost mfs]# ll

    总用量 16

    -rw-r--r--. 1 root root 4060 11月 14 20:03 mfsexports.cfg.dist

    -rw-r--r--. 1 root root 1020 11月 14 20:03 mfsmaster.cfg.dist

    -rw-r--r--. 1 root root  417 11月 14 20:03 mfsmetalogger.cfg.dist

    -rw-r--r--. 1 root root 1123 11月 14 20:03 mfstopology.cfg.dist

    [root@localhost mfs]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

    [root@localhost mfs]# vi mfsmetalogger.cfg

    修改:

    MASTER_HOST = 192.168.10.101              \注意去掉前面的注释符

    [root@localhost 桌面]# chown -R mfs:mfs /usr/local/mfs/var/mfs/

    [root@localhost mfs]# /usr/local/mfs/sbin/mfsmetalogger start

    [root@localhost mfs]# ps -ef | grep mfs

    mfs       42599      1  0 21:56 ?        00:00:00 /usr/local/mfs/sbin/mfsmaster start

    mfs       42612      1  0 21:58 ?        00:00:00 /usr/local/mfs/sbin/mfsmetalogger start

    root      42614  12890  0 21:59 pts/0    00:00:00 grep mfs

    三:chunk server的设置(每台chunk server主机的安装方法和配置都是一样的)

    [root@localhost 桌面]# yum -y install zlib-devel

    [root@localhost mfs-1.6.27]# yum -y install gcc*

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

    [root@localhost ~]# cd /usr/src

    [root@localhost src]# tar xf mfs-1.6.27-5.tar.gz

    [root@localhost src]# cd 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-mfsmount

    [root@localhost mfs-1.6.27]# make

    [root@localhost mfs-1.6.27]# make install

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

    [root@localhost mfs]# ll

    总用量 8

    -rw-r--r--. 1 root root 531 11月 14 20:22 mfschunkserver.cfg.dist

    -rw-r--r--. 1 root root  57 11月 14 20:22 mfshdd.cfg.dist

    [root@localhost mfs]# cp mfschunkserver.cfg.dist mfschunkserver.cfg

    [root@localhost mfs]# cp mfshdd.cfg.dist mfshdd.cfg

    [root@localhost mfs]# vi mfschunkserver.cfg

    修改:

    MASTER_HOST = 192.168.10.101          \注意去掉前面的注释符,此处设置为master的ip地址

    [root@localhost mfs]# vi mfshdd.cfg

    添加:

    /data                       \在最末尾添加

    [root@localhost mfs]# mkdir /data

    [root@localhost mfs]# chown -R mfs:mfs /data

    [root@localhost mfs]# /usr/local/mfs/sbin/mfschunkserver start

    [root@localhost mfs]# ps -ef | grep mfs

    mfs       18627      1  0 22:04 ?        00:00:00 /usr/local/mfs/sbin/mfschunkserver start

    root      18653  12893  0 22:05 pts/0    00:00:00 grep mfs

    四:客户端配置

    1:安装FUSE

    用户空间文件系统(Filesystem in Userspace),是Linux 中用于挂载某些网络空间用的。

    [root@localhost 桌面]# yum -y install zlib-devel

    [root@localhost mfs-1.6.27]# yum -y install gcc*

    [root@localhost ~]# tar xf fuse-2.9.2.tar.gz

    [root@localhost ~]# cd fuse-2.9.2

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

    [root@localhost fuse-2.9.2]# make

    [root@localhost fuse-2.9.2]# make install

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

    在末尾添加:

    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

     pkg-config用来检索系统中安装库文件的信息,在此指定其路径

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

    注释:使依赖此链接库的其它程序能够借助pkg-config自动加载该库,避免编译期错误

    2:安装mfs客户端

    [root@localhost fuse-2.9.2]# useradd mfs -s /sbin/nologin

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

    [root@localhost src]# tar xf mfs-1.6.27-5.tar.gz

    [root@localhost src]# cd 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

    [root@localhost mfs-1.6.27]# make

    [root@localhost mfs-1.6.27]# make install

    3:挂在MFS文件系统

    [root@localhost mfs-1.6.27]# mkdir /mnt/mfs

    [root@localhost mfs-1.6.27]# modprobe fuse

    [root@localhost mfs-1.6.27]# /usr/local/mfs/bin/mfsmount /mnt/mfs -H 192.168.1.101 # IP为master的 IP

    [root@localhost mfs-1.6.27]# df –TH

    4:MFS常用操作

    [root@localhost 桌面]# vi /etc/profile

    末尾添加

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

    [root@localhost 桌面]# source /etc/profile

    [root@localhost 桌面]# mfsgetgoal -r /mnt/mfs        \查看文件被复制的份数

    [root@localhost 桌面]# mfssetgoal -r 3 /mnt/mfs           \设置文件被复制的份数

    5:创建测试文件

    [root@localhost 桌面]# cd /mnt/mfs

    [root@localhost mfs]# touch test

    [root@localhost mfs]# mfsgetgoal test

    6:故障测试

    将chunkserver全都断开,测试是否能继续写入数据(能够用touch命令创建新的文件,但无法写入数据)

    五:MFS监听

    1:在master server上启动监听服务

    [root@localhost 桌面]# /usr/local/mfs/sbin/mfscgiserv

    2:在任何一台机器上打开

    http://192.168.10.101:9425

    六:MFS的维护与灾难恢复

    1:MFS群集的启动顺序

    启动mfsmaster

    启动所有的mfschunkserver

    启动mfsmetalogger

    在所有的客户端挂在MFS文件系统

    2:停止集群的顺序

    在所有的客户端卸载MFS文件系统

    用mfschunkserver –s命令停止chunkserver进程

    用mfsmetalogger –s命令停止metalogger进程

    用mfsmaster –s命令停止master进程

    3:MFS灾难恢复

    1) 如果突然断电造成master进程无法启动可用如下命令修复

    /usr/local/mfs/sbin/mfsmetarestore -a

    2) master发生故障时,从metalogger中恢复

    • 安装一台新的mfsmaster服务器
    • 将metalogger上的/usr/loal/mfs/var/mfs/目录中的所有文件复制到新的mfsmaster服务器的同样的目录中。
    • 在新的master服务器中合并元数据changlogs

    /usr/local/mfs/sbin/mfsmetarestore -m metadata_ml.mfs.back -o metadata.mfs changelog_ml.*.mfs修改metalogger和chunkserver中配置文件中MASTER_HOST参数的ip地址

  • 相关阅读:
    C# 拖放操作源码详解
    Dev系列控件之XtraCharts(一)
    DateEdit如果开启Vista模式并显示日期+时间模式
    DevXpress控件: 第二篇将绘图进行到底: Charter控件(附图)
    C#操作Word (1)Word对象模型
    文曲星猜数,纯粹乱写
    转 浩方原理初步分析
    生成变换方向矩阵
    关于嵌套类的调用更新问题
    所有前n位可以被n整除的9位数
  • 原文地址:https://www.cnblogs.com/Vampire-MIn/p/13050036.html
Copyright © 2011-2022 走看看