分布式文件系统安装向导.docx
- 文档编号:3487307
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:14
- 大小:22.32KB
分布式文件系统安装向导.docx
《分布式文件系统安装向导.docx》由会员分享,可在线阅读,更多相关《分布式文件系统安装向导.docx(14页珍藏版)》请在冰豆网上搜索。
分布式文件系统安装向导
MooseFS分布式文件系统安装向导
概述Overview
下面我们以step-by-step的方式,介绍在linux平台安装MooseFS文件系统的基本过程。
我们假定您将以mfs用户和mfs组来运行MooseFS。
同时,我们推荐使用FHS(文件系统层次结构标准FilesystemHierarchyStandard)兼容路径,并且把归档文件mfs-1.6.17.tar.gz放置在/usr/src目录里。
本文旨在向读者介绍怎样在多个专用服务器安装MooseFS分布式文件系统以及在单个服务器安装Moosefs文件系统用于测试这样的场景。
最新的MooseFS稳定发行版本可以从取得,在安装MooseFS系统客户端时,应当确保系统已经安装了正确的fuse版本,如果没有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),可以取消安装chunkserver
(--disable-mfschunkserver)以及MooseFS客户端(--disable-mfsmount).安装主控服务器master的具体步骤为:
1、添加mfs组
#groupaddmfs
2、新增系统用户mfs
#useradd-gmfsmfs
3、切换目录
#cd/usr/src
4、解包归档文件
#tar-zxvfmfs-1.6.17.tar.gz
5、进入安装目录
#cdmfs-1.6.17
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所需的配置文件
#cpmfsmaster.cfg.distmfsmaster.cfg
#cpmfsmetalogger.cfg.distmfsmetalogger.cfg
#cpmfsexports.cfg.distmfsexports.cfg
如果我们打算更改这些配置文件中的某些项目的值,则需要打开特定配置文件相关文本行前的注释,然后修改跟随其后的值。
因为被注释掉的行,即是MooseFS内置的缺省值。
Mfsmaster.cfg配置文件包含主控服务器master相关的设置,在这里我们暂时不打算对其进行修改。
如果你想知道关于该配置文件更多的信息,请查看它的手册页(使用命令man
mfsmaster.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、重命名文件
#cpmetadata.mfs.emptymetadata.mfs
[译者注]MooseFSmaster运行以后,metadata.mfs文件大小将发生变化,肯定不会是空文件了。
修改/etc/hosts文件,以绑定主机名mfsmaster与ip地址192.168.1.1:
192.168.1.1mfsmaster
这个时候,我们可以试着运行master服务(服务将以安装配置configure指定的用户运行,这我们的案例里,它是mfs):
#/usr/sbin/mfsmasterstart
在一个生产环境里,我们应当设置自动启动脚本,以便操作系统重新启动时,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/minihowtos.html#redundant-master)。
备份服务器Metalogger安装跟主控服务器master安装非常类似。
其安装命令如下:
1、创建组mfs
#groupaddmfs
2、创建用户mfs
#useradd-gmfsmfs
3、切换目录
#cd/usr/src
4、解包归档文件
#tar-zxvfmfs-1.6.17.tar.gz
5、切换目录
#cdmfs-1.6.17
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
#cpmfsmetalogger.cfg.distmfsmetalogger.cfg
类似地,修改/etc/hosts文件,增加下面的行:
192.168.1.1mfsmaster
现在,我们来试着运行备份服务mfsmetaloger:
#/usr/sbin/mfsmetaloggerstart
在一个生产环境里,我们应当设置自动启动脚本,以便操作系统重新启动时,MooseFS
mfsmetalogger服务也能自动运行。
存储块服务器Chunkservers安装
在每个chunkserver主机上执行下面的命令:
#groupaddmfs
#useradd-gmfsmfs
#cd/usr/src
#tar-zxvfmfs-1.6.17.tar.gz
#cdmfs-1.6.17
#./configure--prefix=/usr--sysconfdir=/etc\
--localstatedir=/var/lib--with-default-user=mfs\
--with-default-group=mfs--disable-mfsmaster
#make
#makeinstall
准备chunkserver服务所需的配置文件:
#cd/etc/
#cpmfschunkserver.cfg.distmfschunkserver.cfg
#cpmfshdd.cfg.distmfshdd.cfg
为了测试这个安装,我们保留mfschunkserver.cfg文件不做任何改动;如果读者想了解配置文件mfschunkserver.cfg更详细的信息,请查看手册页(man
mfschunkserver.cfg)。
在配置文件mfshdd.cfg中,我们给出了用于客户端挂接MooseFS分布式文件系统根分区所使用的共享空间位置。
建议在chunkserver上划分单独的空间给MooseFS使用,这样做的好处是便于管理剩余空间。
此处我们假定要使用两个共享点/mnt/mfschunks1和/mnt/mfschunks2,为此,我们在mfshdd.cfg加入下面的文本行:
/mnt/mfschunks1
/mnt/mfschunks2
在启动chunkserver前,需确保用户mfs有权限读写将要被挂接的分区(因为chunkserver运行时要在此创建一个.lock的文件):
#chown-Rmfs:
mfs/mnt/mfschunks1
#chown-Rmfs:
mfs/mnt/mfschunks2
类似地,修改/etc/hosts文件,增加下面的行:
192.168.1.1mfsmaster
开始启动chunkserver:
#/usr/sbin/mfschunkserverstart
现在再通过浏览器访问http:
//192.168.1.1:
9425/应该可以看见这个MooseFS系统的全部信息,包括主控master和存储服务chunkserver。
客户端Users’computers安装
为了挂接基于MooseFS分布式文件,客户端主机必须安装FUSE软件包(fuse版本号至少2.6,推荐使用版本号大于2.7.2的fuse)。
如果系统没有安装fuse,你必须手动对其进行安装。
一种常见的安装方式是从源码进行编译安装-我们可以从
#cd/usr/src
#tar-zxvffuse-2.8.4.tar.gz
#cdfuse-2.8.4
#./configure--prefix=/usr
#make
#makeinstall
设置fuse启动时自动装载,在/etc/rc.d/rc.local文件的后面增加如下一行:
modprobefuse
安装客户端软件mfsmount的步骤:
#cd/usr/src
#tar-zxvfmfs-1.6.17.tar.gz
#cdmfs-1.6.17
#./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.1mfsmaster
假定客户端的挂接点是/mnt/mfs,我们将以下面的指令来使用MooseFS分布式共享文件系统:
1、创建挂接点
#mkdir-p/mnt/mfs
2、开始挂接操作
#/usr/bin/mfsmount/mnt/mfs-Hmfsmaster
执行命令df–h|grepmfs检查分区情况,可能的输出如下:
/storage/mfschunks/mfschunks1
2.0G69M1.9G4%/mnt/mfschunks1
/storage/mfschunks/mfschunks2
2.0G69M1.9G4%/mnt/mfschunks2
mfs#mfsmaster:
94213.2G03.2G0%/mnt/mfs
安装MooseFS在同一个主机
如果为测试目的,可以把MooseFS安装在同一个物理主机上。
在这里,我们不推荐您把备份服务也安装在这个主机上。
同样,我们假定主机的ip地址为192.168.1.1。
为了挂接基于MooseFS分布式文件,客户端主机必须安装FUSE软件包(fuse版本号至少2.6,推荐使用版本号大于2.7.2的fuse)。
如果系统没有安装fuse,你必须手动对其进行安装。
一种常见的安装方式是从源码进行编译安装-我们可以从
#cd/usr/src
#tar-zxvffuse-2.8.4.tar.gz
#cdfuse-2.8.4
#./configure--prefix=/usr
#make
#makeinstall
安装MooseFS:
#groupaddmfs
#useradd-gmfsmfs
#cd/usr/src
#tar-zxvfmfs-1.6.17.tar.gz
#cdmfs-1.6.17
#./configure--prefix=/usr--sysconfdir=/etc\
--localstatedir=/var/lib--with-default-user=mfs\
--with-default-group=mfs
#make
#makeinstall
MooseFSchunk以独占方式使用专门磁盘分区是非常必要的--这样做的好处是便于管理剩余空间。
MooseFS并不考虑其剩余空间能被另作他用。
如果没有单独创建文件系统的条件,可以在文件中创建一个文件系统。
为了完成测试,我们准备两个2GB的文件(文件位于目录/storage/mfschunks),并在其上创建文件系统。
把他们格式化为ext3,分别挂接在/mnt/mfschunks1和/mnt/mfschunks2。
以下是具体操作步骤:
一、挂接第一个文件系统
1、创建目录
#mkdir-p/storage/mfschunks
2、创建镜像文件mfschunks1
#ddif=/dev/zeroof=/storage/mfschunks/mfschunks1bs=1024ount=1\
seek=$((2*1024*1024-1))
3、创建文件系统
#mkfs-text3/storage/mfschunks/mfschunks1
4、创建挂接点
#mkdir-p/mnt/mfschunks1
5、挂接文件系统
#mount-text3-oloop/storage/mfschunks/mfschunks1\
/mnt/mfschunks1
二、挂接第二个文件系统
1、创建第二个镜像文件
#ddif=/dev/zeroof=/storage/mfschunks/mfschunks2bs=1024ount=1\
seek=$((2*1024*1024-1))
2、创建文件系统
#mkfs-text3/storage/mfschunks/mfschunks2
3、创建挂接点
#mkdir-p/mnt/mfschunks2
4、挂接文件系统
#mount-text3-oloop/storage/mfschunks/mfschunks2\
/mnt/mfschunks2
在启动chunkserver前,需确保用户mfs有权限读写将要被挂接的分区(因为chunkserver运
行时要在此创建一个.lock的文件):
#chown-Rmfs:
mfs/mnt/mfschunks1
#chown-Rmfs:
mfs/mnt/mfschunks2
/etc目录自动生成样例配置文件,这些样例文件是以.dist后缀命名。
这里我们将借用这些样例文件作为MooseFS的目标配置文件:
#cd/etc
#cpmfsexports.cfg.distmfsexports.cfg
#cpmfsmaster.cfg.distmfsmaster.cfg
#cpmfschunkserver.cfg.distmfschunkserver.cfg
#cpmfshdd.cfg.distmfshdd.cfg
mfsexports.cfg与mfsmaster.cfg为主控服务master配置文件,
mfschunkserver.cfg与mfshdd.cfg为chunkserver配置文件.
配置文件mfsexports.cfg指定那些客户端主机可以远程挂接MooseFS文件系统,以及授予挂接客户端什么样的访问权限。
例如,我们指定只有192.168.2.x网段的主机可以以读写模式访问MooseFS的整个共享结构资源(/)。
在配置文件mfsexports.cfg文件的第一行,先取消注释,然后把星号(*)改成192.168.1.0/24,以便我们可以得到下面的文本行:
192.168.1.0/24/rw,alldirs,maproot=0修改配置文件mfshdd.cfg,使其内容为:
/mnt/mfschunks1
/mnt/mfschunks2
作为测试的例子,我们不打算修改mfsmaster.cfg和mfschunkserver.cfg配置文件的其他选项。
二进制文件metadata和文本文件changelog将被保存在目录/var/lib/mfs,这是因为我们安装过程的configure步骤使用了选项--localstatedir=/var/lib。
首次安装master时,会自动生成一个名为metadata.mfs.empty的元数据文件metadata,该文件是空的。
MooseFSmaster运必须有文件metadata.mfs,这个文件是从metadata.mfs.empty改名而来:
#cd/var/lib/mfs
#cpmetadata.mfs.emptymetadata.mfs
修改文件/etc/hosts,新增如下的文本行:
192.168.1.1mfsmaster
运行masterserver,CGI监控以及chunkserver:
#/usr/sbin/mfsmasterstart
#/usr/sbin/mfscgiserv
#/usr/sbin/mfschunkserverstart
MooseFS当前运行状态可以在浏览器中地址栏输入http:
//192.168.1.1:
9425/获得。
挂接MooseFS文件系统到挂接点/mnt/mfs:
1、建立挂接点
#mkdir-p/mnt/mfs
2、挂接操作
#/usr/bin/mfsmount/mnt/mfs-Hmfsmaster
3、查看挂接情况
#df-h|grepmfs:
/storage/mfschunks/mfschunks1
2.0G69M1.9G4%/mnt/mfschunks1
/storage/mfschunks/mfschunks2
2.0G69M1.9G4%/mnt/mfschunks2
mfs#mfsmaster:
94213.2G03.2G0%/mnt/mfs
MooseFS基础用法
在MooseFS挂接点下创建目录folder1,在该目录,我们将以一个副本的方式存放文件(设置goal=1):
#mkdir-p/mnt/mfs/folder1
再在挂接点创建第2个目录folder2,在该目录,我们将以两个个副本的方式存放文件(设置goal=2):
#mkdir-p/mnt/mfs/folder2
使用命令mfssetgoal–r设定目录里文件的副本数:
1、副本数为1
#mfssetgoal-r1/mnt/mfs/folder1
/mnt/mfs/folder1:
inodeswithgoalchanged:
0
inodeswithgoalnotchanged:
1
inodeswithpermissiondenied:
0
2、副本数为2
#mfssetgoal-r2/mnt/mfs/folder2
/mnt/mfs/folder2:
inodeswithgoalchanged:
0
inodeswithgoalnotchanged:
1
inodeswithpermissiondenied:
0
拷贝同一个文件到两个目录:
cp/usr/src/mfs-1.6.17.tar.gz/mnt/mfs/folder1
cp/usr/src/mfs-1.6.17.tar.gz/mnt/mfs/folder2
命令mfschunkfile用来检查给定的文件以多少副本数来存储。
对应目录folder1来说,有一个副本存储在一个chunk里:
#mfscheckfile/mnt/mfs/folder1/mfs-1.6.17.tar.gz
/mnt/mfs/folder1/mfs-1.6.17.tar.gz:
1copies:
1chunks
而在目录folder2中,文件mfs-1.6.17.tar.gz是以两个副本保存的:
#mfscheckfile/mnt/mfs/folder2/mfs-1.6.17.tar.gz
/mnt/mfs/folder2/mfs-1.6.17.tar.gz:
2copies:
1chunks
附加信息。
当所有的组件被安装到同一个物理主机的时候,即便设定了goal=2来到达保存两个副本的目的,但你可能看到的只是一个副本而已—这是合理的,尽管有两个磁盘,但它只是一个chunkserver啊!
更多关于MooseFS命令的使用方法,可以在这里找到:
http:
//www.moosefs.org/reference
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 文件系统 安装 向导
![提示](https://static.bdocx.com/images/bang_tan.gif)