MooseFS 分布式文件系统的安装

MooseFS分布式文件系统的安装
操作系统:linux5.5撰写人:yulei日期:2013/9/3blog:http://zongjie.blog.51cto.com

最新的MooseFS稳定发行版本可以从http://sourceforge.net/projects/moosefs/取得,
在安装MooseFS系统客户端时,应当确保系统已经安装了正确的fuse版本,如果没有fuse被安装,
您可以从http://sourceforge.net/projects/fuse/下载并安装它。
本次实验使用版本为:
mfs-1.6.15.tar.gz
fuse-2.7.3.tar.gz(仅client安装)
Python-2.7.1.tar.bz2
软件下载成功都放到/usr/local/src目录下
主机ip地址分配如下:
主控服务器Masterserver:10.16.6.203
主控备份服务器Metaloggerserver:10.16.6.204
存储块服务器Chunkservers:10.16.6.205、10.80.11.206
客户端主机(clients):10.16.6.207
主控服务器Masterserver安装
groupaddmfs
useradd-gmfsmfs
tar-zxfmfs-1.6.15.tar.gz
cdmfs-1.6.15
./configure--with-default-use=mfs--with-default-group=mfs--disable-mfschunkserver--disable-mfsmount
make&&makeinstall
修改mfs的配置文件,不指定路径,默认安装在/usr/local目录下
cd/usr/local/etc
Mfsmaster.cfg配置文件包含主控服务器master相关的设置,虽然被注释掉的行,但是这是MooseFS内置的缺省值,暂时不修改
mfsexports.cfg指定那些客户端主机可以远程挂接MooseFS文件系统,以及授予挂接客户端什么样的访问权限
此处我们修改成如下:vimmfsexports.cfg
10.80.11.0/24/rw,alldirs,maproot=0
意思是只有192.168.2.x网段的主机可以以读写模式访问MooseFS的整个共享结构资源(/)
二进制文件metadata和文本文件changelog将被保存在目录/usr/local/lib/mfs,
这是因为我们默认安装的路径。首次安装master时,会自动生成一个名为metadata.mfs.empty的元数据文件metadata,
该文件是空的。MooseFSmaster运行必须有文件metadata.mfs,这个文件是从metadata.mfs.empty改名而来:
启动mfs服务
/usr/local/sbin/mfsmasterstart//mfs的服务
/usr/local/sbin/mfscgiserv//web界面的服务(注意:由于mfscgiserv是用Python写的,但是centos5.5默认的python的版本过底,
这里需要升级python到2.7.1版本)
tar-jxfPython-2.7.1.tar.bz2
cdPython-2.7.1
./configure--prefix=/usr/local/python
make&&makeinstall
然后编辑/usr/local/sbin/mfscgiserv的第一行,让其运行的环境修改为:#!/usr/local/python/bin/python
这样再启动/usr/local/sbin/mfscgiserv,web界面就正常了
现在,我们在浏览器地址栏输入http://10.16.11.203:9425即可查看master的运行情况
(这个时候,是不能看见chunkserver的数据)。
在生产环境里,我们应当设置自动启动脚本,把这2个启动命令加入/etc/rc.local文件中

备份服务器Backupserver(metalogger)安装
用来安装metalogger的主机,在性能上应该比master强大(至少有更多的内存)。一旦主控
服务器master失效,只要导入changelogs到元数据文件,备份服务器metalogger将能接替发生
故障的master,行使管理服务器的职能
备份服务器Metalogger安装跟主控服务器master安装非常类似。其安装命令如下:
groupaddmfs
useradd-gmfsmfs
tar-zxfmfs-1.6.15.tar.gz
cdmfs-1.6.15
./configure--with-default-user=mfs--with-default-group=mfs--disable-mfschunkserver--disable-mfsmount
make&&makeinstall
cd/usr/local/etc
cpmfsmetalogger.cfg.distmfsmetalogger.cfg
chownmfs:mfs/usr/local/lib/mfs//修改所有者
启动备份服务mfsmetaloger:
/usr/sbin/mfsmetaloggerstart
停止服务/usr/sbin/mfsmetalogger-s
[root@localhostetc]#/usr/sbin/mfsmetaloggerstart
在生产环境里,我们应当设置自动启动脚本,加入/etc/rc.local文件中
备份服务器mfsmetalogger
1、主要元数据文件metadata.cfg,当master运行的时候会被命名为:metadata.cfg.back;
2、元数据改变日志changelog.*.cfg,存储了过去的N小时的文件改变(N的数据是由BACK_LOGS参数设置的,参数的设置在mfschunkserver.cfg配置文件中)
3、如果mfsmaster崩溃,需要最后一个元数据日志changelog并入主要的metadata中,这个操作通过mfsmetarestore工具做的,最简单的方法是:
mfsmetarestore-a
4、如果mfsmaster数据被存储在MooseFS编译指定的路径,则利用-d参数使用,如:
mfsmetarestore-a-d/storage/mfsmaster
5、如果元数据服务器down掉了(如关机或者断电之类的),mfsmetalogger备份数据库可以替代故障的master行使管理服务器的职能,如何做如下所示:
1、平时需要把主服务器里的mfsexports.cfg和mfsmaster.cfg的配置文件复制到mfsmetalooger里,并替换之,再开启mfsmaster,mfschunkserv需要
把Master――Host的地址修改了mfsmetalooger,以让mfsmetalooger能找到mfschunkserv。
2、mfsmetalooger服务器会主动下载mfsmaster服务器上的数据,包括metadata.mfs,changelog等数据,以备mfsmetarestore-a恢复的时候使用
Chunkserv服务器安装
groupaddmfs
useradd-gmfsmfs
tar-zxfmfs-1.6.15.tar.gz
cdmfs-1.6.15
./configure--with-default-user=mfs--with-default-group=mfs--disable-mfsmaster--disable-mfsmount
make&&makeinstall
cd/usr/local/etc
修改mfschunkserver.cfg里的MASTER_HOST地址即可
Client安装
tar-zxffuse-2.7.3.tar.gz
cdfuse-2.7.3
./configure&&make&&makeinstall
lsmod|grepfuse
modprobefuse
groupaddmfs
useradd-gmfsmfs
tar-zxfmfs-1.6.15.tar.gz
cdmfs-1.6.15
./configure--with-default-user=mfs--with-default-group=mfs--disable-mfschunkserver--enable-mfsmount--disable-mfsmaster
make&&makeinstall
执行./configure之前,需要修改一下/etc/ld.so.conf,加上/usr/local/lib,并且在vim/etc/profile最后加上exportPKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
挂载:mfsmount/data-H10.2.16.203

(二)迁移测试
1、安装新的MFS元数据服务器。
2、从当前的元数据服器(master)或日志备份服务器(mfsmetalogger)复制备份文件metadata.mfs.back/metadate_ml.mfs.back到新的元服务器目录(metadata.mfs.back需要定时用crontab备份).
3、从当前的元数据服器(master)或日志备份服务器(mfsmetalogger)复制元数据服务器数据目录(/usr/local/mfs/var/mfs)到这个新的元数据服务器。
4、停止原先的那个元数据服务器(关闭计算机或停止它的网络服务)。
5、更改新的元数据服务器的ip为原来那个服务器的ip.
6、执行数据恢复操作,其命令为:mfsmetarestore-mmetadata.mfs.back-ometadata.mfschangelog_ml.*.mfs恢复成功后再执行启动新的元数据服务操作。
7、启动新的元数据服务/usr/local/mfs/sbin/mfsmasterstart
8、在MFS客户端检查MFS存储的数据是否跟恢复前一致?能否正常访问等等。

(三)高可用性

1、为了保证MFS高可用,需要在Master与Metalogger之间配置keepalive的vrrp,并且把Master里的数据目录用nfs共享出来,Metalogger挂载Master里的共享数据目录,这样,如果master坏了,keepalived就会切到metalogger,由于元数据是共享用了nfs共享,所以数据的内容不会变,保证了高可用性。实验的具体操作我就不演示了,挺累了,谁看了可以做一下。

你可能感兴趣的:(moosefs,分布式文件系统的安装)