Pacemaker+Corosync+Mfs+Iscsi+Fence实现高可用和Fence管理

本文介绍了MFS分布式文件系统的原理和操作,包括元数据服务器、数据存储服务器、客户端的角色。详细阐述了MFS的读写、删除、修改、重命名文件的过程。接着,通过搭建实验环境展示了如何构建Mfs环境,实现高可用性,数据共享,并配置Fence进行故障切换,以及解决在配置过程中遇到的问题。

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

前言:

               分布式文件系统(DIstributed File System)     时值文件系统管理的物理存储资源不一定直接连接在本地

的节点上,而是通过计算机网络与节点相连,简单的来讲,就是把一些分散的(分散在局域网内的各个计算机

上)共享共享文件夹,及河道一个文件夹中(虚拟共享文件夹),对于用户来说,要访问这些共享文件夹中的数据

时,只要打开这个虚拟共享文件夹,就可以看到所有连接到虚拟共享文件夹内的共享文件夹,用户感觉不到这

些共享文件是分散在各个计算机上的,分布式文件系统的好除就是击中访问,简单操作,数据容载,以及提高

文件的存取性能。

 

MFS原理

MFS是一个具有容错性的网络分布是文件系统,它把数据分散在多个物理服务器上,而呈现给用户的则是一个

统一的资源,

 

MFS文件系统的组成:
元数据服务器(Master):在整个体系中负责管理文件系统,维护元数据

元数据日志服务器(MstaLogger):备份Master服务器的变化日志文件,文件类型为changelog_ml.*.mfs ,当

Master服务器数据丢失或者损坏时,可以从日志中获得文件,进行修复。

数据存储服务器:(Chunk Server):真正存储数据的服务器,存储文件时,会把文件分块保存,在数据服务

器之间进行复制,数据服务器越多,能使用的 ‘容量’ 就越大,可靠性就越高,性能也就越好。

客户端(Client):可以像挂载NFS一样挂载MFS文件系统,其操作都是相同的。

 

 

下面为MFS文件系统的基本组成架构:

https://i-blog.csdnimg.cn/blog_migrate/301de9f02b087bece5fdb977f38f4c84.png

 

 

MFS进行读写的原理图:

进行数据读取的原理图:

 

MFS的读取数据的过程

client需要一个数据时,首先向master server发送查询请求

管理服务器检索自己的数据,获取数据所载的可用数据存储器位置ip(port) chunkip

管理服务器旧爱嗯数据服务器的地址发送给客户端

客户端向具体的数据存储服务器发起数据获取请求

数据服务器将数据发送给客户端

 

进行数据写入的原理图:

 

MFS的写数据的过程

当客户端有数据写入请求时,首先向元数据存储服务器发送请求存储地址(元数据信息如:文件大小|份数)

管理服务器根据写文件的数据信息,到数据服务器创建新的数据块

数据服务其返回建成功的信息

元数据存储器激昂数据存储的地址返回给客户端(chunkIP | port{chunkid}):

客户端向数据存储服务器进行数据的写入

数据服务器返回给客户端写入成功的消息

客户端将此次写完成结束信号和一些信息发送到管理服务器来更新文件的长度和最后的修改时间

 

MFS的删除文件过程

客户端有删除操作时,首先向master发送删除信息

master定位到相应元数据信息进行删除,并将chunk server上的块的删除加入到异步清理

相应客户端删除成功的信号

 

MFS修改文件内容的过程:

客户端修改文件内容时,首先给master发送操作信息

master申请新的块给.swp文件

客户端关闭文件后,会向master发送关闭信息

master会检测内容是否有更新,若有,则申请新的块存放更改后的文件,删除原有的

块和.swp文件块。

若无,则停止删除.swp文件。

 

MFS重命名文件的过程

客户端重命名文件时,会向master发送操作请求

master直接修改元数据信息中的文件名,返回重命名完成信息。

 

MFS编历文件的过程

煸历文件不需要访问chunk server,当客户端有边历请求时,向master发送请求信息

master返回元数据信息

客户端接收到信息后进行显示

 

 

注意:Master记录着管理信息,比如:文件存放的路径,文件大小,文件份数,存储时间等,元数据

信息存放于内存中,会定期写入metadata mfs back文件中,定期同不到metalogger,操作实时写入chang

elog*mfs ,实时同步到matalogger中,master启动metadata mfs载入内存,重命名为metadata mfs back

文件。

文件以chunk大小存储,每个chunk最大为64M,小于64M的,该chunk的大小即为该文件的大小(验证

实际的chunk文件略大于实际文件),超过64M的文件将会被切分,每一份的(chunk)的大小以不超

过64M为原则,块的生成通道原则,目录循环写入(00-FF 256个目录循环,step为2),chunk文件递增生

成,大文件切分目录连续。

 

chunkserver上剩余的存储空间要大于1G,新的数据才会被允许写入,否则,你会看到 No space left on

device的提示,实际中,测试发现磁盘使用率到达95左右的时候,就已经不能写入了,当时可用空间为

1.9G。

 

文件可以有多份copy,当goal为1时,文件会被随即存储到一台chunkserver上,当goal的数大于1时,copy

会由master调度保存到不同的chunkserver上,goal的大小不要超过chunkserver的数量,否则多出的copy不

会有chunkserver去保存。

                                     &n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值