安装MFS基本步骤
主机IP地址分配如下
主控服务器Master Server 192.168.88.161
主控服务器 Metalogger Server 192.168.88.162
存储块服务器 Chunk Server 192.168.88.163 AND 192.168.88.164
客户端主机 Clients 192.168.88.165
===========================================================
一、 主控服务器Master Server 安装
将mfs-1.6.26.tar.gz上传到/usr/software下。
安装所需组件
[root@MFS-Master ~]# yum install cmake make –y
[root@MFS-Master ~]# yum install gcc gcc-c++ autoconf automake zlib* -y
添加mfs组。
[root@MFS-Master ~]# groupadd mfs
新增系统用户
[root@MFS-Master ~]# useradd -g mfs mfs
切换目录
[root@MFS-Master ~]# cd /usr/software/
解压mfs-1.6.26.tar.gz文件
[root@MFS-Master software]# tar -zxvf mfs-1.6.26.tar.gz
进入安装目录
[root@MFS-Master software]# cd mfs-1.6.26
用户配置
[root@MFS-Master software]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
编译并安装
[root@MFS-Chunk1 mfs-1.6.26]# make && make install
切换目录
[root@MFS-Master /]# cd /usr/local/mfs/etc/
复制置文件
[root@MFS-Master etc]# cp mfsmaster.cfg.dist mfsmaster.cfg
[root@MFS-Master etc]# cp mfsexports.cfg.dist mfsexports.cfg
主配置文件说明
修改DATA_PATH指定的目录要权限为mfs
[root@MFS-Master etc]# chown -R mfs:mfs /usr/local/mfs/var/mfs
注意开通监听的端口(先关闭IPTABLES)
service iptables stop
配置mfsexports.cfg文件
[root@MFS-Master etc]# vi mfsexports.cfg
修改红框中的内容为
192.168.88.0/24 / rw,alldirs,maproot=0
该文件每一个条目分为三部分:
第一部分:客户端的ip地址
第二部分:被挂接的目录
第三部分:客户端拥有的权
地址可以指定的几种表现形式:
* 所有的ip地址
n.n.n.n 单个ip地址
n.n.n.n/b IP网络地址/位数掩码
n.n.n.n/m.m.m.m IP网络地址/子网掩码
f.f.f.f-t.t.t.t IP段
目录部分需要注意两点:
/ 标识MooseFS 根;
. 表示MFSMETA 文件系
权限部分:
ro 只读模式共享
rw 的方式共享
alldirs 许挂载任何指定的子目录
maproot 映射为root,还是指定的用户
password 指定客户端密码
复制文件
[root@MFS-Master etc]# cp /usr/local/mfs/var/mfs/metadata.mfs.empty /usr/local/mfs/var/mfs/metadata.mfs
启动服务
[root@MFS-Master etc]# /usr/local/mfs/sbin/mfsmaster start
启动监控服务
为了监控MooseFS 当前运行状态,我们可以运行 CGI 监控服务,这样就可以用浏览器查看整个MFS的动行情况
[root@MFS-Master etc]# /usr/local/mfs/sbin/mfscgiserv
在浏览器地址栏输入 http://192.168.88.161:9425 即可查看master 的运行情况
要经常性的查看系统日志
[root@MFS-Master etc]# tail -f /var/log/messages
主控服务器Master Server安装完成
二、 备份服务器 Backup Server(metalogger)安装
将mfs-1.6.26.tar.gz上传制/usr/software下。
安装所需组件
[root@MFS-Master ~]# yum install cmake make –y
[root@MFS-Master ~]# yum install gcc gcc-c++ autoconf automake zlib* -y
添加mfs组。
[root@MFS-Master ~]# groupadd mfs
新增系统用户
[root@MFS-Master ~]# useradd -g mfs mfs
切换目录
[root@MFS-Master ~]# cd /usr/software/
解压mfs-1.6.26.tar.gz文件
[root@MFS-Master software]# tar -zxvf mfs-1.6.26.tar.gz
进入安装目录
[root@MFS-Master software]# cd mfs-1.6.26
用户配置
[root@MFS-Master software]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
编译并安装
[root@MFS-Chunk1 mfs-1.6.26]# make && make install
切换目录
[root@MFS-Master /]# cd /usr/local/mfs/etc/
复制置文件
[root@MFS-Metalogger etc]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
修改配置文件
[root@MFS-Metalogger etc]# vi mfsmetalogger.cfg
在配置文件中添加一行 MASTER_HOST = 192.168.88.161(主控服务器的IP)
再将 MASTER_PORT = 9419 这行的注释打开
(注:
MASTER_HOST 不能为localhost或127.0.0.1,要使用对外IP。
MASTER_PORT必须为元数据服务器配置中MATOCS_LISTEN_PORT指定的端口,且IP必须被master允许。)
启动服务
[root@MFS-Metalogger mfs]# /usr/local/mfs/sbin/mfsmetalogger start
(注:需要将主控服务器打开)
备份服务器 Backup Server(metalogger)安装完成
三、 存储服务器 Chunk Server 安装
将mfs-1.6.26.tar.gz上传制/usr/software下。
安装所需组件
[root@MFS-Master ~]# yum install cmake make –y
[root@MFS-Master ~]# yum install gcc gcc-c++ autoconf automake zlib* -y
添加mfs组。
[root@MFS-Master ~]# groupadd mfs
新增系统用户
[root@MFS-Master ~]# useradd -g mfs mfs
切换目录
[root@MFS-Master ~]# cd /usr/software/
解压mfs-1.6.26.tar.gz文件
[root@MFS-Master software]# tar -zxvf mfs-1.6.26.tar.gz
进入安装目录
[root@MFS-Master software]# cd mfs-1.6.26
用户配置
[root@MFS-Master software]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
编译并安装
[root@MFS-Chunk1 mfs-1.6.26]# make && make install
切换目录
[root@MFS-Chunk1 mfs-1.6.26]# cd /usr/local/mfs/etc/
复制配置文件
[root@MFS-Chunk1 etc]# cp mfschunkserver.cfg.dist mfschunkserver.cfg
[root@MFS-Chunk1 etc]# cp mfshdd.cfg.dist mfshdd.cfg
修改配置文件
[root@MFS-Chunk1 etc]# vi mfschunkserver.cfg
在配置文件中添加一行 MASTER_HOST = 192.168.88.161(主控服务器的IP)
再将 MASTER_PORT = 9420 这行的注释打开
[root@MFS-Chunk1 etc]# vi mfshdd.cfg
(注:需要在根目录下创建一个data的目录 mkdir data)
修改权限
需要让mfs用户拥有写目录的权限
[root@MFS-Chunk1 etc]# cd /
[root@mysql_master /]# mkdir data
[root@MFS-Chunk1 /]# chown -R mfs:mfs /data
启动服务
[root@MFS-Chunk1 /]# /usr/local/mfs/sbin/mfschunkserver start
(注:需要将主控服务器打开)
第二个存储服务器的安装和配置相同
四、 客户端安装
将fuse-2.9.2.tar.gz上传制/usr/software下
将mfs-1.6.26.tar.gz上传制/usr/software下
FUSE安装
[root@mysql1 ~]# cd /usr/software/
解压文件
[root@mysql1 software]# tar -zxvf fuse-2.9.2.tar.gz
切换目录
[root@mysql1 software]# cd fuse-2.9.2
配置 一下
[root@mysql1 fuse-2.9.2]# ./configure
编译安装
[root@mysql1 fuse-2.9.2]#
修改环境变量
[root@mysql1 fuse-2.9.2]# echo 'export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH' >>/etc/profile
[root@mysql1 fuse-2.9.2]# source /etc/profile
[root@mysql1 fuse-2.9.2]# modprobe fuse
MFSMount安装
添加mfs组。
[root@MFS-Master ~]# groupadd mfs
新增系统用户
[root@MFS-Master ~]# useradd -g mfs mfs
进入目录
[root@MFS-Master ~]# cd /usr/software/
解压mfs-1.6.26.tar.gz文件
[root@MFS-Master software]# tar -zxvf mfs-1.6.26.tar.gz
进入安装目录
[root@MFS-Master software]# cd mfs-1.6.26
用户配置
[root@MFS-Master software]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
编译并安装
[root@MFS-Chunk1 mfs-1.6.26]# make && make install
创建挂接点
[root@mysql1 bin]# cd /
[root@mysql1 /]# mkdir /mnt/mfs
[root@mysql1 /]# cd /usr/local/mfs/bin/
[root@mysql1 bin]# /usr/local/mfs/bin/mfsmount /mnt/mfs -H 192.168.88.161
(注:所有的MFS都是挂接同一个元数据服务器master,而不是其他数据存储服务器chunkserver)
挂接垃圾箱
[root@mysql1 bin]# cd /
[root@mysql1 /]# mkdir /mnt/mfsmeta
[root@mysql1 /]# cd /usr/local/mfs/bin/
[root@mysql1 bin]# /usr/local/mfs/bin/mfsmount -m /mnt/mfsmeta -H 192.168.88.161
设置文件副本数量
[root@mysql1 bin]# /usr/local/mfs/bin/mfssetgoal 2 /mnt/mfs
(注:设置该数值时,不要超过ChunkServer的数量)
相关命令
启动master服务
/usr/local/mfs/sbin/mfsmaster start
停止master服务
/usr/local/mfs/sbin/mfsmaster stop
(注:一定要安全停止master server是非常必要的,最好不要用kill。利用mfsmaster –s来安全停止master serve)
启动和停止web gui
启动: /usr/local/mfs/sbin/mfscgiserv
停止: kill /usr/local/mfs/sbin/mfscgiserv
启动chunkvserver服务
/usr/local/mfs/sbin/mfschunkserver start
停止chunksever服务
/usr/local/mfs/sbin/mfschunkserver stop
启动metalogger服务
/usr/local/mfs/sbin/mfsmetalogger start
停止metalogger服务
/usr/local/mfs/sbin/mfsmetalogger stop
设置副本 的份数,推荐3份
/usr/local/mfs/bin/mfssetgoal -r 3 /mnt/mfs
(注:如果之前设置为副本为2,用 –r 修改副本数为3,会将之前副本为2的文件再增加一个副本)
查看挂载的目录有设置了几个副 本
[root@Client /]# /usr/local/mfs/bin/mfsgetgoal /mnt/mfs/
查看一个文件有几个CHUNK,有几个COPY
[root@mysql1 mfs]# /usr/local/mfs/bin/mfsfileinfo test10.rar
查看目录下所有信息
[root@mysql1 mfs]# /usr/local/mfs/bin/mfsdirinfo /mnt/mfs
设置垃圾箱删除文件时间
[root@mysql1 mfs]# /usr/local/mfs/bin/mfssettrashtime 3600 /mnt/mfs/
挂接垃圾箱
[root@mysql1 bin]# /usr/local/mfs/bin/mfsmount -m /mnt/mfsmeta -H 192.168.88.161
[root@mysql1 bin]# ls /mnt/ mfsmeta /trash
恢复被删除的文件
被删除的文件名由一个八位十六进制数和被删文件的文件名组成
[root@mysql1 trash]# cd /mnt/ mfsmeta /trash/
只要将要恢复的文件移动到undel文件夹中,文件就恢复了
[root@mysql1 trash]# mv '0000002B|test3.rar' undel
恢复数据
第一种方式:通过备份Master的/usr/local/mfs/var/mfs文件夹下的文件进行恢复
1、 先备份Master Server的/usr/local/mfs/var/mfs文件夹下的文件(可以通过crontab来完成)
2、 将好使的Master Server的/usr/local/mfs/var/mfs下的文件删除
3、 将备份的文件重新拷贝到/usr/local/mfs/var/mfs文件夹下
4、 将metadata.mfs.back文件改为metadata.mfs
5、 [root@Master etc]# chown -R mfs:mfs /usr/local/mfs/var/mfs
6、 [root@Master etc]# reboot
7、 重启后启动服务/usr/local/mfs/sbin/mfsmaster start,恢复成功。
第二种方式:通过Backup Server进行恢复
1、 重新安装一个Master Server
2、 到Backup Server的/usr/local/mfs/var/mfs/目录下找到metadata_ml.mfs.back文件和最后一个日志文件,我最后一个日志文件是changelog_ml.21.mfs
3、 将这两个文件复制到Master Server的/usr/local/mfs/etc/目录下
4、 执行/usr/local/mfs/sbin/mfsmetarestore -m metadata_ml.mfs.back -o /usr/local/mfs/var/mfs/metadata.mfs changelog_ml.21.mfs
重启后启动服务,恢复成功。