MooseFS是一个容错,高可用,高性能,扩展,网络分布式文件系统。它将数据分布在多个物理商品服务器上,这些服务器对用户可视为一个虚拟磁盘。它符合POSIX而且像任何其余类Unix文件系统同样支持:python
- 分层结构:文件和文件夹,
- 文件属性,
- 特殊文件:管道,插座,块和字符设备,
- 符号和硬连接,
- 安全属性和ACL。
它适用于须要标准文件系统的全部应用程序。
分布式文件系统是指文件系统管理的物理存储资源不必定直接链接在本地节点上,而是经过计算机网络与节点相连。简单来讲,就是把一些分散的(分布在局域网内各个计算机上)共享文件夹,集合到一个文件夹内(虚拟共享文件夹)。对于用户来讲,要访问这些共享文件时,只要打开这个虚拟共享文件夹,就能够看到全部连接到虚拟共享文件夹内的共享文件夹,用户感受不到这些共享文件是分布于各个计算机上的。分布式文件系统的好处是集中访问、简化操做、数据容灾,以及提升文件的存取性能。linux
MFS是一个具备容错性的网络分布式文件系统,它把数据分散存放在多个物理服务器上,而呈现给用户的则是统一的资源。web
systemctl stop firewalld setenforce 0
主机 | 操做系统 | IP地址 | 主要软件 |
---|---|---|---|
Master Server | CentOS-7-x86_64 | 172.16.10.21 | 使用yum安装 |
MetalLogger Server | CentOS-7-x86_64 | 172.16.10.26 | |
Chunk Server1 | CentOS-7-x86_64 | 172.16.10.27 | |
Chunk Server2 | CentOS-7-x86_64 | 172.16.10.28 | |
Client | CentOS-7-x86_64 | 172.16.10.29 |
curl "https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS //添加键值 curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo //添加适当的库条目 yum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli -y
systemctl start moosefs-master systemctl enable moosefs-master netstat -ntap | grep mfs
curl "https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS //添加键值 curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo //添加适当的库条目 yum install moosefs-metalogger -y
vim /etc/mfs/mfsmetalogger.cfg MASTER_HOST = 172.16.10.21 //地址指向主服务器
systemctl start moosefs-metalogger systemctl enable moosefs-metalogger netstat -ntap | grep mfs
项目中的两台Chunk Server的搭建步骤是彻底相同vim
curl "https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS //添加键值 curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo //添加适当的库条目 yum install moosefs-chunkserver -y
vim /etc/mfs/mfschunkserver.cfg MASTER_HOST = 172.16.10.21 //在配置文件中修改,将地址指向主服务器
vim /etc/mfs/mfshdd.cfg /chen //在末行添加共享目录
chown -R mfs:mfs /chen
systemctl start moosefs-chunkserver systemctl enable moosefs-chunkserver netstat -ntap | grep mfs
curl "https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS //添加键值 curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo //添加适当的库条目 yum install moosefs-client -y
modprobe fuse
mkdir /opt/mfs //建立挂载点 mfsmount /opt/mfs/ -H 172.16.10.21 //挂载,地址为master地址
df -h
mfsgetgoal命令用来查询文件被复制的份数,利用-r命令能够对整个目录进行递归,goal是指文件被复制的份数。浏览器
mfsgetgoal -r /opt/mfs/
mfssetgoal命令同来设置文件被复制的份数,生产环境中Chunk节点数量应至少大于2,文件副本数量小于等于Chunk服务器数量。安全
mfssetgoal -r 2 /opt/mfs/
Mfscgiserv是一个用python编写的web服务器,监听端口是9425,能够在Master Server启动监控,用户利用浏览器就能够全面监控全部客户挂载、Chunk Server、Master Server,以及客户端的各类操做等。服务器
mfscgiserv