您的位置:首页 > 其它

分布式文件系统MFS安装配置及使用

2011-04-12 14:02 260 查看
MooseFs是一个用C语言写的分布式文件系统,下面用MFS称之。


新的MooseFS稳定发行版本可以从http://sourceforge.net/projects/moosefs/

取得,在安装
MooseFS系统客户端时,应当确保系统已经安装了正确的fuse版本,如果没有fuse被安装,您可以从http://sourceforge.net/projects/fuse/

载并安装它。

在专用服务器安装MooseFS基本步骤

我们假定使用的主机ip地址分
配如下:
主控服务器Masterserver:192.168.1.1

主控备份服务器Metaloggerserver:192.168.1.2

存储块服务器Chunkservers:192.168.1.101and192.168.1.102

客户端主机(clients):192.168.2.x

主控服务器Masterserver安装

当我们安装主控服务器时,在配
置过程中(./configure),可以取消安装chunk
server(‑‑disable‑mfschunkserver)以及MooseFS客户端(‑‑disable‑mfsmount).
安装主控服务器master的具体步骤为:
1、添加mfs组
#groupaddmfs
2、新增系统用户mfs
#useradd-g
mfsmfs
3、切换目录
#cd/usr/src
4、解包归档文件
#tar-zxvf
mfs-1.6.15.tar.gz
5、进入安装目录
#cdmfs-1.6.15
6、配置
#./configure
–prefix=/usr–sysconfdir=/etc/

–localstatedir=/var/lib
–with-default-user=mfs/

–with-default-group=mfs
–disable-mfschunkserver–disable-mfsmount
7、编译并安装
#make
#makeinstall
成功安装master以后,系
统会在/etc目录自动生成样例配置文件,这些样例文件是以.dist后缀命名。这里我们将借用这些样例文件作为MooseFS主控服务器的目标配置文
件:
1、切换目录
#cd/etc
2、复制样例文件,以得到
master所需的配置文件
#cp
mfsmaster.cfg.distmfsmaster.cfg
#cp
mfsmetalogger.cfg.distmfsmetalogger.cfg
#cp
mfsexports.cfg.distmfsexports.cfg
如果我们打算更改这些配置文件
中的某些项目的值,则需要打开特定配置文件相关文本行前的注释,然后修改跟随其后的值。因为被注释掉的行,即是MooseFS内置的缺省值。
Mfsmaster.cfg配
置文件包含主控服务器master相关的设置,在这里我们暂时不打算对其进行修改。如果你想知道关于该配置文件更多的信息,请查看它的手册页(使用命令
manmfsmaster.cfg)。
配置文件
mfsexports.cfg指定那些客户端主机可以远程挂接MooseFS文件系统,以及授予挂接客户端什么样的访问权限。例如,我们指定只有
192.168.2.x网段的主机可以以读写模式访问MooseFS的整个共享结构资源(/)。在配置文件mfsexports.cfg文件的第一行,先
取消注释,然后把星号(*)改成192.168.2.0/24,以便我们可以得到下面的文本行:192.168.2.0/24        
/  rw,alldirs,maproot=0

二进制文件metadata和文本文件changelog将被保存在目录/var/lib/mfs,这是因为我们安装过程的configure步骤使用了选项--localstatedir=/var/lib。首次安装master时,会自动生成一个名为metadata.mfs.empty的元数据文件metadata,该文件是空的。MooseFSmaster运必须有文件metadata.mfs,这个文件是从metadata.mfs.empty改名而来:

1、切换目录

#cd
/var/lib/mfs
2、重命名文件
#cp
metadata.mfs.emptymetadata.mfs
[

者注

]
MooseFS
master运行以后,metadata.mfs文件大小将发生变化,肯定不会是空文件了。
修改/etc/hosts文
件,以绑定主机名mfsmaster与ip地址192.168.1.1:

192.168.1.1  mfsmaster

这个时候,我们可以试着运行master服务(服务将以安装配置configure指定的用户运行,这我们的案例里,它是mfs):

#/usr/sbin/mfsmaster
start

在一个生产环境里,我们应当设置自动启动脚本,以便操作系统重新启动时,MooseFSmaster也能自动运行。


为了监控MooseFS当前运行状态,我们可以运行CGI监控服务,这样就可以用浏览器查看整个MooseFS的运行情况:

#/usr/sbin/mfscgiserv

现在,我们在浏览器地址栏输入http://192.168.1.1:9425即可查看master的运行情况(这个时候,是不能看见chunkserver的数据)。


备份服务器Backupserver(metalogger)安装

用来安装metalogger的主机,在性能上应该比master强大(至少有更多的内存)。一旦主控服务器master失效,只要导入changelogs到元数据文件,备份服务器metalogger将能接替发生故障的master,行使管理服务器的职能(更多细节请参看http://www.moosefs.org/mini-howtos.html#redundant-master
)。


备份服务器Metalogger安装跟主控服务器master安装非常类似。其安装命令如下:

1、创建组mfs
#groupaddmfs
2、创建用户mfs
#useradd-g
mfsmfs
3、切换目录
#cd/usr/src
4、解包归档文件
#tar-zxvf
mfs-1.6.15.tar.gz
5、切换目录
#cdmfs-1.6.15
6、配置
#./configure
–prefix=/usr–sysconfdir=/etc/

–localstatedir=/var/lib
–with-default-user=mfs/

–with-default-group=mfs
–disable-mfschunkserver–disable-mfsmount
7、编译及安装
#make
#makeinstall
8、产生配置文件
#cd/etc
#cp
mfsmetalogger.cfg.distmfsmetalogger.cfg

类似地,修改/etc
/hosts文件,增加下面的行:

192.168.1.1  mfsmaster
现在,我们来试着运行备份服务mfsmetaloger:

#/usr/sbin/mfsmetalogger
start

在一个生产环境里,我们应当设置自动启动脚本,以便操作系统重新启动时,MooseFSmfsmetalogger服务也能自动运行。


存储块服务器Chunkservers安装

在每个chunkserver主机上执行下面的命令:

#groupaddmfs
#useradd-g
mfsmfs
#cd/usr/src
#tar-zxvf
mfs-1.6.15.tar.gz
#cdmfs-1.6.15
#./configure
–prefix=/usr–sysconfdir=/etc/

–localstatedir=/var/lib
–with-default-user=mfs/

–with-default-group=mfs–disable-mfsmaster
#make
#makeinstall

准备chunkserver服务所需的配置文件:

#cd/etc/
#cp
mfschunkserver.cfg.distmfschunkserver.cfg
#cp
mfshdd.cfg.distmfshdd.cfg

为了测试这个安装,我们保留mfschunkserver.cfg文件不做任何改动;如果读者想了解配置文件mfschunkserver.cfg更详细的信息,请查看手册页(manmfschunkserver.cfg)。


在配置文件mfshdd.cfg中,我们给出了用于客户端挂接MooseFS分布式文件系统根分区所使用的共享空间位置。建议在chunkserver上划分单独的空间给MooseFS使用,这样做的好处是便于管理剩余空间。此处我们假定要使用两个共享点/mnt/mfschunks1和/mnt/mfschunks2,为此,我们在mfshdd.cfg加入下面的文本行:

/mnt/mfschunks1

/mnt/mfschunks2


在启动chunkserver前,需确保用户mfs有权限读写将要被挂接的分区(因为chunkserver运行时要在此创建一个.lock的文件):

#chown-R
mfs:mfs/mnt/mfschunks1
#chown-R
mfs:mfs/mnt/mfschunks2

类似地,修改/etc/hosts文件,增加下面的行:192.168.1.1  mfsmaster


开始启动chunk
server:
#/usr/sbin/mfschunkserver
start


现在再通过浏览器访问http://192.168.1.1:9425/
应该可以看见这个MooseFS系统的全部信息,包括主控master和存储服务chunkserve。

客户端Users’computers安装

为了挂接基于MooseFS分
布式文件,客户端主机必须安装FUSE软件包(
fuse版本号至少2.6,推荐使用版本号大于2.7.2的fuse)。如果系统没有安装fuse,你必须手动对其进行安装。一种常见的安装方式是从源码
进行编译安装-我们可以从http://sourceforge.net/projects/fuse/

得安装源码:
#cd/usr/src
#tar-zxvf
fuse-2.8.3.tar.gz
#cdfuse-2.8.3
#./configure
#make
#makeinstall
安装客户端软件mfsmount的步骤:

#cd/usr/src

#tar-zxvf
mfs-1.6.15.tar.gz
#cdmfs-1.6.15
#./configure
–prefix=/usr–sysconfdir=/etc/

–localstatedir=/var/lib
–with-default-user=mfs/

–with-default-group=mfs–disable-mfsmaster/

–disable-mfschunkserver
#make
#makeinstall

修改文件/etc/hosts
,增加如下的文本行:
192.168.1.1  
mfsmaster

假定客户端的挂接点是/mnt/mfs,我们将以下面的指令来使用MooseFS分布式共享文件系统:

1、创建挂接点
#mkdir-p
/mnt/mfs
2、开始挂接操作
#/usr/bin/mfsmount
/mnt/mfs-Hmfsmaster


执行命令df–h|grepmfs检查分区情况,可能的输出如下:

/storage/mfschunks/mfschunks1
                     
2.0G  69M1.9G  4%/mnt/mfschunks1
/storage/mfschunks/mfschunks2
                     
2.0G69M1.9G  4%/mnt/mfschunks2
mfs#mfsmaster:9421  3.2G    0
3.2G  0%/mnt/mfs


简单MFS的使用

在MooseFS挂接点下创建目录folder1,在该目录,我们将以一个副本的方式存放文件(设置goal=1):

#mkdir-p
/mnt/mfs/folder1

再在挂接点创建第2个目录folder2,在该目录,我们将以两个个副本的方式存放文件(设置goal=2):

#mkdir-p
/mnt/mfs/folder2

使用命令mfssetgoal
–r设定目录里文件的副本数:
1、副本数为1
#mfssetgoal-r
1/mnt/mfs/folder1
/mnt/mfs/folder1:
inodeswith
goalchanged:                        0
inodeswith
goalnotchanged:                    1
inodeswith
permissiondenied:                   0
2、副本数为2
#mfssetgoal-r
2/mnt/mfs/folder2
/mnt/mfs/folder2:
inodeswith
goalchanged:                        0
inodeswith
goalnotchanged:                    1
inodeswith
permissiondenied:                   0

拷贝同一个文件到两个目录:

cp
/usr/src/mfs-1.6.15.tar.gz/mnt/mfs/folder1
cp
/usr/src/mfs-1.6.15.tar.gz/mnt/mfs/folder2

命令mfschunkfile
用来检查给定的文件以多少副本数来存储。对应目录folder1来说,有一个副本存储在一个chunk里:
#mfscheckfile
/mnt/mfs/folder1/mfs-1.6.15.tar.gz
/mnt/mfs/folder1/mfs-1.6.15.tar.gz:
1
copies:1chunks


而在目录folder2中,文
件mfs-1.6.15.tar.gz是以两个副本保存的:
#mfscheckfile
/mnt/mfs/folder2/mfs-1.6.15.tar.gz
/mnt/mfs/folder2/mfs-1.6.15.tar.gz:
2
copies:1chunks


附加信息。当所有的组件被安装
到同一个物理主机的时候,即便设定了goal=2来到达保存两个副本的目的,但你可能看到的只是一个副本而已—这是合理的,尽管有两个磁盘,但它只是一个
chunkserver啊!
更多关于MooseFS命令的
使用方法,可以在这里找到:
http://www.moosefs.org/reference-guide.html#using-moosefs

我们推荐你阅读FAQ
页面内容:
http://www.moosefs.org/moosefs-faq.html

 

停止MooseFS

为了安全停止MooseFS集
群,建议执行如下的步骤:
在所有客户端用Unmount命令先卸载文件系统(本例将是:umount/mnt/mfs)

停止chunkserver进程:/usr/sbin/mfschunkserverstop

停止metalogger进程:/usr/sbin/mfsmetaloggerstop

停止主控masterserver进程:/usr/sbin/mfsmasterstop
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息