发现自己这个存储页面好空,我又搞过一些内容,不管内容新旧了,贴出来给需要的人参考下吧。
PS:内容太老,仅供参考,第二篇。
每个时期的文档质量不一样,该文章,大部分还是属于当时的操作比较。质量并不是很高。如果你真的有需要,可以给我邮件或者+v。
再补充一些使用中的内容。该文章只是一个安装过程和使用中出现的一些问题,当时参考了很多类似的存储系统,不管是nas,nfs都有一些测试。
mfs 本篇文章。
GlusterFS 另一篇文章有写。 这个只是把文件用自己的形式写了多份。 软件架构比较简单。
hadoop 另一篇文章有写,当时只尝试做一些很基础的内容,这个文档是14年之前的。
算下来,在当年还是mfs相对来说功能更全一些,有自己的WebUI和一些辅助性的工具,我们还有很多旧服务器,之后使用的普通的2t硬盘。使用办公环境的机房(电有点不靠谱)
这类的存储,特别依赖master,master如果出了问题(如停电,机器故障)就需要依赖log服务器,这个log是master的数据日志,要从这里备份。
在实际观察中,mfs这个鬼是频繁的写小文件,全新的2t家用磁盘,一般来说3,4个月就会坏一块。使用了不到2年,后来发现换的磁盘费用太高,最后使用的是某品牌nas。
如果你的读写量不夸张,只是当作每日备份,可以考虑,成本也不错。
如果你们是把这个东西当作硬盘用,成本就不好说了。我们就是这么用的。
仅供参考,毕竟,这个我们大概也是在13-14年左右用的,现在可能会改善,不管是磁盘寿命,还是软件性能。
主机IP 分配情况
Master server IP: 192.168.30.135
Mount client IP: 192.168.30.136
Chuck1 server IP: 192.168.30.138
Chuck2 server IP: 192.168.30.139
主控服务器Master server 安装
本地host解析
192.168.30.135 mfsmaster
[cce_bash]
[cce_bash]
添加mfs组 和 mfs用户
groupadd mfs && useradd -g mfs -s /sbin/nologin mfs
mkdir tools
cd tools
moosefs最新版源码包
wget http://sourceforge.net/projects/moosefs/files/moosefs/1.6.27/mfs-1.6.27.tar.gz/download
下载Python-2.7.4
wget http://www.python.org/ftp/python/2.7.4/Python-2.7.4.tgz
解包并配置moosefs
tar xzf mfs-1.6.27-5.gz
cd mfs-1.6.27
./configure \
--prefix=/data/soft/mfs-1.6.27 \
--with-default-user=mfs \
--with-default-group=mfs \
--sysconfdir=/data/soft/mfs-1.6.27/etc \
--localstatedir=/data/soft/mfs-1.6.27/var/lib \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--disable-mfsmount
make && make install
tar xzf Python-2.7.4.tar
cd Python-2.7.4
./configure && make && make install
cd /data/soft/mfs-1.6.27/etc/mfs
拷贝样例文件
cp mfsmaster.cfg.dist mfsmaster.cfg
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
cp mfsexports.cfg.dist mfsexports.cfg
首次安装需要打开数据存储文件
cd /data/soft/mfs-1.6.27/var/lib/mfs
cp metadata.mfs.empty metadata.mfs
更改mfsexports.cfg配置文件 指定挂载权限
vi mfsexports.cfg
Allow everything but "meta".
192.168.30.136 / rw,alldirs,maproot=0
Allow "meta".
<ul>
<li>. rw</li>
</ul>
运行Master 服务
/data/soft/mfs-1.6.27/sbin/mfsmaster start
开启mfs自带的web
/data/soft/mfs-1.6.27/sbin/mfscgiserv
检查端口是否开启
netstat -lnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:9419 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:9420 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:9421 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:9425 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN
groupadd mfs && useradd -g mfs -s /sbin/nologin mfs
tar xzf mfs-1.6.27-5.gz
cd mfs-1.6.27
./configure --prefix=/data/soft/mfs-1.6.27 \
--localstatedir=/data/soft/mfs-1.6.27/var/lib \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--disable-mfsmount
make && make install
cd /data/soft/mfs-1.6.27/etc/mfs
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
本地host解析
vi /etc/hosts
192.168.30.135 mfsmaster
添加mfs组 和 mfs用户
groupadd mfs && useradd -g mfs -s /sbin/nologin mfs
mkdir tools
cd tools
解包并配置moosefs
tar xzf mfs-1.6.27-5.gz
cd mfs-1.6.27
./configure \
--prefix=/data/soft/mfs-1.6.27 \
--sysconfdir=/data/soft/mfs-1.6.27/etc \
--localstatedir=/data/soft/mfs-1.6.27/var/lib \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfsmaster
编译并配置
make && make install
切换到配置文件目录
cd /data/soft/mfs-1.6.27/etc/mfs
拷贝样例文件
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfg
vi mfshdd.cfg
/data/test1
创建共享目录
mkdir -p /data/test1
属主属组更改为mfs
chown -R mfs:mfs /data/test1
启动chuck server
/data/soft/mfs-1.6.27/sbin/mfschunkserver start
检查端口是否开启
netstat -lnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:9422 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN
本机主机解析
vi /etc/hosts
192.168.30.135 mfsmaster
添加mfs组 和 mfs用户
groupadd mfs && useradd -g mfs -s /sbin/nologin mfs
mkdir tools
cd tools
下载fuse源码包
wget http://sourceforge.net/projects/fuse/files/fuse-2.X/2.9.2/fuse-2.9.2.tar.gz/download
安装包pkgconfig
rz 上传
rpm -Uvh pkgconfig-0.21-2.el5.x86_64.rpm
下载util-linux软件包
tar xzf util-linux-2.20.tar.bz2
cd util-linux-2.20
./configure && make && make install
cd ..
解包并配置fuse
tar xzf fuse-2.9.2.tar.gz
cd fuse-2.9.2
./configure \
--prefix=/usr
make && make install
cd ..
此处可能会提示如下信息(请检查util-linux是否安装)
configure: WARNING:
- Please install util-linux version 2.18 or later which supports *
- –fake and –no-canonicalize options in mount and umount *
modprobe fuse
pkgconfig追加环境变量(否则编译mfs会提示找不到pkgconfig)
export PKG_CONFIG_PATH=/usr/lib/pkgconfig:$PKG_CONFIG_PATH
增加库路径
vi /etc/ld.so.conf.d/fuse_lib.conf
/usr/lib
/usr/local/lib
. /etc/profile
ldconfig
解包并配置moosefs
tar xzf mfs-1.6.27-5.gz
cd mfs-1.6.27
./configure \
--prefix=/data/soft/mfs-1.6.27 \
--sysconfdir=/data/soft/mfs-1.6.27/etc \
--localstatedir=/data/soft/mfs-1.6.27/var/lib \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--enable-mfsmount
编译并安装
make && make install
建立挂载点目录
mkdir /data/mfs
尝试客户端挂载
/data/soft/mfs-1.6.27/bin/mfsmount /data/mfs -H mfsmaster
尝试客户端挂载垃圾回收
mkdir /data/mfs/meta
/data/soft/mfs-1.6.27/bin/mfsmount -m /data/mfs/meta -H mfsmaster
client
设置冗余goal设置(-r 是递归整个目录)
/data/soft/mfs-1.6.26/bin/mfssetgoal -r 3 /data/mfs
查看设置的goal数
/data/soft/mfs-1.6.26/bin/mfsgetgoal /data/mfs
mfscheckfile 用来检查指定文件以多少副本来存储(
实际创建的副本数可以用这两条命令检测)
/data/soft/mfs-1.6.26/bin/mfscheckfile /data/mfs/1.txt
mfsfileinfo 查看文件分别传送到哪些服务器
/data/soft/mfs-1.6.26/bin/mfsfileinfo /data/mfs/1.txt
设置垃圾隔离时间(时间以秒计算 600秒等同于10分钟,官方推荐时间)
/data/soft/mfs-1.6.26/bin/mfssettrashtime 600 /data/mfs
查看垃圾隔离时间
/data/soft/mfs-1.6.26/bin/mfsgettrashtime /data/mfs
给文件或目录树做快照
/data/soft/mfs-1.6.26/bin/mfsmakesnapshot source … destination
mfsdirinfo查看目录树的内容摘要
/data/soft/mfs-1.6.26/bin/mfsdirinfo
1、Mfs的元数据服务器存在单点故障,在mfs里最重要的也是元数据服务器,
它最重要的目录是/data/soft/mfs-1.6.26/var/lib/mfs/
在这个目录下只要保证了changelog*.mfs 和 metadata.mfs 这两个文件的安全
即使元数据服务器宕机也可以快速恢复
cd /data/soft/mfs-1.6.26/var/lib/mfs
tar czf mfs_backup.tar.gz *
Mfs的恢复
2、元数据服务器非正常关掉进程(主机发生崩溃,电源异常断电,进程非正常关闭)下次启动会报如下错误:
can't open metadata file
if this is new instalation then rename /data/soft/mfs-1.6.26/var/lib/mfs/metadata.mfs.empty
as /data/soft/mfs-1.6.26/var/lib/mfs/metadata.mfs
init: file system manager failed !!!
error occured during initialization - exiting
解决方法:
自动恢复文件系统
/data/soft/mfs-1.6.26/sbin/mfsmetarestore -a
手动恢复文件系统
mfsmetarestore -m metadata.mfs.back -o metadata.mfs changelog_ml.*.mfs
执行完以上任意一个步骤,就可以试着开启master服务
/data/soft/mfs-1.6.26/sbin/mfsmaster start
客户端挂载后需要创建挂载的二级子目录(进入到挂载点目录)
mkdir 192.168.6.230
在master server mfsexport.cfg 文件中编辑权限配置
vi /data/soft/mfs-1.6.27/etc/mfs/mfsexports.cfg
192.168.6.230 /192.168.6.230 rw,alldirs,maproot=0
192.168.6.21 /192.168.6.21 rw,alldirs,maproot=0
192.168.6.31 /192.168.6.31 rw,alldirs,maproot=0
192.168.1.130 / rw,alldirs,maproot=0
重新加载配置文件
/data/soft/mfs-1.6.27/sbin/mfsmaster reload
客户端挂载子目录(-S 挂载点子目录客户端之前创建的二级子目录 –H mfsmaster IP or 域名 /data 本地挂载点目录)
/data/soft/mfs-1.6.27/bin/mfsmount /data -H 192.168.6.230 -S /192.168.6.230
- 本文固定链接: http://www.sa-log.com/399.html
- 转载请注明: 王, 帅 于 我的系统记录 发表