mfs分布式文件系统(pacemaker+corosync+pcs)实现高可用,ISCSI实现磁盘共享,fence机制

本文介绍了MFS分布式文件系统的原理、组成及读写过程,详细阐述了MFS的部署步骤,包括master、chunk server和客户端的配置。进一步讨论了MFS的高可用性,通过pacemaker、corosync和pcs实现主备切换,并通过iscsi实现磁盘共享。最后,探讨了fence机制在防止数据冲突和脑裂情况中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. MFS的原理及组成

  1. 分布式原理:分布式文件系统就是把一些分散在多台计算机上的共享文件夹,集合到一个共享文件夹内,用户要访问这些文件夹的时候,只要打开一个文件夹,就可以的看到所有链接到此文件夹内的共享文件夹。

  2. mfs文件系统组成

1)管理服务器(master server)
一台管理整个文件系统的独立主机,存储着每个文件的元数据(文件的大小、属性、位置信息,包括所有非常规文件的所有信息,例如目录、套接字、管道以及设备文件)
2)数据服务器群(chunk servers)
任意数目的商用服务器,用来存储文件数据并在彼此之间同步(如果某个文件有超过一个备份的话)
3)元数据备份服务器(metalogger server)
任意数量的服务器,用来存储元数据变化日志并周期性下载主要元数据文件,以便用于管理服务器意外停止时好接替其位置。
4)访问mfs的客户端
任意数量的主机,可以通过mfsmount进程与管理服务器(接收和更改元数据)和数据服务器(改变实际文件数据)进行交流。

  1. MFS读数据的处理过程

客户端向元数据服务器发出读请求
元数据服务器把所需数据存放的位置(Chunk Server的IP地址和Chunk编号)告知客户端
客户端向已知的Chunk Server请求发送数据
Chunk Server向客户端发送数据
在这里插入图片描述

4.写入的过程

客户端向元数据服务器发送写入请求
元数据服务器与Chunk Server进行交互,但元数据服务器只在某些服务器创建新的分块Chunks,创建成功后由Chunk Servers告知元数据服务器操作成功
元数据服务器告知客户端,可以在哪个Chunk Server的哪些Chunks写入数据
客户端向指定的Chunk Server写入数据
该Chunk Server与其他Chunk Server进行数据同步,同步成功后Chunk Server告知客户端数据写入成功
在这里插入图片描述

二.MFS的部署

实验环境			RHEL7.3
master server	172.25.14.1(server1)
chunk server1	172.25.14.2(server2)
chunk server2	172.25.14.3(server3)
clients	172.25.254.14(物理机)

1.配置master(server1)

1)安装rpm包

在这里插入图片描述

yum install -y 
moosefs-master-3.0.103-1.rhsystemd.x86_64.rpm 
moosefs-cli-3.0.103-1.rhsystemd.x86_64.rpm 
moosefs-cgiserv-3.0.103-1.rhsystemd.x86_64.rpm 
moosefs-cgi-3.0.103-1.rhsystemd.x86_64.rpm

2)修改本地地址解析

加上 172.25.14.1 mfsmaster  server1,2,3,物理机都要加

3)开启服务

systemctl start moosefs-master
netstat -atlnp	##查看端口,占用9419,9420,9420端口

在这里插入图片描述

systemctl start moosefs-cgiserv
scp moosefs-chunkserver-3.0.103-1.rhsystemd.x86_64.rpm root@172.25.14.2:/root	##将安装包给server2和server3都发
一份
  1. 配置chunk server1(server2 )
    1) 安装,创建目录

     yum install moosefs-chunkserver-3.0.103-1.rhsystemd.x86_64.rpm 
     vim /etc/hosts				##修改本地地址解析
      mkdir /mnt/chunk1
    

2)添加硬盘,挂载
给虚拟机添加一块硬盘,将硬盘挂载,否则启动服务后占用的是根空间

 fdisk -l
mkfs.xfs /dev/vda		##格式化
mount /dev/vda /mnt/chunk1/
chown mfs.mfs /mnt/chunk1/
 vim /etc/mfs/mfshdd.cfg		##在文件的最后添加下面一行
/mnt/chunk1
systemctl start moosefs-chunkserver		##开启服务
  1. 配置chunk server2(server3)
    不给chunk server2添加硬盘,服务开启占用根空间

     rpm -ivh moosefs-chunkserver-3.0.103-1.rhsystemd.x86_64.rpm 
     mkdir /mnt/chunk2
       vim /etc/hosts				##添加本地解析
      chown mfs.mfs /mnt/chunk2/
      vim /etc/mfs/mfshdd.cfg
     /mnt/chunk2
      systemctl start moosefs-chunkserver
    
  2. 配置clients(客户端)

     yum install -y moosefs-client-3.0.103-1.rhsystemd.x86_64.rpm
     vim /etc/mfs/mfsmount.cfg
     #/mnt/mfs ##指定挂载的地方
     mkdir /mnt/mfs
     vim /etc/hosts
     mfsmount
     [root@foundation14 ~]# df
     Filesystem 1K-blocks Used Available Use% Mounted on
     /dev/mappe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值