MFS
客户端的安装及配置
我的生产环境,只有
centos
和
freebsd
两种环境,因此下面的描述,只有
centos
及
freebsd
挂接
MFS
文件系统的情形,其他类型的
unix
系统,待日后尝试。对比前面的操作过程,客户端挂接后使用
MFS
集群文件系统才是最费时的事情。
一、
centos
作为
MFS
的客户端。
(一)
安装
MFS
客户端
◆
Mfsmount
需要依赖
FUSE,
因此需要先安装好
fuse
,这里我选用
fuse- 2.7.4 .tar.gz
。
1
、解包
tar zxvf fuse- 2.7.4 .tar.gz
2
、切换目录
cd fuse- 2.7.4 .
3
、配置
./configure
4
、编译安装
make
;
make install
如果系统已经安装了
fuse,
则跳过这个步骤。
◆安装
MFS
客户端程序
1、修改环境变量文件/etc/profile ,追加下面的行,然后再执行命令source /etc/profile使修改生效。
(二)挂接和使用
MFS
文件系统
1
、创建挂接点
mkdir /mnt/mfs
2
、挂接
MFS /usr/local/mfs/bin/mfsmount –h 192.168.0.19 .
注意,所有的
MFS
都是挂接同一个元数据服务器
master,
而不是其他数据存储服务器
chunkserver !
一、
freebsd
作为
MFS
客户端
Freebsd
安装和挂接
MFS
集群文件系统
,
比
centos
操作起来要复杂一些
.mfsmount
需要依赖
fuse,
并且需要在内核中加载
fusefs
模块。
(一)安装
fuse
1
、解包
tar zxvf fuse- 2.7.4 .tar.gz
2
、切换目录
cd fuse- 2.7.4 .
3
、配置
./configure
4
、编译安装
make
;
make install
如果系统已经安装了
fuse,
则跳过这个步骤。
(二)
安装内核模块
fusefs-kmod
6
、选择“
fusefs-kmod- 0.3.9 .p1_ 2 ” ,
按
[OK]
返回到第“
4
”
步出现的那个操作界面。这时我们用“
Tab
”键选中底部右边的“
Install
”,完成安装后,会出现一个安装成功的提示,然后瞬间消失。
◆
加载
fusefs
模块
kldload /usr/local/modules/fuse.ko .
如果加载不成功,请检查是否存在模块文件
fuse.ko.
◆
检查
fusefs
模块是否被加载到内核:
如果没有类似上面馆的输出,就表明
fusefs
模块没有加载成功。
(三)安装包
pkg-config
:
1
、
cd /usr/ports/devel/pkg-config
2
、
make install clean
(四)安装
MFS
客户端
1
、解包
tar zxvf mfs- 1.5.12 .tar.gz
2
、切换目录
cd mfs- 1.5.12
3
、创建用户
pw useradd mfs –s /sbin/nologin
4
、配置
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount
5
、编译安装
make ; make install
◆检查
MFS
客户端安装的结果。通过查看目录
/usr/local/mfs/bin
目录的文件,应该发现如下文件:
就能实现开机或重启系统自动挂接
MFS
文件系统。
破坏性测试
一
、测试数据存储服务器
我用
5
个服务器组成了
MFS
的存储平台,其中一个是
master,
其余四个服务器是
chunkserver.
先停止一个
chunkserver
服务,然后在某个
MFS
客户端往挂接点的目录(
/mnt/mfs
)里复制数据或者创建目录
/
文件、或者读取文件、或者删除文件,观察操作是否能正常进行。再停止第
2
个
chunkserver
,重复执行上述操作;然后再停止第
3
个服务器,执行类似的文件读些操作。减少
chunkserver
试验后,我们再来逐步增加
chunkserver
服务器
,
然后对
MFS
执行读写等相关访问操作,检验其正确性。
通过增减
chunkserver
服务器的测试,服务的可靠性确实不错,哪怕只剩下最后一个服务器,也能正常提供存储访问服务。
二、测试元数据服务器
元数据服务器最重要的文件在目录
/usr/local/mfs/var/mfs ,MFS
每一个数据的变化
,
都被记录在这个目录的文件里
,
我们可以通过备份这个目录的全部文件
,
来保障整个
MFS
文件系统的可靠性
.
在正常情况下
,
元数据服务器的改变日志文件
(changelogs)
实时地、自动地复制到所有的数据存储服务器,并且以
changelog_csback.*.mfs
的形式命名。换句换说,即使元数据服务器报废了,也能再部署一个元数据服务器,然后从数据存储服务器chunkserver取得恢复所需要的文件。
(一)本地测试
1
、停止元数据服务
/usr/local/mfs/sbin/mfsmaster
2
、备份元数据服务器数据
cd /usr/local/mfs/var; tar czvf mfs.tgz mfs
3
、删除目录
mv mfs mfs.bk
或
rm –rf mfs
4
、启动元数据服务
../sbin/mfsmaster start
启动失败,提示不能初始化数据。
5
、解包
tar zxvf mfs.tgz
6
、执行恢复操作
..
/sbin
/
mfsmetarestore –a
7
、启动元数据服务 ../sbin/mfsmaster start
8
、在MFS客户端检查MFS存储的数据是否跟恢复前一致?能否正常访问等等。
(一)
迁移测试
1、
安装新的MFS元数据服务器。
2、
复制元数据服务器数据目录(/usr/local/mfs/var/mfs)到这个新的元数据服务器。
3、
停止原先的那个元数据服务器(关闭计算机或停止它的网络服务)。
4、
更改新的元数据服务器的ip为原来那个服务器的ip.
5、
启动新的元数据服务 /usr/local/mfs/sbin/mfsmaster start
6、
在MFS客户端检查MFS存储的数据是否跟恢复前一致?能否正常访问等等。
感谢Pawel Kalinowski (mfs作者)提供帮助!
补充: linux可能需要在执行mfsmount前先加载fuse模块到内核 /sbin/modprobe fuse
2009/3/30