概念:具备冗余功能的分布式存储,它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。

组件:管理服务器(master)、元数据备份服务器(matelogger)、数据存储服务器组(chunkserver)、客户机服务器组(client)

环境:

centos7.6

关闭防火墙和selinux

优缺:

优点:高可靠性、高可扩展性、高数据一致性、高容错性

缺点:master单点,岁吧数据信息同步到备份服务器,但恢复依然需要很长时间;master服务器对主机内存要求相对较高;masterlogger复制元数据时间较长

端口:

9419:metalogger监听的端口地址,和原数据日志相结合,定期和master端同步数据
9420:用于和chunkserver连接的端口地址,通信节点
9421:用于客户端对外连接的端口
9422:chunkserver提供存储的端口
9425:moosefs-cgiserv的UI界面端口

搭建:

#master
[root@localhost ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.2.201  netmask 255.255.255.0  broadcast 192.168.2.255
#安装master需要安装的包
[root@localhost ~]# rpm -ivh moosefs-cli-3.0.103-1.rhsystemd.x86_64.rpm  moosefs-master-3.0.103-1.rhsystemd.x86_64.rpm  moosefs-cgi-3.0.103-1.rhsystemd.x86_64.rpm moosefs-cgiserv-3.0.103-1.rhsystemd.x86_64.rpm
#配置master
[root@localhost ~]# vim /etc/mfs/mfsmaster.cfg12 SYSLOG_IDENT = 192.168.2.20130 DATA_PATH = /var/lib/mfs
#此步骤可不做
[root@localhost ~]# vim /etc/mfs/mfsexports.cfg
192.168.2.201/24        /       rw,alldirs,admin,maproot=0:0
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
#启动
[root@localhost ~]# mfsmaster start
[root@localhost ~]# mfscgiserv start#测试:访问192.168.2.201:9425

#metalogger
[root@192 ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.2.203  netmask 255.255.255.0  broadcast 192.168.2.255
#安装
[root@192 ~]# rpm -ivh moosefs-metalogger-3.0.103-1.rhsystemd.x86_64.rpm
#指定主master
[root@192 ~]# vim /etc/mfs/mfsmetalogger.cfg
MASTER_HOST = 192.168.2.201
#启动metalogger
[root@192 ~]# mfsmetalogger start

#chunkserver
#需要两个硬盘 用来提供存储空间,挂载调用
[root@localhost ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.2.202  netmask 255.255.255.0  broadcast 192.168.2.255
[root@localhost ~]# mkdir /mfs-chunk
#查看第二块硬盘名
[root@localhost ~]# fdisk -l磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00020773设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
#分区
[root@localhost ~]# fdisk /dev/sdb
#格式化
[root@localhost ~]# mkfs.ext4 /dev/sdb1
#安装chunkserver
[root@localhost ~]# rpm -ivh moosefs-chunkserver-3.0.103-1.rhsystemd.x86_64.rpm
#指定主master
[root@localhost ~]# vim /etc/mfs/mfschunkserver.cfg
MASTER_HOST = 192.168.2.201
#添加共享的文件目录
[root@localhost ~]# vim /etc/mfs/mfshdd.cfg
/mfs-chunk
#给该目录更改用户名及用户组mfs 否则不能启动chunkserver
[root@localhost ~]# chown -R mfs.mfs /mfs-chunk/
#挂载到该目录
[root@localhost ~]# mount /dev/sdb1 /mfs-chunk/
#启动
[root@localhost ~]# mfschunkserver start
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0

#client
#安装挂载即可
[root@192 ~]# rpm -ivh moosefs-client-3.0.103-1.rhsystemd.x86_64.rpm
#创建挂载目录
[root@192 ~]# mkdir mfs
#挂载
[root@192 ~]# mfsmount /root/mfs -H  192.168.2.201

扩展:fdisk的使用

fdisk 进行磁盘管理
硬盘正常存储必须经过的操作:制作、低级格式化(厂商进行)、分区、高级格式化、挂载
fdisk分区只能进行MBR分区,不能进行GPT分区(用parted)
MBR分区分为 主分区、扩展分区、逻辑分区 ;扩展分区+主分区 <= 4,逻辑分区可以一直分

MBR分区单个分区大小最大支持2TB,逻辑分区的空间来自扩展分区,扩展分区不可格式化,不能直接存储数据

GPT分区达能分区最大18EB,主分区最大128个

#fdisk
#查看
[root@localhost ~]# fdisk -l
#对硬盘进行分区
[root@localhost ~]# fdisk /dev/sdb
-m 帮助
-n 添加分区
-d 删除分区
-p 查看分区表
-w 保存并退出Partition type:
#主分区p   primary (0 primary, 0 extended, 4 free)
#扩展分区,建扩展分区后将变为逻辑分区e   extended
Select (default p): p
#回车表默认
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+3G

应用操作:

mfsgetgoal                               #获取副本数设定
mfssetgoal                               #设定副本数
mfsgettrashtime                          #获取回收站时间
mfssettrashtime                          #设定回收站时间
mfscheckfile                             #检查文件
mfsfileinfo                              #文件信息
mfsdirinfo                               #目录信息
mfsfilerepair                            #文件修复
mfsmakesnapshot                          #快照
mfsgeteattr                              #获取权限设置信息
mfsseteattr                              #设置权限
mfsscadmin                               #设定储存类
mfssetclass                              #设置存储类与文件目录的绑定
mfsxchgsclass                            #更新储存类设定
参见:https://blog.csdn.net/csdnlb/article/details/105057179
#client端
[root@192 ~]# cd mfs/
[root@192 mfs]# echo "hello mfs" > aa
#查看副本信息 默认存储两个
[root@192 mfs]# mfsfileinfo aa
aa:chunk 0: 0000000000000001_00000001 / (id:1 ver:1)copy 1: 192.168.2.202:9422 (status:VALID)
#修改副本数量,不大于chunkserver的个数
[root@192 mfs]# mfssetgoal 2 aa
aa: goal: 2
#查看副本aa的默认误删恢复时间单位秒 默认1天
[root@192 mfs]# mfsgettrashtime aa
aa: 86400
#修改副本aa的误删除恢复时间
[root@192 mfs]# mfssettrashtime 9999 aa
aa: 9999
#会自动补为整小时
[root@192 mfs]# mfsgettrashtime aa
aa: 10800
#删除文件aa
[root@192 mfs]# rm -fr aa
#需要查看目录结构,查找误删文件的位置
[root@192 mfs]# yum -y install tree
#挂载mfsback目录 可以建在其他目录,这里建目录位置为/root/mfs/mfsback
[root@192 mfs]# mkdir mfsback
[root@192 mfs]# mfsmount  -H 192.168.2.201 -m mfsback
[root@192 mfs]# cd mfsback/
[root@192 mfsback]# ls
sustained  trash
#检索aa所在位置,将其移动到任意undel
[root@192 mfsback]# tree trash |  head -$(tree  trash | awk '/aa/{print NR}') |tail -2
├── 002
│   ├── 00000002|aa
#移动
[root@192 mfs]# mv /root/mfs/mfsback/trash/002/00000002\|aa /root/mfs/mfsback/trash/undel/
#查看
[root@192 mfs]# ls
aa  mfsback
#master挂掉后的恢复
#关闭master
[root@localhost ~]# mfsmaster stop
#清除数据
[root@localhost ~]# cd /var/lib/mfs/
[root@localhost mfs]# rm -rf *

#metalogger
#将数据拷贝到master /var/lib/mfs
[root@localhost ~]# cd /var/lib/mfs/
[root@192 mfs]# scp * root@192.168.2.201:/var/lib/mfs/#master
[root@localhost mfs]# ls
changelog_ml.0.mfs  changelog_ml.1.mfs  changelog_ml_back.0.mfs  changelog_ml_back.1.mfs  metadata_ml.tmp
#自动还原
[root@localhost mfs]# mfsmaster -a

集群分布式存储-MFS相关推荐

  1. Linux集群 分布式存储-MFS部署

    环境准备: 一台mfsmaster192.168.150.128, 一台mfsmetdate192.168.150.129, 两台mfschunkserver 192.168.150.130, 192 ...

  2. 计算机操作系统(10):集群和分布式

    简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率. 例如: 如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任 ...

  3. 分布式 和 集群的区别

    简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率. 例如: 如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任 ...

  4. 架构-分布式与集群的区别

    架构-分布式与集群的区别 先说区别: 一句话:分布式是并联工作的,集群是串联工作的.   简单说:分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率. [ ...

  5. 分布式与集群的区别 .

    简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率. 例如: 如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任 ...

  6. elasticsearch基础3——聚合、补全、集群

    用于复习快速回顾. 目录 1.数据聚合 1.1.聚合的种类 1.2.DSL实现聚合 1.2.1.Bucket聚合语法 1.2.2.聚合结果排序 1.2.3.query限定聚合范围 1.2.4.Metr ...

  7. ElasticSearch高级篇(数据聚和、自动补全、数据同步、分片集群)

    文章目录 1.数据聚合 1.1.聚合的种类 1.2.DSL实现聚合 1.2.1.Bucket聚合语法 1.2.2.聚合结果排序 1.2.3.限定聚合范围 1.2.4.Metric聚合语法 1.2.5. ...

  8. mysql集群与分布式数据库的区别

    简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率. 例如: 如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任 ...

  9. Redis7之集群(十)

    10.1 介绍 由于数据量过大,单个Master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展每个复制集只负责存储整个数据集的一部分,这就是Redis的集群,其作用是提供在多个Redis节 ...

  10. MFS分布式存储-集群

    MFS分布式存储-集群 3.1.了解MFS 什么是MFS MooseES.是一个具备==容余容错功能的分布式网络文件系统, 将数据分别存放在多个物理服务器或单独磁盘或分区上,确保一份数据有多个备份副本 ...

最新文章

  1. Web前端工程师的一些常见误区
  2. 链表问题18——向有序的环形单链表中插入新节点
  3. go语言使用go-sciter创建桌面应用(八) 窗口显示时,自动加载后端数据。
  4. dhcp协议_DHCP(动态主机分配协议)原理
  5. 文巾解题3. 无重复字符的最长子串
  6. 数学建模第六节2020.5.15-17补
  7. scss里的继承操作符@extend
  8. SQL语句大全-珍藏首选
  9. (数据库系统概论|王珊)第三章关系数据库标准语言SQL:习题
  10. 《C#多线程编程实战(原书第2版)》——3.6 在线程池中使用等待事件处理器及超时...
  11. swagger 使用
  12. c语言实现sbrk函数,菜鸟随笔(2)---brk()与sbrk()函数的学习与使用
  13. 在 Excel 中对多行多列进行条件求和
  14. Spans,一个强大的概念
  15. 无稳态多谐震荡器学习
  16. 80端口web服务攻击痕迹
  17. Gitlab 可以push但web端不显示文件
  18. la是什么牌子_la clover兰卡文是什么牌子_哪个国家的_什么档次?
  19. java流式编程(六)Collector接口
  20. Laravel Sail 使用 PhpStorm 与 Xdebug 进行调试

热门文章

  1. 跨年烟花 html 代码汇总
  2. 带图片指示器的进度条
  3. 常用设计模式 - 建造者模式
  4. (JDBC四)JDBC实例(b)
  5. php经验之谈,php+mysql经验之谈
  6. v-lazy懒加载的作用与使用
  7. Ubuntu Linux,及Python matplot,安装Times New Roman等字体,让图标签可以用Times New Roman等字体
  8. py交易----实验吧
  9. 18岁少年盗取1500万日元萌乃币, 逼交易所关停, 引发日本史上第一次加密币盗窃法律诉讼...
  10. Region Proposal by Guided Anchoring 阅读笔记