分布式文件系统MFS(moosefs)实现存储共享(二)

 
分布式文件系统MFS(moosefs)实现存储共享
 
MFS 客户端的安装及配置
<?xml:namespace prefix = o />

 
我的生产环境,只有centosfreebsd两种环境,因此下面的描述,只有centosfreebsd挂接MFS文件系统的情形,其他类型的unix系统,待日后尝试。对比前面的操作过程,客户端挂接后使用MFS集群文件系统才是最费时的事情。

 

一、centos作为MFS的客户端。

(一)   安装MFS客户端

Mfsmount需要依赖FUSE,因此需要先安装好fuse,这里我选用 fuse-<?xml:namespace prefix = st1 />2.7.4.tar.gz

1、解包 tar zxvf fuse-2.7.4.tar.gz

2、切换目录 cd fuse-2.7.4.

3、配置  ./configure

4、编译安装  makemake 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、编译安装  makemake 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

1cd /usr/ports/devel/pkg-config

2make 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)里复制数据或者创建目录/文件、或者读取文件、或者删除文件,观察操作是否能正常进行。再停止第2chunkserver,重复执行上述操作;然后再停止第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                                                   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MFS特性(根据官方网站翻译) ★ 高可靠性(数据能被分成几个副本存储在不同的计算机里) ★ 通过增加计算机或增加新的硬盘动态扩充可用磁盘空间 ★ 可以设置删除文件的空间回收时间 [root@mysql-bk serydir]# mfsgettrashtime bind-9.4.0.tar.gz bind-9.4.0.tar.gz: 600 文件被删除10 分钟后(600 秒),才真正删除文件,回收磁盘空间。 ★ 为文件创建快照 MFS文件系统的组成 1、 元数据服务器。在整个体系中负责管理管理文件系统,目前MFS 只支持一个元数据服 务器master,这是一个单点故障,需要一个性能稳定的服务器来充当。希望今后MFS 能支持多个master 服务器,进一步提高系统的可靠性。 2、 元数据日志服务器。备份master 服务器的变化日志文件,文件类型为changelog_ml.*.mfs。 当元数据服务器数据丢失或者损毁,可从日志服务器取得文件进行恢复。 3、 数据存储服务器chunkserver。真正存储用户数据的服务器。存储文件时,首先把文件分 成块,然后这些块在数据服务器chunkserver 之间复制(复制份数可以手工指定,建议 设置副本数为3)。数据服务器可以是多个,并且数量越多,可使用的“磁盘空间”越大, 可靠性也越高。 4、 客户端。使用MFS 文件系统来存储和访问的主机称为MFS 的客户端,成功挂接MFS 文件系统以后,就可以像以前使用NFS 一样共享这个虚拟性的存储了。 元数据服务器安装和配置 元数据服务器可以是linux,也可以是unix,你可以根据自己的使用习惯选择操作系统,在我的 环境里,我是用freebsd 做为MFS 元数据的运行平台。GNU 源码,在各种类unix 平台的安装 都基本一致。 有两个pdf文档 mfs文件系统使用手册.pdf moosefs分布文件系统.pdf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值