操作系统内核 实验七

实验内容

以MooseFS-PB分布式文件系统为例,了解分布式文件系统实现方法,功能特点及作用.

实验环境

  1. master server: Ubuntu 18.04

    IP: 10.128.255.181

  2. 元数据日志服务器: Ubuntu 16.04

    IP: 10.128.243.103

  3. chunk server: Ubuntu 16.04

    IP: 10.128.219.79

  4. 客户端: Ubuntu 16.04

    IP: 10.128.205.7

实验过程

搭建master server

安装编译器、工具包

  1. 输入如下命令,安装相关编译器、工具包;

    1
    2
    $ sudo apt install build-essential libpcap-dev zlib1g-dev libfuse-dev pkg-config
    $ sudo apt install fuse

  2. 将moosefs源码拷贝到到/moosefs目录下,进入/moosefs目录安装mfs软件包;

    1
    2
    3
    $ cd moosefs/
    $ sudo ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
    $ sudo make && make install

  3. 修改输出目录配置文件、定义挂载以及权限设定文件、主配置文件、元数据日志文件信息;

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $ cd /usr/local/mfs/etc/mfs/
    #修改输出目录配置文件,定义挂载以及权限设定文件
    $ sudo cp mfsexports.cfg.sample mfsexports.cfg
    #修改主配置文件
    $ sudo cp mfsmaster.cfg.sample mfsmaster.cfg
    #修改元数据日志文件
    $ sudo cp mfstopology.cfg.sample mfstopology.cfg
    #修改master元数据文件
    $ cd /usr/local/mfs/var/mfs/
    $ sudo cp metadata.mfs.empty metadata.mfs

启动master server

  1. 创建进程用户

    1
    $ sudo useradd -s /sbin/nologin mfs
  2. 授权、优化路径

    1
    2
    $ sudo chown -R mfs.mfs /usr/local/mfs
    $ sudo ln -s /usr/local/mfs/sbin/* /usr/local/bin/

  3. 启动服务

    1
    $ sudo mfsmaster start

  4. 查看服务运行成功

    1
    $ sudo netstat -anpt | grep mfsmaster

搭建元数据日志服务器

安装编译器、工具包

  1. 输入如下命令,安装相关编译器、工具包;

    1
    2
    $ sudo apt install build-essential libpcap-dev zlib1g-dev libfuse-dev pkg-config
    $ sudo apt install fuse

  2. 将moosefs源码拷贝到到/moosefs目录下,进入/moosefs目录安装mfs软件包;

    1
    2
    3
    $ cd moosefs/
    $ sudo ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
    $ sudo make && make install

  3. 修改主配置文件

    1
    2
    3
    4
    5
    6
    $ cd /usr/local/mfs/etc/mfs/
    $ sudo cp mfsmaster.cfg.sample mfsmaster.cfg
    $ sudo cp mfsexports.cfg.sample mfsexports.cfg
    $ sudo cp mfsmetalogger.cfg.sample mfsmetalogger.cfg
    $ sudo cd /usr/local/mfs/var/mfs
    $ sudo cp metadata.mfs.empty metadata.mfs

    修改mfsmetalogger.cfg文件内容如下

    1
    2
    $ cd /usr/local/mfs/etc/mfs/
    $ sudo vi mfsmetalogger.cfg
    1
    2
    MASTER_HOST = 10.128.255.181 #执行master服务器的ip地址
    META_DOWNLOAD_FREQ = 24 #备份频率时间

启动元数据日志服务器

  1. 创建进程用户

    1
    $ sudo useradd -s /sbin/nologin mfs
  2. 授权、优化路径

    1
    2
    $ sudo chown -R mfs.mfs /usr/local/mfs
    $ sudo ln -s /usr/local/mfs/sbin/* /usr/local/bin/
  3. 启动服务

    1
    $ sudo mfsmetalogger start

  4. 查看服务运行成功

    1
    $ sudo netstat -anpt | grep mfsmetalogger

搭建chunk server

安装编译器、工具包

  1. 输入如下命令,安装相关编译器、工具包;

    1
    2
    $ sudo apt install build-essential libpcap-dev zlib1g-dev libfuse-dev pkg-config
    $ sudo apt install fuse

  2. 将moosefs源码拷贝到到/moosefs目录下,进入/moosefs目录安装mfs软件包;

    1
    2
    3
    $ cd moosefs/
    $ sudo ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
    $ sudo make && make install

  3. 修改主配置文件

    1
    2
    3
    $ cd /usr/local/mfs/etc/mfs/
    $ sudo cp mfschunkserver.cfg.sample mfschunkserver.cfg
    $ sudo cp mfshdd.cfg.sample mfshdd.cfg

    修改mfschunkserver.cfg文件内容如下

    1
    $ sudo vi mfschunkserver.cfg
    1
    2
    MASTER_HOST  = 10.128.255.181 #指向master服务器的ip地址,去掉注释符号
    MASTER_PORT = 9420

    修改mfshdd.cfg文件内容如下

    1
    2
    3
    #添加一行
    /data
    #这是一个给MFS的分区,生产环境中最好使用独立的分区,或者磁盘挂载到此目录下

启动chunk server

  1. 创建进程用户

    1
    $ sudo useradd -s /sbin/nologin mfs
  2. 创建MFS分区目录

    1
    2
    $ sudo mkdir /data
    $ sudo chown -R mfs:mfs /data/

  3. 授权、优化路径

    1
    2
    $ sudo chown -R mfs.mfs /usr/local/mfs
    $ sudo ln -s /usr/local/mfs/sbin/* /usr/local/bin/
  4. 启动服务

    1
    $ sudo mfschunkserver start

  5. 查看服务运行成功

    1
    $ sudo netstat -anpt | grep mfschunkserve

配置客户端

安装编译器、工具包

  1. 输入如下命令,安装相关编译器、工具包;

    1
    2
    $ sudo apt install build-essential libpcap-dev zlib1g-dev libfuse-dev pkg-config
    $ sudo apt install fuse

  2. 将moosefs源码拷贝到到/moosefs目录下,进入/moosefs目录安装mfs软件包;

    1
    2
    3
    $ cd moosefs/
    $ sudo ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
    $ sudo make && make install

挂载MFS文件系统

  1. 创建进程用户

    1
    $ sudo useradd -s /sbin/nologin mfs
  2. 授权、优化路径

    1
    2
    $ sudo chown -R mfs.mfs /usr/local/mfs
    $ sudo ln -s /usr/local/mfs/sbin/* /usr/local/bin/
  3. 挂载MFS文件系统

    1
    2
    3
    4
    5
    6
    #创建挂载点
    $ sudo mkdir /mnt/mfs
    #加载fuse模块到内核
    $ sudo modprobe fuse
    #挂载MFS
    $ sudo /usr/local/mfs/bin/mfsmount /mnt/mfs/ -H 10.128.255.181

  4. 启动

    1
    $ sudo mfscgiserv start

  5. 查看是否启动成功

    1
    $ sudo netstat -anpt | grep mfs

  6. 打开浏览器,输入url:http://10.128.205.7:9425,显示如下,配置成功

  7. 输入master server的ip地址,则会显示master server的相关信息