环境准备:
一台mfsmaster192.168.150.128,
一台mfsmetdate192.168.150.129,
两台mfschunkserver 192.168.150.130, 192.168.150.132,
一台mfsclient192.168.150.131
首先进行环境的准备,采用官网yum方式进行安装 MFS官网https://moosefs.com/download/
1.管理服务器master
# curl"https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS">/etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS
# curl "http://ppa.moosefs.com/MooseFS-3-el6.repo" > /etc/yum.repos.d/MooseFS.repo
# yum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli #注意这里是master,所以只安装master使用到的软件
# useradd -s /sbin/nologin -M mfs #创建用户
# chown -R mfs.mfs /etc/mfs/ # 赋予权限用户
# cd /etc/mfs/ #进入配置目录
进入目录后查看即可看到这些配置文件
里面已经有了配置文件,配置文件无需更改
# vi mfsexports.cfg #打开权限文件,在最后一行写入能够访问mfs的网段,并且配置相应权限
192.168.150.0/24 . rw,alldirs,maproot=0 #可读写,所有文件,root用户登录
# mfsmaster strt 开启mfs,查看端口是否已经开启
# netstat -antp
2.元数据备份服务器 metalogger
# curl"https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" >/etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS
# curl "http://ppa.moosefs.com/MooseFS-3-el6.repo" > /etc/yum.repos.d/MooseFS.repo
# yum install moosefs-metalogger #这里也是只安装元数据备份服务器
# useradd -s /sbin/nologin -M mfs 创建用户
# chown -R mfs.mfs /etc/mfs/ 赋予权限用户
安装完成后,进行配置文件的书写
# vi /etc/mfs/mfsmetalogger.cfg 进行主配置文件的设置
META_DOWNLOAD_FREQ = 2 设置完整同步间隔为2小时
MASTER_HOST = 192.168.150.128 设置mfs主服务器地址
启动服务,查看进程
# mfsmetalogger start && netstat -antp 查看是否启动
# lsof -i :9419 查看端口是否连接成功
3.数据存储服务器chunkserver安装配置
首先添加一块硬盘,进行格式化和挂载
# fdisk /dev/sdb 进行磁盘的分区
# mkfs.ext4 /dev/sdb1 对磁盘进行格式化
# mkdir /mnt/mfs 创建挂载点
# useradd -s /sbin/nologin -M mfs 创建用户
# chown -R mfs.mfs /mnt/mfs/ 赋予挂载点权限
# mount -t ext4 /dev/sdb1 /mnt/mfs/ 将磁盘进行挂载
# chown -R mfs.mfs /mnt/mfs/ 在执行一次 防止挂载完后出错
挂载完磁盘后,再进行chunkserver的安装
# curl"https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" >/etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS
# curl "http://ppa.moosefs.com/MooseFS-3-el6.repo" > /etc/yum.repos.d/MooseFS.repo
# yum install moosefs-chunkserver 只安装chunkserver
# useradd -s /sbin/nologin -M mfs 创建用户 ,赋予权限
# chown -R mfs.mfs /mnt/mfs/
安装完成后,对主配置文件进行相应的更改配置
# cd /etx/mfs/
# vi mfschunkserver.cfg 打开配置文件进行相应配置
MASTER_HOST = 192.168.150.128 指定mfs-master的IP地址
MASTER_PORT = 9420 指定mfs-master的端口号
HDD_CONF_FILENAME = /etc/mfs/mfshdd.cfg 指定提供存储的配置文件位置
进入提供存储的配置文件位置,修改HDD路径
# vi mfshdd.cfg 进入提供存储的配置文件,修改HDD路径
/mnt/mfs 这个路径就是我们刚才磁盘的挂载点
启动服务# mfschunkserver start
4.客户机服务器组client进行安装配置
# curl"https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" >/etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS
# curl "http://ppa.moosefs.com/MooseFS-3-el6.repo" > /etc/yum.repos.d/MooseFS.repo
# yum install moosefs-client 安装客户端
# yum -y install fuse fuse-devel fuse-libs 安装客户端的依赖
# useradd mfs -s /sbin/nologin 创建用户
# chown -R mfs.mfs /etc/mfs/ 赋予用户权限
因为要对控制点进行挂载,所以创建一个文件进行挂载使用
# mkdir /mfsclient 创建文件夹用户挂载mfs
# mfsmount /mfsclient/ -H 192.168.150.128 进行mfs的挂载
# chown -R mfs.mfs /mfsclient/ 赋予用户权限
挂载完毕后我们进入/mfsclient写一个文件
# cd /mfsclient/ 进入文件夹
# vi whr.txt 写上一个文件,保存
# mfsfileinfo whr.txt 查看whr.txt保存的位置,这样就能查看到1.txt所在的存储地址,这就验证了mfs的作用
MFS服务也搭建成功
日常维护:
1.chunkserver添加
当我们的chunkserver不够时,我们依旧可以进行动态加入,并且这个加入是实时的
首先添加一块硬盘,进行格式化和挂载
# fdisk /dev/sdb 进行磁盘的分区
# mkfs.ext4 /dev/sdb1 对磁盘进行格式化
# mkdir /mnt/mfs 创建挂载点
# useradd -s /sbin/nologin -M mfs 创建用户
# chown -R mfs.mfs /mnt/mfs/ 赋予挂载点权限
# mount -t ext4 /dev/sdb1 /mnt/mfs/ 将磁盘进行挂载
# chown -R mfs.mfs /mnt/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-el6.repo" > /etc/yum.repos.d/MooseFS.repo
# yum install moosefs-chunkserver 只安装chunkserver
# useradd -s /sbin/nologin -M mfs 创建用户 ,赋予权限
# chown -R mfs.mfs /mnt/mfs/
# vi mfschunkserver.cfg 打开配置文件进行相应配置
MASTER_HOST = 192.168.150.128 指定mfs-master的IP地址
MASTER_PORT = 9420 指定mfs-master的端口号
HDD_CONF_FILENAME = /etc/mfs/mfshdd.cfg 指定提供存储的配置文件位置
# vi mfshdd.cfg 进入提供存储的配置文件,修改HDD路径
/mnt/mfs 这个路径就是我们刚才磁盘的挂载点
# mfschunkserver start 启动mfschunk服务
和普通的chunkserver一样的配置,此时我们在web页面端进行刷新查看,发现已经有了这个chunkserver
2.误删除数据
在我们的生产环境中,有时会碰到我们删除了数据之后,发现这个数据还需要使用,这时,就可以实现数据找回,所用的原理就是我们删除数据时只删除了文件的元数据,真实数据有一个倒计时期限,只要还在这个期限内,我们就还能找回数据。
首先我们先创建一个目录
# mkdir /mfsback
# mfsmount -m /mfsback/ -H 192.168.150.128 我们把这个目录挂载到主服务器上
# ls 即可发现已经有了目录 我们删除的文件就在trash下
这里我们要安装一个工具 tree
# yum -y install tree #因为trash里面有很多子目录,为了方便查找我们安装了tree
# cd trash/
# tree . >> /root/1.txt #因为文件太多,我们输出到一个文件中方便查找
# cat 1.txt 找到whr.txt所对应的号
# cd /mfsback
# mv trash/009/0000009\|whr.txt trash/undel/ 将所删除的whr.txt移动到trash目录下的不删除目录下
我们再进入到所挂载的目录下 /mfsclient,进行查看,文件已经恢复.但并不是所有文件都能恢复,超过误删除时间就不能恢复了
在客户端查看删除时间 # mfsgettrashtime whr.txt
修改删除时间 # mfssettrashtime 88888 whr.txt 即可修改
3.快照功能
# mkdir snaphot/
# mfssnaphot whr.txt /snaphot
# cd snaphot && ls 即可看到
4.goal设置(备份)
有时我们的不是特别重要的文件备份过多会浪费存储空间,所以我们也可以设置goal值更改备份数量。
# mfssetgoal 1 whr.txt
# mfsfileinfo whr.txt 就会看到只有一个
# mfsgetgoal 2 whr.txt
# mfsfileinfo whr.txt 就会看到又有两个
5.master死亡,数据被删除
到备份节点上 将信息发送给主节点 var/mfs
# scp * root@192.168.150.128:/var/mfs
回到主节点
进入/var/mfs 执行# mfsmaster -a进行修复即可完成
(注:不当之处还请各位大佬批评指正!!!)