MFS分布式文件系统(实例!!!)-创新互联
MFS分布式文件系统
mfs工作原理
分布式原理
分布式文件系统就是把一些分散在多台计算机上的共享文件夹,集合到一个共享文件夹内,用户要访问这些文件夹的时候,只要打开一个文件夹,就可以的看到所有链接到此文件夹内的共享文件夹。
创新互联建站服务项目包括康平网站建设、康平网站制作、康平网页制作以及康平网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,康平网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到康平省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!MFS原理
MFS是一个具有容错性的网络分布式文件系统,它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。
MFS的组成
- 元数据服务器(Master):在整个体系中负责管理文件系统,维护元数据,目前不支持高可用。
- 元数据日志服务器(MetaLogger):备份Master服务器的变化日志文件,当master服务器损坏,可以从日志服务器中取得文件恢复。
- 数据存储服务器(Chunk Server):真正存储数据的服务器,服务器越多,容量就越大,可靠性越高,性能越好。
- 客户端(Client): 可以像挂载NFS一样 挂载MFS文件系统
MFS读数据的处理过程
- 客户端向元数据服务器发出读请求
- 元数据服务器把所需数据存放的位置(Chunk Server的IP地址和Chunk编号)告知客户端
- 客户端向已知的Chunk Server请求发送数据
- Chunk Server向客户端发送数据
### 写入的过程
- 客户端向元数据服务器发送写入请求
- 元数据服务器与Chunk Server进行交互,但元数据服务器只在某些服务器创建新的分块Chunks,创建成功后由hunk Servers告知元数据服务器操作成功
- 元数据服务器告知客户端,可以在哪个Chunk Server的哪些Chunks写入数据
- 客户端向指定的Chunk Server写入数据
- 该Chunk Server与其他Chunk Server进行数据同步,同步成功后Chunk Server告知客户端数据写入成功
- 客户端告知元数据服务器本次写入完毕
#### 实验环境: |服务器节点名称|IP地址| |--|--| |master|192.168.45.133| |masterlogger|192.168.45.130| |chunk1|192.168.45.136| |chunk2|192.168.45.134| |client|192.168.45.135|
第一步:部署master服务器
#关闭防火墙
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
#安装组件
[root@localhost ~]# yum install zlib-devel gcc gcc-c++ -y
#挂载mfs必要软件包
[root@localhost ~]# mount.cifs //192.168.100.3/lzp /mnt
Password for root@//192.168.100.3/lzp:
[root@localhost ~]# cd /mnt/mfs
#解压安装包
[root@localhost mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt
[root@localhost mfs]# cd /opt/mfs-1.6.27/
[root@localhost mfs-1.6.27]# useradd -s /sbin/nologin mfs
[root@localhost mfs-1.6.27]# ./configure \
--prefix=/usr/local/mfs \ //指定安装目录
--with-default-user=mfs \ //指定程序运行用户
--with-default-group=mfs \ //指定程序运行组
--disable-mfschunkserver \ //禁用Chunk功能
--disable-mfsmount //禁用mfsmount功能
[root@localhost mfs-1.6.27]# make && make install
#复制文件,配置mfs文件
[root@localhost mfs-1.6.27]# cd /usr/local/mfs/etc/mfs/
[root@localhost mfs]# cp mfsmaster.cfg.dist mfsmaster.cfg
#权限
[root@localhost mfs]# cp mfsexports.cfg.dist mfsexports.cfg
#日志
[root@localhost mfs]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
[root@localhost mfs]# cd /usr/local/mfs/var/mfs/
[root@localhost mfs]# cp metadata.mfs.empty metadata.mfs
#修改权限并启动
[root@localhost mfs]# chown -R mfs.mfs /usr/local/mfs
[root@localhost mfs]# /usr/local/mfs/sbin/mfsmaster start
#查看mfs端口是否开启
[root@localhost mfs]# ps -ef | grep mfs
#启动监控,在所有全部搭建好之后再启动
[root@localhost mfs]# /usr/local/mfs/sbin/mfscgiserv
#查看服务端口状态
[root@localhost mfs]# ps -ef | grep mfs
第二步:部署masterlogger日志节点
#关闭防火墙
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
#安装必要组件
[root@localhost ~]# yum install zlib-devel gcc gcc-c++ -y
#创建用户
[root@localhost ~]# useradd mfs -s /sbin/nologin
#挂载软件包
[root@localhost ~]# mount.cifs //192.168.100.3/lzp /mnt
[root@localhost ~]# cd /mnt/mfs
#解压安装包
[root@localhost mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt
[root@localhost mfs]# cd /opt/mfs-1.6.27/
[root@localhost mfs-1.6.27]# ./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--disable-mfsmount
[root@localhost mfs-1.6.27]# make && make install
[root@localhost mfs-1.6.27]# cd /usr/local/mfs/etc/mfs/
[root@localhost mfs]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
[root@localhost mfs]# vim mfsmetalogger.cfg
#在第15行开启功能,然后地址指向master服务器地址
MASTER_HOST = 192.168.45.133
#修改权限并启动
[root@localhost mfs]# chown -R mfs.mfs /usr/local/mfs/
[root@localhost mfs]# /usr/local/mfs/sbin/mfsmetalogger start
#查看端口开启情况
[root@localhost mfs]# ps -ef | grep mfs
第三步:部署存储节点chunk1
root@localhost ~]# yum install zlib-devel gcc gcc-c++ -y
[root@localhost ~]# useradd -s /sbin/nologin mfs
[root@localhost ~]# mount.cifs //192.168.100.3/lzp /mnt
[root@localhost ~]# cd /mnt/mfs
#解压安装包
[root@localhost mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt
[root@localhost mfs]# cd /opt/mfs-1.6.27/
[root@localhost mfs-1.6.27]# ./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfsmaster \
--disable-mfsmount
[root@localhost mfs-1.6.27]# make && make install
[root@localhost mfs-1.6.27]# cd /usr/local/mfs/etc//mfs/
[root@localhost mfs]# cp mfschunkserver.cfg.dist mfschunkserver.cfg
[root@localhost mfs]# cp mfshdd.cfg.dist mfshdd.cfg
#修改,在第12行,开启,并将地址指向master地址
[root@localhost mfs]# vim mfschunkserver.cfg
MASTER_HOST = 192.168.45.133
#设置挂载目录
[root@localhost mfs]# vim mfshdd.cfg
/data
[root@localhost mfs]# mkdir /data
[root@localhost mfs]# chown -R mfs:mfs /data
[root@localhost mfs]# /usr/local/mfs/sbin/mfschunkserver start
#查看端口开启情况
[root@localhost mfs]# ps -ef | grep mfs
第四步:部署存储节点chunk2
[root@localhost ~]# yum install zlib-devel gcc gcc-c++ -y
[root@localhost ~]# useradd -s /sbin/nologin mfs
[root@localhost ~]# mount.cifs //192.168.100.3/lzp /mnt
[root@localhost ~]# cd /mnt/mfs
#解压安装包
[root@localhost mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt
[root@localhost mfs]# cd /opt/mfs-1.6.27/
#编译安装
[root@localhost mfs-1.6.27]# ./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfsmaster \
--disable-mfsmount
[root@localhost mfs-1.6.27]# make && make install
#复制并修改
[root@localhost mfs-1.6.27]# cd /usr/local/mfs/etc//mfs/
[root@localhost mfs]# cp mfschunkserver.cfg.dist mfschunkserver.cfg
[root@localhost mfs]# cp mfshdd.cfg.dist mfshdd.cfg
[root@localhost mfs]# vim mfschunkserver.cfg
MASTER_HOST = 192.168.45.133
[root@localhost mfs]# vim mfshdd.cfg
/data
[root@localhost mfs]# mkdir /data
[root@localhost mfs]# chown -R mfs:mfs /data
[root@localhost mfs]# /usr/local/mfs/sbin/mfschunkserver start
#查看端口开启情况
[root@localhost mfs]# ps -ef | grep mfs
第五步:配置客户端
# 关闭防火墙
[root@manager ~]# systemctl stop firewalld.service
[root@manager ~]# setenforce 0
#安装必要组件
[root@manager ~]# yum install gcc gcc-c++ zlib-devel -y
#挂载软件包
[root@manager ~]# mount.cifs //192.168.100.3/lzp /mnt
[root@manager ~]# cd /mnt/mfs/
#解压软件包
[root@manager mfs]# tar zxvf fuse-2.9.2.tar.gz -C /opt
#编译安装
[root@manager mfs]# cd /opt/fuse-2.9.2/
[root@manager fuse-2.9.2]# ./configure
[root@manager fuse-2.9.2]# make && make install
#修改系统文件
[root@manager fuse-2.9.2]# vim /etc/profile
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
#重新加载
[root@manager fuse-2.9.2]# source /etc/profile
#创建用户
[root@manager fuse-2.9.2]# useradd -s /sbin/nologin mfs
#解压安装包
[root@manager fuse-2.9.2]# cd /mnt/mfs/
[root@manager mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt
#编译安装
[root@manager mfs]# cd /opt/mfs-1.6.27/
[root@manager mfs-1.6.27]# ./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfsmaster \
--disable-mfschunkserver \
--enable-mfsmount
[root@manager mfs-1.6.27]# make && make install
#创建挂载点
[root@manager mfs-1.6.27]# mkdir /opt/mfs
[root@manager mfs-1.6.27]# modprobe fuse
#挂载
[root@manager mfs-1.6.27]# /usr/local//mfs/bin/mfsmount /opt/mfs -H 192.168.45.133
# 优化客户端
[root@manager mfs-1.6.27]# vim /etc/profile
export PATH=/usr/local/mfs/bin:$PATH
[root@manager mfs-1.6.27]# source /etc/profile
# 备份
[root@manager mfs-1.6.27]# mfsgetgoal -r /opt/mfs/
#查看挂载信息
[root@manager mfs-1.6.27]# df -hT
查看分布式格局
使用浏览器访问http://192.168.45.133:9425
谢谢阅读!!!
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章名称:MFS分布式文件系统(实例!!!)-创新互联
URL网址:http://myzitong.com/article/dcisdo.html