1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > MFS分布式文件系统的搭建

MFS分布式文件系统的搭建

时间:2019-10-25 09:59:51

相关推荐

MFS分布式文件系统的搭建

MFS分布式文件系统的搭建

一:介绍MFS

​ MFS(MooseFS)是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。 MFS也像其他类的UNIX文件系统一样,包含了层级结构、文件属性,可以创建特殊的文件(块设备、字符设备、管道、套接字)、符号链接和硬链接 。

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

1、MFS文件系统的组成

2、MFS分布式系统的优势

● 集中访问

● 简化操作

● 数据容灾

● 提高文件存取性能

3、MFS读物数据的处理过程

(1)客户端向元数据服务器发出读请求

(2)元数据服务器把所需数据存放的位置(Chunk Server 的 IP 地址和 Chunk 编号) 告知客户端

(3)客户端向已知的 Chunk Server 请求发送数据

(4)Chunk Server 向客户端发送数据

4、MFS写入数据的处理过程

(1)客户端向元数据服务器发送写入请求。

(2)元数据服务器与 Chunk Server 进行交互(只有当所需的分块 Chunks 存在的时候才进行这个交互)

但元数据服务器只在某些服务器创建新的分块 Chunks,创建成功后由Servers 告知元数据服务器操作成功

(3)元数据服务器告知客户端, 可以在哪个 Chunk Server 的哪些 Chunks 写入数据

(4)客户端向指定的 Chunk Server 写入数据

(5)该 Chunk Server 与其他 Chunk Server 进行数据同步, 同步成功后 Chunk Server 告知客户端数据写入成功

(6)客户端告知元数据服务器本次写入完毕

二:实验部署

1、实验环境

本次实验使用六台服务器模拟搭建

2、实验目的

采用分布式文件系统;服务器之间的数据访问不再是一对多的关系,而是多对多的关系;使性能得到大幅提升。

3、实验步骤

六台服务器都要配置

关闭防火墙、关闭核心保护、配置主机名、配置yum、配置hosts
以master为例子

[root@localhost ~]# hostnamectl set-hostname master‘修改主机名’[root@localhost ~]# su[root@master ~]# systemctl stop firewalld[root@master ~]# systemctl disable firewalld‘取消开机自启’Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.[root@master ~]# setenforce 0 ‘关闭核心防护’[root@master ~]# vi /etc/sysconfig/selinux SELINUX=disabled‘取消开机自启’[root@master ~]# vim /etc/hosts ‘配置地址映射’192.168.48.128 master192.168.48.137 metalogger192.168.48.132 chunk1192.168.48.138 chunk2192.168.48.130 chunk3192.168.48.139 client[root@master ~]# yum -y install gcc gcc-c++ zlib-devel

搭建Master Server

(1)创建用户 ,挂载并解压源码包

[root@master ~]# useradd -s /sbin/nologin -M mfs[root@master ~]# mkdir /abc[root@master ~]# mount.cifs //192.168.0.107/share /abc[root@master abc]# tar zvxf moosefs-3.0.100-1.tar.gz -C /opt

(2)编译安装

[root@master opt]# cd /opt/moosefs-3.0.100/[root@master moosefs-3.0.100]# ./configure \--prefix=/usr/local/mfs \‘指定安装目录’--with-default-user=mfs \‘指定运行用户’--with-default-group=mfs \‘指定运行组’--disable-mfschunkserver \‘禁用chunk功能’--disable-mfsmount ‘禁用mfsmount功能’[root@master moosefs-3.0.100]# make && make install

(3)复制master配置文件

[root@master moosefs-3.0.100]# cd /usr/local/mfs/etc/mfs/[root@master mfs]# cp mfsmaster.cfg.sample mfsmaster.cfg[root@master mfs]# cp mfsexports.cfg.sample mfsexports.cfg[root@master mfs]# cp mfstopology.cfg.sample mfstopology.cfg[root@master mfs]# cd /usr/local/mfs/var/mfs/[root@master mfs]# cp -p metadata.mfs.empty metadata.mfs[root@master mfs]# chown mfs:mfs /usr/local/mfs/var/mfs‘设置目录的属主属组’[root@master mfs]# /usr/local/mfs/sbin/mfsmaster start ‘开启master server’[root@master mfs]# netstat -anpt | grep mfs ‘检测mfs是否开启’tcp 00 0.0.0.0:9419 0.0.0.0:*LISTEN9798/mfsmastertcp 00 0.0.0.0:9420 0.0.0.0:*LISTEN9798/mfsmastertcp 00 0.0.0.0:9421 0.0.0.0:*LISTEN9798/mfsmaster

搭建MetaLogger Server

(1)创建用户,挂载并解压源码包

[root@metalogger ~]# useradd -s /sbin/nologin -M mfs[root@metalogger ~]# mkdir /abc[root@metalogger ~]# mount.cifs //192.168.0.107/share /abc[root@metalogger abc]# tar zvxf moosefs-3.0.100-1.tar.gz -C /opt

(2)编译安装

[root@metalogger abc]# cd /opt/moosefs-3.0.100/[root@metalogger moosefs-3.0.100]# ./configure \> --prefix=/usr/local/mfs \> --with-default-user=mfs \> --with-default-group=mfs \> --disable-mfschunkserver \> --disable-mfsmount[root@metalogger moosefs-3.0.100]# make && make install

(3)复制metalogger主配置文件,并修改文件,指定master地址

[root@metalogger moosefs-3.0.100]# cd /usr/local/mfs/etc/mfs[root@metalogger mfs]# cp mfsmetalogger.cfg.sample mfsmetalogger.cfg[root@metalogger mfs]# vi /usr/local/mfs/etc/mfs/mfsmetalogger.cfgMASTER_HOST = 192.168.48.128‘52行:取消注释,指定master的地址’

(4)开启mfs服务

[root@metalogger mfs]# /usr/local/mfs/sbin/mfsmetalogger start[root@metalogger mfs]# netstat -anpt | grep mfstcp 00 192.168.48.137:51778 192.168.48.128:9419ESTABLISHED 9880/mfsmetalogger

搭建Chunk server1

(1)创建用户,挂载并解压源码包

[root@chunk1 ~]# useradd -s /sbin/nologin -M mfs[root@chunk1 ~]# mkdir /abc[root@chunk1 ~]# mount.cifs //192.168.0.107/share /abc[root@chunk1 abc]# tar zvxf moosefs-3.0.100-1.tar.gz -C /opt

(2)编译安装

[root@chunk1 abc]# cd /opt/moosefs-3.0.100/[root@chunk1 abc]# cd /opt/moosefs-3.0.100/[root@chunk1 moosefs-3.0.100]# ./configure \> --prefix=/usr/local/mfs \> --with-default-user=mfs \> --with-default-group=mfs \> --disable-mfsmaster \> --disable-mfsmount[root@chunk1 moosefs-3.0.100]# make && make install

(3)复制mfschunk主配置文件,并修改文件,指定master地址

[root@chunk1 moosefs-3.0.100]# cd /usr/local/mfs/etc/mfs/[root@chunk1 mfs]# cp mfschunkserver.cfg.sample mfschunkserver.cfg[root@chunk1 mfs]# cp mfshdd.cfg.sample mfshdd.cfg[root@chunk1 mfs]# vi mfschunkserver.cfgMASTER_HOST = 192.168.48.128 ‘71行:指定master服务器地址’

(4)添加一个挂载点目录

[root@chunk1 mfs]# vim mfshdd.cfg/data‘末行添加,指定数据存放的目录’[root@chunk1 mfs]# mkdir /data[root@chunk1 mfs]# chown -R mfs:mfs /data

(5)开启服务

[root@chunk1 mfs]# /usr/local/mfs/sbin/mfschunkserver start[root@chunk1 mfs]# netstat -anpt | grep mfstcp 00 0.0.0.0:9422 0.0.0.0:*LISTEN9174/mfschunkserver tcp 00 192.168.48.132:56084 192.168.48.128:9420ESTABLISHED 9174/mfschunkserver

搭建Chunk 2 和 Chunk 3

搭建的过程与Chunk1 完全相同。(省略具体过程喽)

搭建Client

(1)挂载并解压fuse软件包到/opt下

[root@client ~]# mkdir /abc[root@client ~]# mount.cifs //192.168.0.107/share /abc[root@client abc]# tar xzvf fuse-2.9.2.tar.gz -C /opt

(2)编译安装

[root@client abc]# cd /opt/fuse-2.9.2[root@client fuse-2.9.2]# ./configure[root@client fuse-2.9.2]# make && make install

(3)设置环境变量

[root@client fuse-2.9.2]# vim /etc/profileexport PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH ‘末尾添加’[root@client fuse-2.9.2]# source /etc/profile ‘使环境变量生效’

(4)安装MFS客户端

[root@client abc]# useradd -s /sbin/nologin -M mfs[root@client abc]# tar xzvf moosefs-3.0.100-1.tar.gz -C /opt/[root@client abc]# cd /opt/moosefs-3.0.100/[root@client moosefs-3.0.100]# ./configure \> --prefix=/usr/local/mfs \> --with-default-user=mfs \> --with-default-group=mfs \> --disable-mfsmaster \> --disable-mfschunkserver \> --enable-mfsmount[root@client moosefs-3.0.100]# make && make install

(5)挂载MFS文件系统

[root@client moosefs-3.0.100]# cd[root@client ~]# mkdir /opt/mfs'创建挂载点'[root@client ~]# modprobe fuse'加载fuse模块到内核'[root@client ~]# /usr/local/mfs/bin/mfsmount /opt/mfs -H 192.168.48.128'指向master服务器地址'mfsmaster accepted connection with parameters: read-write,restricted_ip,admin ; root mapped to root:root[root@client ~]# df -hT

(如果要卸载 MFS, 使用命令 umount /opt/mfs 即可)

(6)优化MFS操作

MFS 在客户端安装完毕后, 会生成/usr/local/mfs/bin/目录, 在这个目录下有很多命

令是用户所需要的。 为了方便使用这些命令, 可将/usr/local/mfs/bin 加入到环境变量中

[root@client moosefs-3.0.100]# vim /etc/profileexport PATH=/usr/local/mfs/bin:$PATH ‘末行添加’[root@client moosefs-3.0.100]# source /etc/profile[root@client moosefs-3.0.100]# mfsgetgoal -r /opt/mfs ‘复制副本’/opt/mfs:directories with goal2 :1‘mfsgetgoal 命令用来查询文件被复制的份数, 利用-r 命令可以对整个目录进行递归,goal 是指文件被复制的份数’[root@client moosefs-3.0.100]# mfssetgoal -r 3 /opt/mfs ‘数字代表复制几个副本’

(7)创建文件测试一下

[root@client moosefs-3.0.100]# cd /opt/mfs[root@client mfs]# touch 51xit[root@client mfs]# mfsgetgoal 51xit51xit: 3

Master服务器上启动监控程序

[root@mfsmaster ~]# /usr/local/mfs/sbin/mfscgiserv

在真机上打开浏览器访问:

http://192.168.48.128:9425/mfs.cgi?masterhost=master

各部分的含义:

Info 部分: 显示了 MFS 的基本信息

Servers 部分: 列出现有 Chunk Server

Disks 部分: 列出现有 Chunk Server 硬盘信息

Exports 部分: 列出可被挂载的目录

Mounts 部分: 列出被挂载的目录

Operations 部分: 显示正在执行的操作

Resources 部分: 列出当前存储信息

Quitas 部分: 列出当前配额信息

Master charts 部分: 显示 Master Server 的操作情况, 读、 写、 删除等操作

Server charts 部分: 显示 Chunk Server 的操作情况、 数据传输率及系统状态

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。