一.MFS的原理及组成
1.分布式原理:分布式文件系统就是把一些分散在多台计算机上的共享文件夹,集合到一个共享文件夹内,用户要访问这些文件夹的时候,只要打开一个文件夹,就可以的看到所有链接到此文件夹内的共享文件夹。
2.mfs文件系统组成
1、管理服务器(master server)
一台管理整个文件系统的独立主机,存储着每个文件的元数据(文件的大小、属性、位置信息,包括所有非常规文件的所有信息,例如目录、套接字、管道以及设备文件)
2、数据服务器群(chunk servers)
任意数目的商用服务器,用来存储文件数据并在彼此之间同步(如果某个文件有超过一个备份的话)
3、元数据备份服务器(metalogger server)
任意数量的服务器,用来存储元数据变化日志并周期性下载主要元数据文件,以便用于管理服务器意外停止时好接替其位置。
4、访问mfs的客户端
任意数量的主机,可以通过mfsmount进程与管理服务器(接收和更改元数据)和数据服务器(改变实际文件数据)进行交流。
3.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都发
一份
2.配置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 ##开启服务
3.配置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
/mn