博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分布式文件系统MFS(moosefs)实现存储共享(二)
阅读量:4199 次
发布时间:2019-05-26

本文共 2717 字,大约阅读时间需要 9 分钟。

分布式文件系统MFS(moosefs)实现存储共享
作者:田逸() from:
 
MFS客户端的安装及配置
 
我的生产环境,只有centosfreebsd两种环境,因此下面的描述,只有centosfreebsd挂接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、编译安装  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

转载地址:http://eiuli.baihongyu.com/

你可能感兴趣的文章
Yii2 mongodb – 关于mongoid的使用
查看>>
facebook login 申请 app_id 和 app_secret
查看>>
Mangento init process
查看>>
URL重写--我认为的
查看>>
在phtml和block中获取各种URL地址
查看>>
layout下面的xml文件里面的各个标签的加载
查看>>
wordpress和magento整合
查看>>
GB2312和utf8编码转换
查看>>
MWD News and Testimonials with Images Extension该插件的安装!
查看>>
关于完美--我的理解!!
查看>>
浏览器
查看>>
了解自己!
查看>>
多网店下修改价格倍数
查看>>
magento核心类Varien_Object
查看>>
magento核心类Varien_Object
查看>>
一段分类代码--产品分类的!
查看>>
产品列表页面函数的整理!
查看>>
XML下的action方法!!
查看>>
MSN QQ在线聊天代码
查看>>
Magento在代码中调用静态块
查看>>