MooseFS分布式系统部署指南

MooseFS分布式文件系统安装向导
下面我们以step-by-step 的方式,介绍在linux 平台安装MooseFS 文件系统的基本过程。mfs-1.6.27.tar.gz 放置在/usr/src 目录里。本文旨在向读者介绍怎样在多个专用服务器安装MooseFS 分布式文件系统以及在单个服务器安装Moosefs 文件系统用于测试这样的场景。
最新的MooseFS 稳定发行版本可以从http://sourceforge.net/projects/moosefs/ 取得,在安装MooseFS 系统客户端时,应当确保系统已经安装了正确的fuse 版本,如果没有fuse 被安装,您可以从http://sourceforge.net/projects/fuse/下载并安装它。
服务器安装MooseFS 基本步骤:
    我使用的主机ip 地址分配如下:
 主控服务器Master server: 192.168.100.103
 主控备份服务器Metalogger server: 192.168.100.105
 存储块服务器Chunk servers: 192.168.100.104  192.168.100.102(后期添加的,前期缺少机器)
 客户端主机 (clients): 192.168.100.106
一、主控服务器Master server 安装
  当我们安装主控服务器时,在配置过程中(./configure),可以取消安装chunk server(--disable-mfschunkserver)以及MooseFS 客户端(--disable-mfsmount). 安装
主控服务器master 的具体步骤为:
1、添加mfs 组与用户
#groupadd mfs
#useradd -g mfs mfs
2、切换目录
#cd /usr/src
3、解包归档文件
#tar -zxvf mfs-1.6.27.tar.gz
4、进入安装目录
#cd mfs-1.6.27
5、配置
#./configure --prefix=/usr/local/mfs --sysconfdir=/etc --localstatedir=/var/lib --with-default-user=mfs--with-default-group=mfs --disable-mfschunkserver --disable-mfsmount   --disable-mfsmetalogger(此条不能添加)
6、编译并安装
#make
#make install
成功安装master 以后,系统会在/etc/mfs 目录自动生成样例配置文件,这些样例文件是以.dist后缀命名。这里我借用这些样例文件作为MooseFS 主控服务器的目标配置文件:
7、切换目录
#cd /etc/mfs
下面为复制样例文件,以得到master 所需的配置文件
#cp mfsmaster.cfg.dist mfsmaster.cfg
#cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
#cp mfsexports.cfg.dist mfsexports.cfg
如果我们打算更改这些配置文件中的某些项目的值,则需要打开特定配置文件相关文本行前的注释,然后修改跟随其后的值。因为被注释掉的行,即是MooseFS 内置的缺省值。
Mfsmaster.cfg 配置文件包含主控服务器master 相关的设置,在这里我我只做简单修改。如果你想知道关于该配置文件更多的信息,请查看它的手册页(使用命令man
mfsmaster.cfg)。

# WORKING_USER = mfs   //用户

# WORKING_GROUP = mfs   //组

# SYSLOG_IDENT = mfsmaster 

# LOCK_MEMORY = 0

# NICE_LEVEL = -19

# EXPORTS_FILENAME = /etc/mfs/mfsexports.cfg    //位置

# TOPOLOGY_FILENAME = /etc/mfs/mfstopology.cfg   //位置

# DATA_PATH = /var/lib/mfs

# BACK_LOGS = 50 # BACK_META_KEEP_PREVIOUS = 1

# REPLICATIONS_DELAY_INIT = 300

# REPLICATIONS_DELAY_DISCONNECT = 3600

   MATOML_LISTEN_HOST = *   // 默认均为* ,这里可以更改为mfsmaster-ip

   MATOML_LISTEN_PORT = 9419  

   MATOML_LOG_PRESERVE_SECONDS = 600

   MATOCS_LISTEN_HOST = *  // 默认均为* ,这里可以更改为mfsmaster-ip

   MTOCS_LISTEN_PORT = 9420

   MATOCL_LISTEN_HOST = *  //经测试 这里知道可以更改成什么,暂用默认*

   MATOCL_LISTEN_PORT = 9421

# CHUNKS_LOOP_MAX_CPS = 100000

# CHUNKS_LOOP_MIN_TIME = 300

# CHUNKS_SOFT_DEL_LIMIT = 10

# CHUNKS_HARD_DEL_LIMIT = 25

# CHUNKS_WRITE_REP_LIMIT = 2

# CHUNKS_READ_REP_LIMIT = 10

# ACCEPTABLE_DIFFERENCE = 0.1

# SESSION_SUSTAIN_TIME = 86400 # REJECT_OLD_CLIENTS = 0

# deprecated: # CHUNKS_DEL_LIMIT - use CHUNKS_SOFT_DEL_LIMIT instead # LOCK_FILE - lock system has been changed, and this option is used only to search for old lockfile

上面便是mfsmaster.cfg的配置情况,均为默认也可以。
配置文件mfsexports.cfg 指定那些客户端主机可以远程挂接MooseFS 文件系统,以及授予挂接客户端什么样的访问权限。例如,我们指定只有192.168.2.x 网段的主机可以以读写模式
访问MooseFS 的整个共享结构资源(/)。在配置文件mfsexports.cfg 文件的第一行,先取消注释,然后把星号(*)改成192.168.100.106,以便我们可以得到下面的文本行:
192.168.100.106  /   rw,alldirs,maproot=0,password=test  
二进制文件metadata 和文本文件changelog 将被保存在目录/var/lib/mfs,这是因为我们安装过程的configure 步骤使用了选项 --localstatedir=/var/lib 。首次安装master 时,会自
动生成一个名为metadata.mfs.empty 的元数据文件metadata,该文件是空的。MooseFSmaster 运必须有文件metadata.mfs,这个文件是从metadata.mfs.empty 改名而来:
#cd /var/lib/mfs
#cp metadata.mfs.empty metadata.mfs

[译者注]MooseFS master 运行以后,metadata.mfs 文件大小将发生变化,肯定不会是空文件了。
这个时候,我们可以试着运行master 服务
#/usr/local/mfs/sbin/mfsmaster start
在一个生产环境里,我们应当设置自动启动脚本,以便操作系统重新启动时,MooseFS master也能自动运行。//不会写脚本~~~~
为了监控MooseFS 当前运行状态,我们可以运行CGI 监控服务,这样就可以用浏览器查看整个MooseFS 的运行情况:
#/usr/local/mfs/sbin/mfscgiserv start
现在,我们在浏览器地址栏输入http://192.168.100.103:9425 即可查看master 的运行情况(这个时候,是不能看见chunk server 的数据)。如果有防火墙,不需要关闭,只需要添加几条语句即可。放行9419 9420 9421 9425四个端口
二、备份服务器Backup server (metalogger) 安装
用来安装metalogger 的主机,在性能上应该比master 强大(至少有更多的内存)。一旦主控服务器master 失效,只要导入changelogs 到元数据文件,备份服务器metalogger 将能接替发生故障的master,行使管理服务器的职能(更多细节请参看http://www.moosefs.org/minihowtos.html#redundant-master)。
备份服务器Metalogger 安装跟主控服务器master 安装非常类似。其安装命令如下:
1、添加mfs 组与用户
#groupadd mfs
#useradd -g mfs mfs
2、切换目录
#cd /usr/src
3、解包归档文件
#tar -zxvf mfs-1.6.27.tar.gz
4、进入安装目录
#cd mfs-1.6.27
5、配置
#./configure --prefix=/usr/local/mfs --sysconfdir=/etc --localstatedir=/var/lib --with-default-user=mfs--with-default-group=mfs --disable-mfsmaster --disable-mfsmount   --disable-mfsmetalogger(此条不能添加)
6、编译并安装
#make
#make install
7、产生配置文件
#cd /etc/mfs
#cp mfsmetalogger.cfg.dist mfsmetalogger.cfg ,然后调整mfsmetalogger.cfg内容
现在,我们来试着运行备份服务mfsmetaloger:
#/usr/local/mfs/sbin/mfsmetalogger start
在一个生产环境里,我们应当设置自动启动脚本,以便操作系统重新启动时,MooseFSmfsmetalogger 服务也能自动运行。
存储块服务器Chunk servers 安装
在每个chunk server 主机上执行下面的命令:
#groupadd mfs
#useradd -g mfs mfs
#./configure --prefix=/usr --sysconfdir=/etc  --localstatedir=/var/lib --with-default-user=mfs  --with-default-group=mfs --disable-mfsmaster  --disable-mfsmount
#make
#make install
准备chunk server 服务所需的配置文件:
#cd /etc/
#cp mfschunkserver.cfg.dist mfschunkserver.cfg
#cp mfshdd.cfg.dist mfshdd.cfg
为了测试这个安装,我们保留mfschunkserver.cfg 文件不做任何改动;如果读者想了解配置文件mfschunkserver.cfg 更详细的信息,请查看手册页 (manmfschunkserver.cfg)。
在配置文件mfshdd.cfg 中,我们给出了用于客户端挂接MooseFS 分布式文件系统根分区所使用的共享空间位置。建议在chunk server 上划分单独的空间给 MooseFS 使用,这样做的好处是便于管理剩余空间。此处我们假定要使用两个共享点/mnt/mfschunks1 和/mnt/mfschunks2,为此,我们在mfshdd.cfg 加入下面的文本行:
/mnt/mfschunks1
/mnt/mfschunks2
在启动chunk server 前,需确保用户mfs 有权限读写将要被挂接的分区(因为chunk server 运行时要在此创建一个.lock 的文件):
#chown -R mfs:mfs /mnt/mfschunks1
#chown -R mfs:mfs /mnt/mfschunks2
开始启动chunk server:
#/usr/sbin/mfschunkserver start
现在再通过浏览器访问 http://192.168.1.1:9425/ 应该可以看见这个MooseFS 系统的全部信息,包括主控master 和存储服务chunkserver 。
客户端Users’ computers 安装
为了挂接基于MooseFS 分布式文件,客户端主机必须安装FUSE 软件包( fuse 版本号至少2.6,推荐使用版本号大于2.7.2 的fuse)。如果系统没有安装fuse,你必须手动对其进行安装。一种常见的安装方式是从源码进行编译安装-我们可以从http://sourceforge.net/projects/fuse/取得安装源码:
#tar -zxvf fuse-2.8.3.tar.gz
#cd fuse-2.8.3
#./configure
#make
#make install
安装客户端软件 mfsmount 的步骤:
#tar -zxvf mfs-1.6.15.tar.gz
#cd mfs-1.6.15
#./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfschunkserver
#make
#make install
假定客户端的挂接点是/mnt/mfs,我们将以下面的指令来使用MooseFS 分布式共享文件系统:
1、 创建挂接点
#mkdir -p /mnt/mfs
2、开始挂接操作
#/usr/bin/mfsmount /mnt/mfs -H mfsmaster -p   ///因为设置的有密码
执行命令df –h | grep mfs

可以使用命令进行其他操作,如设置副本数目,回收时间等

/usr/local/mfs/bin/mfssetgold  -r 3  /mnt/ 设置副本为3

/usr/local/mfs/bin/mfs***等等详细看命令

至此安装基本结束~~~~~~~

-------------------------------------------------------------------------------------

下面未测试!!!!安装 MooseFS 在同一个主机如果为测试目的,可以把MooseFS 安装在同一个物理主机上。在这里,我们不推荐您把备份服务也安装在这个主机上。同样,我们假定主机的ip 地址为192.168.1.1。为了挂接基于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

#cd fuse-2.8.3
#./configure
#make
#make install
安装 MooseFS:
#groupadd mfs
#useradd -g mfs mfs
#cd /usr/src
#tar -zxvf mfs-1.6.15.tar.gz
#cd mfs-1.6.15
#./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --with-default-user=mfs --with-default-group=mfs
#make
#make install
MooseFS chunk 以独占方式使用专门磁盘分区是非常必要的--这样做的好处是便于管理剩余空间。MooseFS 并不考虑其剩余空间能被另作他用。如果没有单独创建文件系统的条件,可以在文件中创建一个文件系统。为了完成测试,我们准备两个2GB 的文件(文件位于目录/storage/mfschunks),并在其上创建文件系统。把他们格式化为ext3,分别挂接在/mnt/mfschunks1 和/mnt/mfschunks2。以下是具体操作步骤:
一、挂接第一个文件系统
1、创建目录
#mkdir -p /storage/mfschunks
2、创建镜像文件mfschunks1
#dd if=/dev/zero of=/storage/mfschunks/mfschunks1 bs=1024 count=1seek=$((2*1024*1024-1))
3、创建文件系统
#mkfs -t ext3 /storage/mfschunks/mfschunks1
4、创建挂接点
#mkdir -p /mnt/mfschunks1
5、挂接文件系统
#mount -t ext3 -o loop /storage/mfschunks/mfschunks1 /mnt/mfschunks1
二、挂接第二个文件系统
1、创建第二个镜像文件
#dd if=/dev/zero of=/storage/mfschunks/mfschunks2 bs=1024 count=1 seek=$((2*1024*1024-1))
2、创建文件系统
#mkfs -t ext3 /storage/mfschunks/mfschunks2
3、创建挂接点
#mkdir -p /mnt/mfschunks2
4、挂接文件系统
#mount -t ext3 -o loop /storage/mfschunks/mfschunks2 /mnt/mfschunks2
在启动chunk server 前,需确保用户mfs 有权限读写将要被挂接的分区(因为chunk server 运
行时要在此创建一个.lock 的文件):
#chown -R mfs:mfs /mnt/mfschunks1
#chown -R mfs:mfs /mnt/mfschunks2
/etc 目录自动生成样例配置文件,这些样例文件是以.dist 后缀命名。这里我们将借用这些
样例文件作为MooseFS 的目标配置文件:
#cd /etc
#cp mfsexports.cfg.dist mfsexports.cfg
#cp mfsmaster.cfg.dist mfsmaster.cfg
#cp mfschunkserver.cfg.dist mfschunkserver.cfg
#cp mfshdd.cfg.dist mfshdd.cfg
mfsexports.cfg 与 mfsmaster.cfg 为主控服务 master 配置文件,
mfschunkserver.cfg 与 mfshdd.cfg 为chunk server 配置文件.
配置文件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
#cp metadata.mfs.empty metadata.mfs
修改文件/etc/hosts,新增如下的文本行:
192.168.1.1 mfsmaster
运行 master server, CGI 监控以及 chunk server:
#/usr/sbin/mfsmaster start
#/usr/sbin/mfscgiserv
#/usr/sbin/mfschunkserver start
MooseFS 当前运行状态可以在浏览器中地址栏输入http://192.168.1.1:9425/ 获得。
挂接MooseFS 文件系统到挂接点 /mnt/mfs :
1、建立挂接点
#mkdir -p /mnt/mfs
2、挂接操作
#/usr/bin/mfsmount /mnt/mfs -H mfsmaster
3、查看挂接情况
# df -h | grep mfs:
/storage/mfschunks/mfschunks1 2.0G 69M 1.9G 4% /mnt/mfschunks1
/storage/mfschunks/mfschunks2 2.0G 69M 1.9G 4% /mnt/mfschunks2
mfs#mfsmaster:9421 3.2G 0 3.2G 0% /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 -r 1 /mnt/mfs/folder1
/mnt/mfs/folder1:
inodes with goal changed: 0
inodes with goal not changed: 1
inodes with permission denied: 0
2、副本数为2
#mfssetgoal -r 2 /mnt/mfs/folder2
/mnt/mfs/folder2:
inodes with goal changed: 0
inodes with goal not changed: 1
inodes with permission denied: 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: 1 chunks
而在目录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: 1 chunks
附加信息。当所有的组件被安装到同一个物理主机的时候,即便设定了goal=2 来到达保存两个副本的目的,但你可能看到的只是一个副本而已—这是合理的,尽管有两个磁盘,但它只是一个chunk server 啊!
更多关于MooseFS 命令的使用方法,可以在这里找到:
http://www.moosefs.org/reference-guide.html#using-moosefs
我们推荐你阅读 FAQ 页面内容:
http://www.moosefs.org/moosefs-faq.html
停止 MooseFS
为了安全停止MooseFS 集群,建议执行如下的步骤:
 在所有客户端用Unmount 命令先卸载文件系统(本例将是: umount /mnt/mfs)
 停止chunk server 进程: /usr/sbin/mfschunkserver stop
 停止 metalogger 进程: /usr/sbin/mfsmetalogger stop
 停止主控 master server 进程: /usr/sbin/mfsmaster stop
                             

                                                                      ---------------摘自网络

转载于:https://www.cnblogs.com/Initart/articles/3687337.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MooseFS权威指南 ——分布式文件系统一站式解决方案 内容目录 1 前言..................................................................................3 1.1 原文及QQ群........................................................................3 1.2 感谢..............................................................................3 1.3 架构图............................................................................4 1.4 MooseFS优点......................................................................5 1.5 MooseFS 1.6版本改进................................................................6 1.6 Web GUI监控界面....................................................................7 1.7 常见问题及建议对策.................................................................13 1.7.1 Master性能瓶颈..............................................................13 1.7.2 体系架构存储文件总数的瓶颈。....................................................13 1.7.3 单点故障解决方案的健壮性。(qq 群战友 : tt , hzqbbc)..............................13 1.7.4 垃圾回收.....................................................................13 2 安装.................................................................................13 2.1 MooseFS Master的安装.............................................................13 2.1.1 安装........................................................................13 2.1.2 启动Master服务..............................................................14 2.1.3 停止Master服务..............................................................14 2.1.4 启动和停止Web GUI............................................................14 2.1.5 相关配置文件.................................................................14 2.2 MooseFS Chunk Server的安装........................................................15 2.2.1 从块设备创建本地文件系统.......................................................15 2.2.2 创建50G的Loop Device文件....................................................15 2.2.3 安装Chunk Server............................................................15 2.2.4 启动Chunk Server............................................................15 2.2.5 停止Chunk Server............................................................15 2.3 MooseFS Client的安装.............................................................16 2.3.1 安装fuse....................................................................16 2.3.2 安装MooseFS Client..........................................................16 2.3.3 挂载文件系统.................................................................16 3 系统管理..............................................................................16 3.1 管理命令.........................................................................16 4 性能测试..............................................................................17 4.1 MooseFS.........................................................................17 4.1.1 大文件......................................................................17 4.1.2 小文件测试一.................................................................17 4.1.3 小文件测试二.................................................................17 4.1.4 小文件测试三.................................................................18 4.1.5 小文件测试四.................................................................18 4.2 本地磁盘.........................................................................18 4.2.1 大文件......................................................................18 4.2.2 小文件......................................................................18 4.3 基准测试(第一次).................................................................19 4.3.1 随机读......................................................................19 4.3.2 随机写......................................................................20 4.3.3 顺序读......................................................................20 4.3.4 顺序写......................................................................22 4.4 基准测试(第二次).................................................................22 4.4.1 随机读......................................................................22 5 参考文献..............................................................................23 5.1 文献.............................................................................23 5.2 测试数据.........................................................................23 5.2.1 性能测试模型一................................................................23 5.2.2 性能测试模型二................................................................25 6 MooseFS 1.5.x数据恢复实例..............................................................26 7 MooseFS热备方案.......................................................................26 8 附录.................................................................................28 8.1 1000 * 1000 * 1 client 脚本.........................................................28 8.2 1000 * 1000 * ( 100,200 ,1000 client ) 脚本.......................................28 8.3 mfs官方关于1.6.x 的介绍...........................................................29 8.3.1 General....................................................................29 8.3.2 Chunkserver................................................................29 8.3.3 Master.....................................................................29 8.3.4 Mount......................................................................30 8.3.5 Tools.......................................................................31 8.3.6 CGI scripts.................................................................31 8.4 MooseFS 官方FAQ(TC版)...........................................................31

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值