1.介绍
MFS是一个具有容错性的网络分布式文件系统,它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。 MFS的组成: 元数据服务器(Master),元数据日志服务器(MetaLogger),数据存储服务器(Chunk Server),客户端(Client)。
元数据服务器 | 在整个体系中负责管理文件系统,维护元数据。所谓元数据记录的是整个分布式文件系统的变化,比如说记录文件存储在哪个主机,有多少个副本、每个文件大小多少、文件名字、文件被分成多少个块儿进行存储等信息,这些数据消耗的是服务器的内存资源,因此元数据不在于存储的数据有多大,而在于其数量。 |
---|
元数据日志服务器(MetaLogger) | 备份Master服务器的变化日志文件,当master服务器损坏,可以从日志服务器中取得文件恢复。 | 数据存储服务器(Chunk Server) | 真正存储数据的服务器,服务器越多,容量就越大,可靠性越高,性能越好。 | 客户端(Client) | 可以像挂载NFS一样 挂载MFS文件系统 |
二.MFS的部署
1.下载
首先需要配置自己的yum 源:
[root@server1 yum.repos.d]
[MooseFS]
name=MooseFS
baseurl=http://ppa.moosefs.com/moosefs-3/yum/el7
gpgcheck=0
然后把yum 源传到三台虚拟机都有!
scp /etc/yum.repos.d/MooseFS.repo server2:/etc/yum.repos.d/
然后就可以直接下载所需要的包了:
[root@server1 yum.repos.d]
下载不了的话,做解析。 vim /etc/resolv.conf nameserver 114.114.114.114
在server2,3上只需要下载 yum install -y moosefs-chunkserver
2.master部署和启动
[root@server1 mfs]
添加server1的解析 172.25.1.1 server1 mfsmaster
[root@server1 mfs]
[root@server1 mfs]
[root@server1 mfs]
root@server1 mfs]
[root@server1 mfs]
[root@server1 mfs]
systemctl start moosefs-master.service
systemctl start moosefs-cgiserv.service
接着在网页访问: 172.25.1.1:9425
3.chunk server
前面说了,chunk server是真正存储数据的地方! 我们首先要划出来一个区域来提供存储 server2上操作:
添加一块儿10G的硬盘并设置分区、格式化文件系统,设置开机自动挂载
fdisk /dev/vdb
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-20971519, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519):
Using default value 20971519
Partition 1 of type Linux and of size 10 GiB is set
Command (m for help): w
The partition table has been altered!
[root@server2 yum.repos.d]
[root@server2 yum.repos.d]
[root@server2 yum.repos.d]
[root@server2 ~]
[root@server2 ~]
[root@server2 ~]
查到的id是多少就写多少
UUID=a18fbb2f-cb4b-4c51-a659-cb58503860f6 /mnt/chunk1 xfs defaults 0 0
[root@server2 ~]
[root@server2 ~]
[root@server2 ~]
[root@server2 mfs]
mfschunkserver.cfg mfschunkserver.cfg.sample mfshdd.cfg mfshdd.cfg.sample
[root@server2 mfs]
/mnt/chunk1 %添加这行内容
[root@server2 mfs]
刷新网页,查看:
在server3上: 和server2上一致
mkdir /mnt/chunk2
chown mfs.mfs /mnt/chunk2/
systemctl start moosefs-chunkserver
cd /etc/mfs/
vim mfshdd.cfg
/mnt/chunk2 %添加这行内容
systemctl reload moosefs-chunkserver.service
然后刷新页面:
4.client
就是在自己的真机上操作:
[root@foundation1 mnt]
[root@foundation1 mnt]
[root@foundation1 mnt]
[root@foundation1 mfs]
mfsmount.cfg mfsmount.cfg.sample
[root@foundation1 mfs]
/mntt/mfs
[root@foundation1 mfs]
[root@foundation1 ~]
[root@foundation1 ~]
mfsmaster accepted connection with parameters: read-write,restricted_ip,admin ; root mapped to root:root
[root@foundation1 ~]
5.client端存储
[root@foundation1 ~]
[root@foundation1 mfs]
[root@foundation1 mfs]
[root@foundation1 mfs]
[root@foundation1 mfs]
dir1: 2
[root@foundation1 mfs]
dir2: 2
[root@foundation1 mfs]
dir1: 2
[root@foundation1 mfs]
dir1:
inodes with goal changed: 1
inodes with goal not changed: 0
inodes with permission denied: 0
[root@foundation1 mfs]
dir1: 1
[root@foundation1 mfs]
[root@foundation1 mfs]
[root@foundation1 mfs]
[root@foundation1 dir1]
passwd:
|