|
MooseFS 分布式文件系统的安装
操作系统:linux5.5撰写人:yulei 日期:2013/9/3 blog:http://zongjie.blog.
最新的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 地址分配如下:
主控服务器 Master server: 10.16.6.203
主控备份服务器Metalogger server: 10.16.6.204
存储块服务器 Chunk servers: 10.16.6.205、10.80.11.206
客户端主机 (clients): 10.16.6.207
主控服务器Master server 安装
groupadd mfs
useradd -g mfs mfs
tar -zxf mfs-1.6.15.tar.gz
cd mfs-1.6.15
./configure --with-default-use=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount
make && make install
修改mfs的配置文件,不指定路径,默认安装在/usr/local目录下
cd /usr/local/etc
Mfsmaster.cfg 配置文件包含主控服务器master 相关的设置,虽然被注释掉的行,但是这是MooseFS 内置的缺省值,暂时不修改
mfsexports.cfg 指定那些客户端主机可以远程挂接MooseFS 文件系统,以及授予挂接客户端什么样的访问权限
此处我们修改成如下:vim mfsexports.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/mfsmaster start //mfs的服务
/usr/local/sbin/mfscgiserv //web界面的服务(注意:由于mfscgiserv是用Python写的,但是centos5.5默认的python的版本过底,
这里需要升级python到2.7.1版本)
tar -jxf Python-2.7.1.tar.bz2
cd Python-2.7.1
./configure --prefix=/usr/local/python
make && make install
然后编辑/usr/local/sbin/mfscgiserv的第一行,让其运行的环境修改为:#!/usr/local/python/bin/python
这样再启动/usr/local/sbin/mfscgiserv,web界面就正常了
现在,我们在浏览器地址栏输入http://10.16.11.203:9425 即可查看master 的运行情况
(这个时候,是不能看见chunk server 的数据)。
在生产环境里,我们应当设置自动启动脚本,把这2个启动命令加入/etc/rc.local文件中
备份服务器Backup server (metalogger) 安装
用来安装metalogger 的主机,在性能上应该比master 强大(至少有更多的内存)。一旦主控
服务器master 失效,只要导入changelogs 到元数据文件,备份服务器metalogger 将能接替发生
故障的master,行使管理服务器的职能
备份服务器Metalogger 安装跟主控服务器master 安装非常类似。其安装命令如下:
groupadd mfs
useradd -g mfs mfs
tar -zxf mfs-1.6.15.tar.gz
cd mfs-1.6.15
./configure --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount
make && make install
cd /usr/local/etc
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
chown mfs:mfs /usr/local/lib/mfs //修改所有者
启动备份服务mfsmetaloger :
/usr/sbin/mfsmetalogger start
停止服务/usr/sbin/mfsmetalogger -s
[iyunv@localhost etc]# /usr/sbin/mfsmetalogger start
在生产环境里,我们应当设置自动启动脚本,加入/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服务器安装
groupadd mfs
useradd -g mfs mfs
tar -zxf mfs-1.6.15.tar.gz
cd mfs-1.6.15
./configure --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfsmount
make && make install
cd /usr/local/etc
修改mfschunkserver.cfg里的MASTER_HOST地址即可
Client安装
tar -zxf fuse-2.7.3.tar.gz
cd fuse-2.7.3
./configure &&make &&make install
lsmod|grep fuse
modprobe fuse
groupadd mfs
useradd -g mfs mfs
tar -zxf mfs-1.6.15.tar.gz
cd mfs-1.6.15
./configure --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --enable-mfsmount --disable-mfsmaster
make && make install
执行./configure之前,需要修改一下/etc/ld.so.conf,加上/usr/local/lib,并且在vim /etc/profile最后加上export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
挂载:mfsmount /data -H 10.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 -m metadata.mfs.back -o metadata.mfs changelog_ml.*.mfs 恢复成功后再执行启动新的元数据服务操作。
7、 启动新的元数据服务 /usr/local/mfs/sbin/mfsmaster start
8、 在MFS客户端检查MFS存储的数据是否跟恢复前一致?能否正常访问等等。
|
|
|