一、MFS(Moose File System) 简介:
MooseFS是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。
(1)优势:
1、高可靠(数据的多个拷贝被存储在不同的计算机上);
2、通过附加新的计算机或者硬盘可以实现容量的动态扩展;
3、删除的文件可以根据一个可配置的时间周期进行保留(一个文件系统级别的回收站);
4、不受访问和写入影响的文件连贯快照。
(2)体系结构:
1、管理服务器(master server):
一台管理整个文件系统的独立主机,存储着每个文件的元数据(文件的大小、属性、位置信息,包括所有非常规文件的所有信息,例如目录、套接字、管道以及设备文件)
2、元数据备份服务器(metalogger server):
任意数量的服务器,用来存储元数据变化日志并周期性下载主要元数据文件,以便用于管理服务器意外停止时好接替其位置。
3、数据服务器群(chunk servers):
任意数目的商用服务器,用来存储文件数据并在彼此之间同步(如果某个文件有超过一个备份的话)
4、访问mfs的客户端:
任意数量的主机,可以通过mfsmount进程与管理服务器(接收和更改元数据)和数据服务器(改变实际文件数据)进行交流。
二、搭建 MFS:
1、环境准备
用途 | 主机 | |
Master | 主服务器 | 192.168.40.137 |
Masterlog | 元记录器 | 192.168.40.138 |
chunk01 | 数据服务器 | 192.168.40.137 |
chunk02 | 数据服务器 | 192.168.40.137 |
chunk02 | 客户端 | 192.168.40.137 |
2、准备安装
要从 RedHat / CentOS 上官方支持的存储库安装 MooseFS,请按照以下步骤操作:
添加密钥:(非必要)
curl "https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS
添加适当的存储库条目:
对于 EL7:
curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo
注意:如果你喜欢上EL6分布安装MooseFS,只是改变MooseFS -3- el7.repo在库中的URL MooseFS -3- el6.repo
要安装旧版本,只需将存储库地址中的moosefs-3替换为所需的版本号,例如3.0.109。如果您想安装 MooseFS 2.0,也可以使用MooseFS -2。
然后安装适当的 MooseFS 组件
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
setenforce 0 --临时关闭防火墙 立即生效
vi /etc/sysconfig/selinux -- 永久关闭
getenforce
--------------------------------------------For Master server-----------------------------------------------
3、安装并启动Master主机上的 Master服务
[root@Mfsmaster ~]# yum install -y moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli
[root@Mfsmaster ~]# /usr/sbin/mfsmaster start
--------------------------------------------For MetaLogger server------------------------------------------
4、安装并修改MetaLogger server 主机上mfsmetalogger.cfg 配置,然后启动Masterlog 主机上的 mfsmetalogger服务
[root@MetaLogger ~]# yum install -y moosefs-metalogger
[root@MetaLogger ~]# cd /etc/mfs/
[root@MetaLogger mfs]# pwd
/etc/mfs
[root@MetaLogger mfs]# vim mfsmetalogger.cfg
#修改MASTER_HOST参数地址为Master地址:
MASTER_HOST = 192.168.40.145
#启动服务
[root@MetaLogger mfs]# /usr/sbin/mfsmetalogger start
--------------------------------------------For Chunkserver01-----------------------------------------------
5、安装chunkserver 修改 mfschunkserver.cfg 和 mfshdd.cfg 配置并启动mfschunkserver 服务
[root@mfschunkserver mfs]# yum install -y moosefs-chunkserver
[root@mfschunkserver mfs]# cd /etc/mfs/
[root@mfschunkserver mfs]# pwd
/etc/mfs
[root@mfschunkserver mfs]# vim mfschunkserver.cfg
#修改MASTER_HOST参数地址为Master地址:
MASTER_HOST = 192.168.40.145
[root@mfschunkserver mfs]# vim mfshdd.cfg
#修改存储目录(前提是先创建这个目录并授予mfs权限)
/mfsdata
最好设置一块新的物理盘然后挂载 /mfsdata 这个目录方便后期维护,不设置也可
[root@mfschunkserver ~]# mount /dev/sdb /mfsdata/
mount: /dev/sdb is write-protected, mounting read-only
mount: unknown filesystem type '(null)'
挂载的时候出现无法挂载的情况写保护只读,格式化磁盘,重新挂载
[root@mfschunkserver ~]# fdisk -l
[root@mfschunkserver ~]# mkfs.ext4 /dev/sdb
[root@mfschunkserver ~]# mount /dev/sdb /mfsdata
[root@mfschunkserver ~]# lsblk
#启动mfschunkserver
[root@localhost ~]# /usr/sbin/mfschunkserver start
open files limit has been set to: 16384
working directory: /var/lib/mfs
lockfile created and locked
setting glibc malloc arena max to 4
setting glibc malloc arena test to 4
initializing mfschunkserver modules ...
#启动时报错,/mfsdata 这个目录没mfs权限,修改权限重启启动
hdd space manager: can't create lock file '/mfsdata/.lock': EACCES (Permission denied)
hdd space manager: no hdd space defined in /etc/mfs/mfshdd.cfg file
init: hdd space manager failed !!!
error occurred during initialization - exiting
Chunkserver02和上面是一样的步骤
--------------------------------------------For Moosefs-client------------------------------------------------
6、安装 mfs 客户端并挂载
[root@mfsclient ~]# yum install -y moosefs-client
#创建目录挂载到Master server
[root@mfsclient Videos]# pwd
/home/sa/Videos
[root@mfsclient Videos]# du -sh
84M .
#执行挂载(注意:这个地方是/usr/bin目录下的mfsmount 这个指令,不是sbin)
[root@mfsclient Videos]# /usr/bin/mfsmount /home/sa/Videos/ -H 192.168.40.145
#显示下面这条挂载成功
mfsmaster accepted connection with parameters: read-write,restricted_ip,admin ; root mapped to root:root
[root@mfsclient Videos]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 5.1G 13G 29% /
devtmpfs 898M 0 898M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 9.1M 903M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 297M 157M 141M 53% /boot
tmpfs 183M 4.0K 183M 1% /run/user/42
tmpfs 183M 32K 183M 1% /run/user/1000
# 这条已经挂载上去了
192.168.40.145:9421 4.6G 361M 4.2G 8% /home/sa/Videos
7、登录Chunkserver01 服务器查看数据是否存在