MFS分布式存储

架构环境:基于Centos6.7
实验环境:一台master、一台metalogger、两台trunkserver、一台客户端

特点:分散存储,易于管理,可靠性极高,部署简单

组成:
1)Master(元数据服务器):负责维护、管理数据的所在位置等
2)Chunk Server(数据存储服务器):负责数据的存储
3)Metalogger(元数据日志服务器):负责纪录数据的改动情况
4)Client(客户端):访问MFS

MFS读过程
1)客户端向Master发送读请求
2)Master去缓存的数据库(非MySQL)中搜索客户端所需数据的位置,并告知客户端(Chunk Server IP、Chunk编号)
3)客户端去指定Chunk Server的对应Chunk编号读取数据
4)客户端通知Master读取完毕

MFS写过程
1)客户端向Master发送写请求
2)Master通知Chunk Server(谁空闲,如空闲新建Chunk编号),找到后将知道的Chunk Server IP和编号告知客户端
3)客户端向指定IP和编号存储数据
4)客户端告知Master写入完毕
5)Master通知Metalogger有新数据写入(Matelogger纪录新增加文件位置和对应Chunk Server),日志记录完毕后,连接关闭

master主架构

yum -y install zlib-devel
//安装依赖
useradd -s /sbin/nologin mfs
//创建运行用户
tar -zxvf mfs-1.6.27-5.tar.gz -C /usr/src/ && cd /usr/src/mfs-1.6.27

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount
详解:
–prefix=/usr/local/mfs
//安装目录
–with-default-user=mfs
//指定运行用户
–with-default-group=mfs
//指定运行组
–disable-mfschunkserver
//禁用存放数据功能
–disable-mfsmount
//禁用挂载功能
make && make install
//编译安装

cd /usr/local/mfs/etc/mfs/
//切换到指定目录
cp mfsmaster.cfg.dist mfsmaster.cfg
//启用主配置文件(去掉后缀)
cp mfstopology.cfg.dist mfstopology.cfg
//启用权限限制功能(去掉后缀)
cp mfsexports.cfg.dist mfsexports.cfg
//启用连接挂载功能(去掉后缀)
cp /usr/local/mfs/var/mfs/metadata.mfs.empty /usr/local/mfs/var/mfs/metadata.mfs
//启用记录所有数据存放地点的索引文件功能(去掉后缀)
在这里插入图片描述

/usr/local/mfs/sbin/mfsmaster start
//启动服务
echo “/usr/local/mfs/sbin/mfsmaster start” >>/etc/rc.local
//开机自启
chmod +x /etc/rc.local
//赋予执行权限

metalogger日志部署

yum -y install zlib-devel
//安装依赖
useradd -s /sbin/nologin mfs
//创建运行用户
tar -zxvf mfs-1.6.27-5.tar.gz -C /usr/src/ && cd /usr/src/mfs-1.6.27

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount
详解:
–prefix=/usr/local/mfs
//安装位置
–with-default-user=mfs
//运行用户
–with-default-group=mfs
//运行组
–disable-mfschunkserver
//禁用存放数据功能
–disable-mfsmount
//禁用挂载功能
make && make install
//编译安装
在这里插入图片描述
cd /usr/local/mfs/etc/mfs/
//切换到指定目录
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
//启动日志记录功能(去掉后缀)
vim mfsmetalogger.cfg
MASTER_HOST = 192.168.1.10
//指定master服务器IP
在这里插入图片描述
/usr/local/mfs/sbin/mfsmetalogger start
//启动服务
echo “/usr/local/mfs/sbin/mfsmetalogger start” >>/etc/rc.local
//开机自启
chmod +x /etc/rc.local
//赋予执行权限
netstat -utpln
//不监听端口(发送来的日志数据已随机端口接收)
ps -ef
//可查看进程检查

chunkserver存储架构(一)

yum -y install zlib-devel
//安装依赖
useradd -s /sbin/nologin mfs
//创建运行用户
tar -zxvf mfs-1.6.27-5.tar.gz -C /usr/src/ && cd /usr/src/mfs-1.6.27

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfsmount
详解:
–prefix=/usr/local/mfs
//安装位置
–with-default-user=mfs
//运行用户
–with-default-group=mfs
//运行组
–disable-mfsmaster
//禁用主服务功能
–disable-mfsmount
//禁用挂载功能
make && make install
//编译安装
cd /usr/local/mfs/etc/mfs/
//切换到指定目录
cp mfschunkserver.cfg.dist mfschunkserver.cfg
//启动块存储服务(去掉后缀)
cp mfshdd.cfg.dist mfshdd.cfg
//启动目录存储服务(去掉后缀)
vim mfschunkserver.cfg
MASTER_HOST = 192.168.0.21
//指定master服务器IP(去掉注释)
在这里插入图片描述
vim mfshdd.cfg
/data
//末行增加存储目录名
在这里插入图片描述
mkdir /data
//新建存储目录
chown -R mfs:mfs /data
//更改属者属组(否则无权限)
chown -R mfs:mfs /usr/local/mfs/var/mfs
//更改临时工作目录属者属组
/usr/local/mfs/sbin/mfschunkserver start
//启动服务
echo “/usr/local/mfs/sbin/mfschunkserver start” >>/etc/rc.local
//开机自启
chmod +x /etc/rc.local
//赋予执行权限

chunkserver存储架构(二)

yum -y install zlib-devel
//安装依赖
useradd -s /sbin/nologin mfs
//创建运行用户
tar -zxvf mfs-1.6.27-5.tar.gz -C /usr/src/ && cd /usr/src/mfs-1.6.27

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfsmount
详解:
–prefix=/usr/local/mfs
//安装位置
–with-default-user=mfs
//运行用户
–with-default-group=mfs
//运行组
–disable-mfsmaster
//禁用主服务功能
–disable-mfsmount
//禁用挂载功能
make && make install
//编译安装
cd /usr/local/mfs/etc/mfs/
//切换到指定目录
cp mfschunkserver.cfg.dist mfschunkserver.cfg
//启动块存储服务(去掉后缀)
cp mfshdd.cfg.dist mfshdd.cfg
//启动目录存储服务(去掉后缀)
vim mfschunkserver.cfg
MASTER_HOST = 192.168.0.21
//指定master服务器IP(去掉注释)
在这里插入图片描述
vim mfshdd.cfg
/data
//末行增加存储目录名
在这里插入图片描述
mkdir /data
//新建存储目录
chown -R mfs:mfs /data
//更改属者属组(否则无权限)
chown -R mfs:mfs /usr/local/mfs/var/mfs
//更改临时工作目录属者属组
/usr/local/mfs/sbin/mfschunkserver start
//启动服务
echo “/usr/local/mfs/sbin/mfschunkserver start” >>/etc/rc.local
//开机自启
chmod +x /etc/rc.local
//赋予执行权限

客户端架构

注:客户端需要挂载,需先装fuse依赖包,方可挂载

tar -zxvf fuse-2.9.2.tar.gz -C /usr/src/ && cd /usr/src/fuse-2.9.2

./configure && make && make install
//默认配置并编译安装
ls /usr/local/lib/pkgconfig/
//默认存放文件路径
在这里插入图片描述
vim /etc/profile
//增加环境变量
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
//默认下一步安装服务包寻找不到依赖,需手动修改环境配置,全局生效
source /etc/profile
//立即生效
useradd -s /sbin/nologin mfs
//创建运行用户
tar -zxvf ~/mfs-1.6.27-5.tar.gz -C /usr/src/
cd /usr/src/mfs-1.6.27/

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfschunkserver --enable-mfsmount
详解:
–prefix=/usr/local/mfs
//安装位置
–with-default-user=mfs
//运行用户
–with-default-group=mfs
//运行组
–disable-mfsmaster
//禁用主服务功能
–disable-mfschunkserver
//禁用存放数据功能
–enable-mfsmount
//启用挂载功能
make && make install
//编译并安装
modprobe fuse
//手动加载fuse依赖模块到内核
vim /etc/rc.local
modprobe fuse
//开机自启永久生效
在这里插入图片描述
lsmod | grep fuse
//检查是否成功
echo “modprobe fuse” >>/etc/rc.local
//开机自启
/usr/local/mfs/bin/mfsmount /media -H 192.168.1.10 //挂载到本地目录
注:客户端(slave)的本地/media目录是直接映射到存储端(chunkserver)的 /data目录的

主服务端操作(master)

/usr/local/mfs/sbin/mfscgiserv start
//启动网页图形化功能
echo “/usr/local/mfs/sbin/mfscgiserv start” >>/etc/rc.local
//开机自启
http:IP:9425
在这里插入图片描述
客户机操作(web)

注:设置存储服务器同步次数(默认同步一份)

/usr/local/mfs/bin/mfssetgoal -r 1 -H /media/
//更改主从服务器之间随机copy的次数

/usr/local/mfs/bin/mfsgetgoal -H /media/
//查看主从服务器当前copy的次数
在这里插入图片描述
关闭单个查看是否有数据存在,即可实现分布式架构

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值