千家信息网

MFS分布式文件系统搭建与监控详解

发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,MFS介绍官网地址:http://www.moosefs.com/MooseFS是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。通用文件系统
千家信息网最后更新 2024年11月29日MFS分布式文件系统搭建与监控详解

MFS介绍

官网地址:http://www.moosefs.com/

MooseFS是一个具有容错性的网络分布式文件系统。

它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。通用文件系统,不需要修改上层应用就可以使用,通过附加新的计算机或者硬盘可以实现容量的动态扩展,体系架构可伸缩性极强,删除的文件可以根据配置的时间周期进行保留(一个文件系统级别的回收站),高可靠(数据的多个拷贝被存储在不同的计算机上),提供 web 监控接口,提高随机读或写的效率,提高海量小文件的读写效率。但是mfs 把文件系统的结构缓存到 master 的内存中,文件越多,master 的内存消耗越大,8g 对应 2500w 的文件数,2 亿文件就得 64GB 内存。支持特殊文件(块和字符设备、管道以及套接字),符号连接和硬连接。

包括以下四种角色:


角色作用
管理服务器 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 一样共享这个虚拟性的存储了。


实验环境介绍

基本环境表

主机操作系统IP地址主要软件
Master ServerCentos7.3192.168.137.10moosefs.x86_64.0.3.0.101-1
Metalogger ServerCentos7.3192.168.137.11moosefs.x86_64.0.3.0.101-1
Chunk server1Centos7.3192.168.137.12moosefs.x86_64.0.3.0.101-1
Chunk server2Centos7.3192.168.137.13moosefs.x86_64.0.3.0.101-1
ClientCentos7.3192.168.137.14moosefs.x86_64.0.3.0.101-1

拓扑图

操作步骤

  • 五台虚拟机模拟搭建MFS文件系统

  • 关闭防火墙及selinux

    systemctl stop firewalld
    setenforce 0

    搭建Master Server

    安装软件

    curl "https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS //添加键值
    curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo //添加适当的库条目
    yum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli -y

    配置文件解释

    cd /etc/mfs/

    -rw-r--r--. 1 root root 4057 9月 27 15:18 mfsexports.cfg //输出目录配置文件
    -rw-r--r--. 1 root root 4057 7月 20 19:16 mfsexports.cfg.sample
    -rw-r--r--. 1 root root 9015 9月 27 15:18 mfsmaster.cfg //Master配置文件
    -rw-r--r--. 1 root root 9015 7月 20 19:16 mfsmaster.cfg.sample
    -rw-r--r--. 1 root root 1052 9月 27 15:18 mfstopology.cfg //元数据日志
    -rw-r--r--. 1 root root 1052 7月 20 19:16 mfstopology.cfg.sample

    启动服务

    systemctl start moosefs-master
    systemctl enable moosefs-master
    netstat -ntap | grep mfs

    tcp 0 0 0.0.0.0:9419 0.0.0.0:* LISTEN 6217/mfsmaster
    tcp 0 0 0.0.0.0:9420 0.0.0.0:* LISTEN 6217/mfsmaster
    tcp 0 0 0.0.0.0:9421 0.0.0.0:* LISTEN 6217/mfsmaster

    搭建MetalLogger Server

    安装

    curl "https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS //添加键值
    curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo //添加适当的库条目
    yum install moosefs-metalogger -y

    修改配置文件

    vim /etc/mfs/mfsmetalogger.cfg

    MASTER_HOST = 192.168.137.10 //第52行,去除注释,改地址指向主服务器。

    启动服务

    systemctl start moosefs-metalogger
    systemctl enable moosefs-metalogger
    netstat -ntap | grep mfs

    tcp 0 0 192.168.137.11:36766 192.168.137.10:9419 ESTABLISHED 73521/mfsmetalogger

    搭建Chunk Server

    这两台Chunk Server的搭建步骤是完全相同

    安装

    curl "https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS //添加键值
    curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo //添加适当的库条目
    yum install moosefs-chunkserver -y

    修改配置文件

    修改一

    vim /etc/mfs/mfschunkserver.cfg

    MASTER_HOST = 192.168.137.10 //第77行,将地址指向主服务器

    修改二

    vim /etc/mfs/mfshdd.cfg
    /gongxiang //在末行添加共享目录

    mkdir /gongxiang //创建共享目录

    chown -R mfs:mfs /gongxiang //为共享目录授权

    启动服务

    systemctl start moosefs-chunkserver
    systemctl enable moosefs-chunkserver
    netstat -ntap | grep mfs

    tcp 0 0 0.0.0.0:9422 0.0.0.0:* LISTEN 71921/mfschunkserve
    tcp 0 0 192.168.137.13:59006 192.168.137.10:9420 ESTABLISHED 71921/mfschunkserve

    Client的搭建

    安装

    curl "https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS //添加键值
    curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo //添加适当的库条目
    yum install moosefs-client -y

    加载fuse模块至内核

    modprobe fuse

    挂载共享目录

    mkdir /opt/mfs //创建挂载点
    mfsmount /opt/mfs/ -H 192.168.137.10 //挂载,地址为master地址

    df -h

    文件系统 容量 已用 可用 已用% 挂载点
    /dev/sda6 21G 4.1G 17G 20% /
    devtmpfs 896M 0 896M 0% /dev
    tmpfs 911M 0 911M 0% /dev/shm
    tmpfs 911M 11M 900M 2% /run
    tmpfs 911M 0 911M 0% /sys/fs/cgroup
    /dev/sda2 9.8G 33M 9.8G 1% /opt
    /dev/sda3 4.9G 89M 4.8G 2% /home
    /dev/sda1 1014M 165M 850M 17% /boot
    tmpfs 183M 64K 183M 1% /run/user/1000
    tmpfs 183M 0 183M 0% /run/user/0
    192.168.137.10:9421 58G 8.1G 50G 14% /opt/mfs

  • MFS监控

  • 主服务器上开启监控

  • mfscgiserv
    lockfile created and locked
    starting simple cgi server (host: any , port: 9425 , rootpath: /usr/share/mfscgi)

    访问192.168.137.10:9425 主机地址

    填写主服务器地址


    界面




文件 服务 服务器 数据 系统 存储 地址 配置 目录 管理 适当 条目 监控 主机 内存 多个 客户 日志 空间 内核 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 大学生关于网络安全的团课开场白 高速网络安全文件 两会上关于网络安全 数据与事实性数据库 文盲能学网络技术吗 计算机网络技术大专学的科目 广州渊天网络技术有限公司 校园文件服务器只能在校内用吗 中国服务器idc最新排名 年重点单位网络安全自查表 高速管理品牌服务器 计算机网络安全评价标准 软件开发工具与环境与实践 合肥在线教育平台软件开发公司 上海计算机软件开发总公司 神武手游安卓版服务器 坝上天气预报软件开发 网络安全干扰条件 崇明区通信网络技术结构设计 国内018重大网络安全事件 运营商网络安全风险 内网服务器是否安全 手机太卡服务器不启动了怎么办 服务器关机后能不能安装 服务器和域名不是同一家怎么备案 mysql的数据库怎么看 有名的网络技术咨询参考价格 金仓数据库绿色版 小型办公室服务器 生活中的软件开发专业
0