在CentOS7上部署MFS分布式文件系统
发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,MFS原理MFS是一个具有容错性的网络分布式文件系统,它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。1)MFS文件系统的组成MFS文件系统的组成架构如图所示。元数据服务器(Ma
千家信息网最后更新 2024年11月25日在CentOS7上部署MFS分布式文件系统
MFS原理
MFS是一个具有容错性的网络分布式文件系统,它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。
1)MFS文件系统的组成
MFS文件系统的组成架构如图所示。
- 元数据服务器(Master):在整个体系中负责管理文件系统,维护元数据。
- 元数据日志服务器(MetaLogger):备份Master服务器的变化日志文件,文件类型为changelog_ml.*.mfs。当Master服务器数据丢失或者损坏时,可以从日志服务器中取得文件,进行恢复。
- 数据存储服务器(Chunk Server):真正存储数据的服务器。存储文件时,会把文件分块保存,并在数据服务器之间进行复制。数据服务器越多,能使用的"容量"就越大,可靠性就越高,性能也就越好。
- 客户端(Client):可以像挂载NFS一样挂载MFS文件系统,其操作是相同的。
2)MFS读取数据的处理过程。
- 客户端向元数据服务器发出读请求。
- 元数据服务器把所需数据存放的位置(Chunk Server的IP地址和Chunk编号)告知客户端。
客户端向已知的Chunk Server请求发送数据。
- Chunk Server向客户端发送数据。
3)MFS写入数据的处理过程。
- 客户端向元数据服务器发送写入请求。
- 元数据服务器与Chunk Server进行交互(只有当所需的分块Chunks存在的时候才进行这个交互),但元数据服务器只在某些服务器创建新的分块Chunks,创建成功后由Chunk Servers告知元数据服务器操作成功。
- 元数据服务器告知客户端,可以在哪个Chunk Server的哪些Chunks写入数据。
- 客户端向指定的Chunks Server写入数据。
- 该Chunk Server与其他Chunk Server进行数据同步,同步成功后Chunk Server告知客户端数据写入成功。
- 客户端告知元数据服务器本次写入完毕。
实验环境
主机 | IP地址 | 主要软件 |
---|---|---|
Master Server | 192.168.58.10 | mfs-1.6.27-5.tar.gz |
MetaLogger Server | 192.168.58.11 | mfs-1.6.27-5.tar.gz |
Chunk Server1 | 192.168.58.12 | mfs-1.6.27-5.tar.gz |
Chunk Server2 | 192.168.58.13 | mfs-1.6.27-5.tar.gz |
Client | 192.168.58.14 | mfs-1.6.27-5.tar.gz fuse-2.9.2.tar.gz |
1.搭建Master Server
systemctl stop firewalld.service //关闭防火墙及增强安全功能systemctl disable firewalld.servicesetenforce 0yum install -y zlib-devel gcc gcc-c++ //安装软件包useradd -s /sbin/nologin -M mfs //创建用户mkdir /abc //创建压缩目录mount.cifs //192.168.58.22/share /abc //挂载cd /abctar zxvf mfs-1.6.27-5.tar.gz -C /opt //解压软件包cd /opt/mfs-1.6.27 //安装软件包./configure \--prefix=/usr/local/mfs \--with-default-user=mfs \--with-default-group=mfs \--disable-mfschunkserver \--disable-mfsmountmake && make install cd /usr/local/mfs/etc/mfs //复制配置文件cp mfsmaster.cfg.dist mfsmaster.cfgcp mfsexports.cfg.dist mfsexports.cfgcp mfstopology.cfg.dist mfstopology.cfgcd /usr/local/mfs/var/mfscp metadata.mfs.empty metadata.mfs/usr/local/mfs/sbin/mfsmaster start //启动Master Serverps -ef | grep mfs //检查是否启动/usr/local/mfs/sbin/mfsmaster -s //停止命令(选择性使用)
2.搭建MetaLogger Server
systemctl stop firewalld.service //关闭防火墙及增强安全功能systemctl disable firewalld.servicesetenforce 0yum install -y zlib-devel gcc gcc-c++ //安装软件包useradd -s /sbin/nologin -M mfs //创建用户mkdir /abc //创建压缩目录mount.cifs //192.168.58.22/share /abc //挂载cd /abctar zxvf mfs-1.6.27-5.tar.gz -C /opt //解压软件包cd /opt/mfs-1.6.27 //安装软件包./configure \--prefix=/usr/local/mfs \--with-default-user=mfs \--with-default-group=mfs \--disable-mfschunkserver \--disable-mfsmountmake && make installcd /usr/local/mfs/etc/mfscp mfsmetalogger.cfg.dist mfsmetalogger.cfgvi mfsmetalogger.cfg...MASTER_HOST = 192.168.58.10 //修改为Master Server的IP地址.../usr/local/mfs/sbin/mfsmetalogger startps -ef | grep mfs/usr/local/mfs/sbin/mfsmetalogger -s //停止MetaLogger Server(选择性使用)
3.搭建Chunk Server1、Chunk Server2
systemctl stop firewalld.service //关闭防火墙及增强安全功能systemctl disable firewalld.servicesetenforce 0yum install -y zlib-devel gcc gcc-c++ //安装软件包useradd -s /sbin/nologin -M mfs //创建用户mkdir /abc //创建压缩目录mount.cifs //192.168.58.22/share /abc //挂载cd /abctar zxvf mfs-1.6.27-5.tar.gz -C /opt //解压软件包cd /opt/mfs-1.6.27 //安装软件包./configure \--prefix=/usr/local/mfs \--with-default-user=mfs \--with-default-group=mfs \--disable-mfsmaster \ //注意这里与前面的区别--disable-mfsmountmake && make installcd /usr/local/mfs/etc/mfscp mfschunkserver.cfg.dist mfschunkserver.cfgcp mfshdd.cfg.dsit mfshdd.cfgvi mfschunkserver.cfg...MASTER_HOST = 192.168.58.10 //修改为Master Server的IP地址...vi mfshdd.cfg/data //末尾添加一行,这里的/data是一个给MFS的分区mkdir /data /创建相应/data目录chown -R mfs:mfs /data //修改属主属组/usr/local/mfs/sbin/mfschunkserver start //启动Chunk Server/usr/local/mfs/sbin/mfschunkserver -s //关闭Chunk Server (选择性使用)
4.客户端配置
systemctl stop firewalld.service //关闭防火墙及增强安全功能systemctl disable firewalld.servicesetenforce 0yum install -y zlib-devel gcc gcc-c++ //安装软件包
4.1安装FUSE
tar xzvf fuse-2.9.2.tar.gz -C /opt //先挂载好,然后到目录下解压cd /opt/fuse-2.9.2 ./configuremake && make installvi /etc/profileexport PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH //添加到末尾source /etc/profile
4.2安装MFS客户端
useradd -s /sbin/nologin -M mfscd /abctar zxvf mfs -C /optcd /opt/mfs./configure \--prefix=/usr/local/mfs \--with-default-user=mfs \--with-default-group=mfs \--disable-mfschunkserver \--disable-mfsmaster \--disable-mfschunkserver \--enable-mfsmount //开启MFS挂载功能make && make installmkdir /opt/mfs //创建挂载点modprobe fuse //加载fuse模块到内核/usr/local/mfs/bin/mfsmount /opt/mfs -H 192.168.58.10df -hT //查看挂载情况vi /etc/profile //优化客户端export PATH=/usr/local/mfs/bin:$PATH //添加/usr/local/mfs/bin至环境变量source /etc/profile
5.MFS监控
Mfscgiserv是用python编写的一个Web服务器,其监听端口是9425,可以在Master Server上通过命令/usr/local/mfs/sbin/mfscgiserv来启动,用户利用浏览器就可以全面监控所有客户挂载、Chunk Server、Master Server,以及客户端的各种操作等。
客户端上通过浏览器访问http://192.168.58.10:9425
数据
服务器
服务
客户
客户端
文件
软件
软件包
系统
功能
用户
目录
安全
成功
地址
防火墙
防火
日志
选择性
存储
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
ibm服务器高端
java客户端服务器端
lol手游已与服务器失联
滨湖区咨询软件开发费用是多少
php 数据库 表格
网络安全隔离装置的主要功能
治安侦查网络安全
苏州软件开发最新
浙江非公党性体检软件开发
医院的网络安全等级划分
wind 数据库
四叶草学考网络技术
银行软件开发都用什么语言
与服务器vnc
如何快速导出多张数据库表字段
大连腾讯大厦软件开发招聘
幼儿园教师网络技术培训
网络安全员工作照片
服务器维保报价
你认为网络安全吗为什么
软件开发合同违约责任
奉贤区第三方软件开发费用是多少
access数据库a卷
深圳微商软件开发订制
为什么提示连接服务器失败
数据库标识列讲解视频
天津服务器硬盘质保期
网络安全现状与发展
底层数据库
网络技术客服工资多少