其他分享
首页 > 其他分享> > mooseFS 2.0.x 编译安装

mooseFS 2.0.x 编译安装

作者:互联网

防伪码:它强任它强,轻风拂山冈;它横任它横,月光照大江。

1.MooseFS文件系统介绍

1.1.Moosefs组件介绍
MooseFS是一种分布式文件系统,MooseFS文件系统结构包括以下四种角色:
1 管理服务器managing server (master)
2 元数据日志服务器Metalogger server(Metalogger)
3 数据存储服务器data servers (chunkservers)
4 客户机挂载使用client computers

各种角色作用:
管理服务器:负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷贝
元数据日志服务器: 负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在master server出问题的时候接替其进行工作
数据存储服务器:负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输.
客户端: 通过fuse内核接口挂接远程管理服务器上所管理的数据存储服务器,.看起来共享的文件系统和本地unix文件系统使用一样的效果.
1.2.MooseFS优点
开源
通用文件系统,不需要要修改上层应用就可以使用
可以在线扩容,体系架构可伸缩性极强
部署简单
体系架构高可用,所有组件无单点故障
文件对象高可用,可设置任意的文件冗余程度,而绝对不会影响读写的性能,只会加速
提供如windows回收站的功能,
提供类似java语言GC(垃圾回收)
提供netapp,emc,ibm等商业存储的snapshot特性
google filesystem 的一个c实现
提供web gui监控接口
提高随机读写的效率
提高海量小文件的读写效率
1.3.MooseFS 1.6.X
  修改1.5中的大批量操作时打开文件过多的bug
新增加了masterlogger服务器,在1.5中没有的,就是做了master服务器的冗余,进一步的加强master服务器的稳定性,在mfs体系中master是要求最稳定以及性能要求最高的,因此务必保证master的稳定
修改1.5中存在的对于坏块的修复功能,在mfs1.5中遇到chunker坏块校验,错误比较多的是往往导致master将出现坏块的chunker自动剔除出去的情况,此次增加了对坏块的修复功能,很方便的进行修复,简化对坏块的处理功能。
对metadata和changelog的新认识,之前认为changelog记录的是文件的操作,定期的像数据库的日志一样归档到metadata中,发现上面的理解存在误区,真正的是changelog中记录了对文件的操作,metadata记录文件的大小和位置,因此metadata是比较重要的,在进行修复的过程中是采用metadata和最后一次changelog进行修复。
MFS 文档中明确指出对于内存和磁盘大小的要求
指出了在测试的过程中多个chunker并不影响写的速度,但是能加快读的速度,在原来的基础上增加一个chunker时,数据会自动同步到新增的chunker上以达到数据的平衡和均衡。

1.4.Key differences between versions 1.6.2x and 2.0.x
1. Master host(s) configuration is done solely via DNS – it is no longer possible to list master(s) IP address(es) in clients’ and Chunkservers’ configuration; default name for master domain is mfsmaster, it can be changed in configuration files;
2. In Pro version Metaloggers become optional, they can be replaced by additional Master Servers; in Community Edition it is still strongly recommended to set up Metaloggers.
3. Mfsmetarestore tool is no longer present in the system; instead, it is enough to start the master process with -a switch; 4. Configuration files now sit in mfs subdirectory inside the /etc directory (this change was introduced in 1.6.27).
1.5.常见问题
master性能瓶颈,主要是可扩展性不强
体系架构存储文件总数的瓶颈,mfs把文件系统的结构缓存到master内存中,这样文件越多,master的内存消耗越大,8G对应2500kw文件数,2亿就的64G内存
单点故障解决方案的健壮性
垃圾回收   把默认的86400改为300秒,这样可以免的垃圾还没回收完,你的存储容量就暴掉了。
1.6.mfs的原理
就是客户端请求master,master分派他去哪里读数据,

1.1.1.MFS
MFS系统由4个部分构成,master、metalogger、chunkserver、client。
Master —— mfs的大脑,记录着管理信息,比如:文件大小,存储的位置,份数等,和innodb中共享空间(ibdata)中存储的信息类似,这些信息被记录到metadata.mfs中,当该文件被载入内存后,改文件会重命名为metadata.mfs.back,当chunkserver上有更新时,master会定期将获得的新的信息回写到metadata.mfs.back中,保重元数据的可靠。 
硬件推荐:大内存,因为内存中需要将metadata.mfs加载进来,这个文件的大小取决于你chunkserver上存储的数据量,内存的大小会成为之后的问题,要ECC的可以进行错误校验,当内存中数据量达到一定程度,如果没有个容错的机制,会很可怕;冗余电池,和磁盘配置RAID1/RAID5/RAID10,都是为了保证高可靠。
1.1.2. Metalogger
Metalogger —— mfs的备份,好比mysql中的m-s结构,metalogger会定期重master上将的metadata、changelog、session类型的文件下载同步到本地目录下,并加后缀”_ml”将其重命名。
 
硬件推荐:与master机器配置一致,metalogger本身就是master的一个备机,当master宕机后,可以直接将metalogger提升为master。
1.1.3. Chunkserver
Chunkserver —— 数据存储地,文件以chunk大小存储,每chunk最大为64M,小于64M的,该chunk的大小即为该文件大小,超过64M的文件将被均分,每一份(chunk)的大小以不超过64M为原则;文件可以有多份copy,即除了原始文件以外,该文件还存储的份数,当goal为1时,表示只有一份copy,这份copy会被随机存到一台chunkserver上,当goal的数大于1时,每一份copy会被分别保存到每一个chunkserver上,goal的大小不要超过chunkserver的数量,否则多出的copy,不会有chunkserver去存,goal设置再多实际上也就没有意义的。Copy的份数,一般设为大于1份,这样如果有一台chukserver坏掉后,至少还有一份copy,当这台又被加进来后,会将失去的那份copy补回来,始终保持原有的copy数,而如果goal设为1copy,那么当存储该copy的chunkserver坏掉,之后又重新加入回来,copy数将始终是0,不会恢复到之前的1个copy。
Chunkserver上的剩余存储空间要大于1GB(Reference Guide有提到),新的数据才会被允许写入,否则,你会看到No space left on device的提示,实际中,测试发现当磁盘使用率达到95%左右的时候,就已经不行写入了,当时可用空间为1.9GB。
硬件建议:普通的机器就行,就是要来存几份数据,只要磁盘够大就好。
1.1.4. Client
Client —— 客户端通过内核加载的FUSE模块,再通过和master的共同,将chunkserver共享的分区挂载到本地,然后进行读写操作。由于FUSE模块是外加的模块,当系统重启后,需要执行modprobe fuse,将其加载到内核中

matedata.mfs.back文件将消失,那么要恢复整个mfs,则需从metalogger服务器取得该文件。请特别注意这个文件,它与日志文件一起,才能够恢复整个被损坏的分布式文件系统。
2.环境准备

角色
主机名IPOS
配置
Mastermfsmaster110.162.23.51Redhat7.28C16G300G
Metaloggermfsmetalogger10.162.23.52Redhat7.28C16G300G
Chunkservermfschunkserver110.162.23.53Redhat7.28C16G300G
Chunkservermfschunkserver210.162.23.54Redhat7.28C16G300G
Chunkservermfschunkserver310.162.23.55Redhat7.28C16G300G
ChunkserverMfschunkserver410.162.23.56Redhat7.28C16G300G
ChunkserverMfschunkserver510.162.23.57Redhat7.28C16G300G
ChunkserverMfschunkserver610.162.23.58Redhat7.28C16G300G
ChunkserverMfschunkserver710.162.23.59Redhat7.28C16G300G
ChunkserverMfschunkserver810.162.23.60Redhat7.28C16G300G

moosefs安装前准备:
# mooseFS软件包:moosefs-2.0.88-1.tar.gz
# client端 :fuse-2.9.6.tar.gz
# IPTABLES :OFF
# SELINUX :disable

# 所有主机解决GCC等依赖问题
# yum install gcc zlib-devel

# cat /etc/hosts
10.162.23.51 mfsmaster
# 此处所有角色中master-host配置默认都是mfsmaster。如果DNS配置了解析这里就不需要配置了。

3.MooseFS编译安装
3.1.Master server 安装
当我们安装主控服务器时,在配置过程中(./configure),可以取消安装 chunk server (--disable-mfschunkserver)以及 MooseFS 客户端(--disable-mfsmount). 安装 主控服务器 master 的具体步骤为:
# 添加 mfs 组
# groupadd mfs
# 新增系统用户 mfs
# useradd -g mfs mfs
# passwd mfs
# 解包归档文件
# tar -zxvf moosefs-2.0.88-1.tar.gz
# 进入安装目录
# cd moosefs-2.0.88
# mkdir /opt/server/mfs -p
# chmod 755 -R /opt/server
# 配置
# ./configure --prefix=/opt/server/mfs --with-default-user=mfs --with-default-group=mfs --localstatedir=/opt/server/mfs/data --disable-mfschunkserver --disable-mfsmount
# 编译并安装
# make && make install
成功安装 master 以后,系统会在/opt/server/mfs/etc/mfs目录自动生成样例配置文件,这些样例文件是以.dist 后缀命名。这里我们将借用这些样例文件作为 MooseFS 主控服务器的目标配置文件:

# 切换目录
# cd /opt/server/mfs/etc/mfs
# 复制样例文件,以得到 master 所需的配置文件
# cp mfsmaster.cfg.dist mfsmaster.cfg
# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
# cp mfsexports.cfg.dist mfsexports.cfg

Mfsmaster.cfg 配置文件包含主控服务器 master 相关的设置,在这里我们暂时不打算对其 进行修改。如果你想知道关于该配置文件更多的信息,请查看它的手册页(使用命令 man mfsmaster.cfg)。
配置文件 mfsexports.cfg 指定那些客户端主机可以远程挂接 MooseFS 文件系统,以及授予 挂接客户端什么样的访问权限。例如,我们指定只有 172.25.0.x 网段的主机可以以读写模式 访问 MooseFS 的整个共享结构资源(/)。在配置文件 mfsexports.cfg 文件的第一行,先 取消注释,然后把星号(*)改成 172.25.0.0/24,以便我们可以得到下面的文本行:
# cat /opt/server/mfs/etc/mfs/mfsexports.cfg
10.162.23.0/24  / rw,alldirs,maproot=0

二进制文件 metadata 和文本文件 changelog 将被保存在目录/opt/server/mfs/data,这是因为我们安 装过程的 configure 步骤使用了选项 --localstatedir=/opt/server/mfs/data 。首次安装 master 时,会自 动生成一个名为 metadata.mfs.empty 的元数据文件 metadata,该文件是空的。MooseFS master 运必须有文件 metadata.mfs,这个文件是从 metadata.mfs.empty 改名而来:
# 切换目录
# cd /opt/server/mfs/data/mfs
# 重命名文件
# cp metadata.mfs.empty metadata.mfs
MooseFS master 运行以后,metadata.mfs 文件大小将发生变化,肯定不会是 空文件了。

# 运行master服务
# /opt/server/mfs/sbin/mfsmaster start

在一个生产环境里,我们应当设置自动启动脚本,以便操作系统重新启动时,MooseFS master 也能自动运行。
为了监控 MooseFS 当前运行状态,我们可以运行 CGI 监控服务,这样就可以用浏览器查看整个 MooseFS 的运行情况:
# /opt/server/mfs/sbin//mfscgiserv

# 开机启动
# cat /etc/rc.local

FU8`]$0W6OSR93AWSAOVO6Y.png

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

image.png

3.2.Backup server (metalogger) 安装
用来安装 metalogger 的主机,在性能上应该比 master 强大(至少有更多的内存)。一旦主控 服务器 master 失效,只要导入 changelogs 到元数据文件,备份服务器 metalogger 将能接替发生 故障的 master,行使管理服务器的职能(更多细节请参看 http://www.moosefs.org/minihowtos.html#redundant-master)。
备份服务器 Metalogger 安装跟主控服务器 master 安装非常类似。其安装命令如下:
# 添加 mfs 组
# groupadd mfs
# 新增系统用户 mfs
# useradd -g mfs mfs
# passwd mfs
# 解包归档文件
# tar -zxvf moosefs-2.0.88-1.tar.gz
# 进入安装目录
# cd moosefs-2.0.88
# mkdir /opt/server/mfs -p
# chmod 755 -R /opt/server

# 配置
# ./configure --prefix=/opt/server/mfs --with-default-user=mfs --with-default-group=mfs --localstatedir=/opt/server/mfs/data --disable-mfschunkserver --disable-mfsmount
# 编译并安装
# make && make install
# 产生配置文件
# cd /opt/server/mfs/etc/mfs
# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

# 修改文件/etc/hosts ,增加如下的文本行:
# 生产已经做了DNS域名解析,不需要配置
10.162.23.51 mfsmaster
#没有对mfsmaster解析的话,需要手动配置master_host
# cat mfsmetalogger.cfg|grep -i master_host
# MASTER_HOST = mfsmaster

# 运行备份服务 mfsmetaloger:
# /opt/server/mfs/sbin/mfsmetalogger start
# 开机启动
# vim /etc/rc.local
/opt/server/mfs/sbin/mfsmetalogger start
# 在一个生产环境里,我们应当设置自动启动脚本,以便操作系统重新启动时,MooseFS mfsmetalogger 服务也能自动运行。

}C@8[$JO]@_I7N8%R2Q{EOX.png

3.3.存储块服务器 Chunkservers 安装
在每个 chunk server 主机上执行下面的命令:
# 添加 mfs 组
# groupadd mfs
# 新增系统用户 mfs
# useradd -g mfs mfs
# passwd mfs
# 解包归档文件
# tar -zxvf moosefs-2.0.88-1.tar.gz
# 进入安装目录
# cd moosefs-2.0.88
# mkdir /opt/server/mfs -p
# chmod 755 -R /opt/server
# 配置
# ./configure --prefix=/opt/server/mfs --with-default-user=mfs --with-default-group=mfs --localstatedir=/opt/server/mfs/data --disable-mfsmaster
# 编译并安装
# make && make install

# 准备 chunk server 服务所需的配置文件:
# cd /opt/server/mfs/etc/mfs
# cp mfschunkserver.cfg.dist mfschunkserver.cfg
# cp mfshdd.cfg.dist mfshdd.cfg
# 为了测试这个安装,我们保留 mfschunkserver.cfg 文件不做任何改动;如果读者想了解 配置文件 mfschunkserver.cfg 更详细的信息,请查看手册页 (man mfschunkserver.cfg)。

# 存储配置
# fdisk -l
/dev/sdb 300G

#Creating a partition on /dev/sdb
# parted --align optimal /dev/sdb
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) mkpart mfschunks1 0% 100%
(parted) q

# Installing xfsprogs
# yum install xfsprogs

# Formatting partitions
# mkfs.xfs /dev/sdb1

# Formatting partitions with 4k block size
# mkfs.xfs -s size=4k /dev/sdb1 -f

# 配置挂载开机启动
# mkdir /mnt/mfschunks1

# cat /etc/fstab
/dev/sdb1 /mnt/mfschunks1 xfs defaults 0 0

# mount /mnt/mfschunks1

# df -Th
/dev/sdb1                       xfs       300G   33M  300G   1% /mnt/mfschunks1

# 权限配置
# chown mfs:mfs /mnt/mfschunks1
# chmod 770 /mnt/mfschunks1

# mfs Chunkserver 存储块配置
# cat /opt/server/mfs/etc/mfs/mfshdd.cfg
/mnt/mfschunks1

# 修改文件/etc/hosts ,增加如下的文本行:
# 生产已经做了DNS域名解析,不需要配置
10.162.23.51 mfsmaster
# hosts配置中没有对mfsmaster解析的话,需要手动配置master_host
# cat /opt/server/mfs/etc/mfs/mfschunkserver.cfg|grep -i master_host
# MASTER_HOST = mfsmaster

# Starting MooseFS Chunkserver
# /opt/server/mfs/sbin/mfschunkserver start
# 开机启动
# cat /etc/rc.local
/opt/server/mfs/sbin/mfschunkserver start
现在再通过浏览器访问 http://10.162.23.51:9425/ 应该可以看见这个 MooseFS 系统的全部信息, 包括主控 master 和存储服务 chunkserver 。

W~K}1OD@_K6I4P%J@W~19TF.png

3.4.客户端 Users’computers 安装
为了挂接基于 MooseFS 分布式文件,客户端主机必须安装 FUSE 软件包( fuse 版本号至少 2.8,推荐使用版本号大于 2.9.x 的 fuse)。如果系统没有安装 fuse,你必须手动对其进行安装。 一种常见的安装方式是从源码进行编译安装-我们可以从 http://sourceforge.net/projects/fuse/取 得安装源码:
# 删除旧版本fuse
# rpm -qa|grep fuse
fuse-libs-2.9.2-6.el7.x86_64
# rpm -e fuse-libs-2.9.2-6.el7.x86_64 --nodeps
# tar -zxvf fuse-2.9.6.tar.gz
# cd fuse-2.9.6
# ./configure
# make
# make install

# yum -y install fuse-devel

# 安装客户端软件 mfsmount 的步骤:
# export PKG_CONFIG_PATH=/opt/server/lib/pkgconfig:$PKG_CONFIG_PATH
# 解包归档文件
# tar -zxvf moosefs-2.0.88-1.tar.gz
# 进入安装目录
# cd moosefs-2.0.88
# 配置
# ./configure --prefix=/opt/server/mfs --with-default-user=mfs --with-default-group=mfs --localstatedir=/opt/server/mfs/data --disable-mfsmaster --enable-mfsmount
# make && make install

# 修改文件/etc/hosts ,增加如下的文本行:
# 生产已经做了DNS域名解析,不需要配置
10.162.23.51 mfsmaster

假定客户端的挂接点是/mnt/mfs,我们将以下面的指令来使用 MooseFS 分布式共享文件系统:
# 创建挂接点
# mkdir -p /opt/data/z-cmp/shareddata
# chmod 755 -R /opt/data
# useradd mfs
# passwd mfs
# chown mfs.mfs -R /opt/server/mfs/

# 开始挂接操作
# /opt/server/mfs/bin/mfsmount /opt/data/z-cmp/shareddata -H mfsmaster
# 查看挂载
# df -Th
mfsmaster:9421                  fuse.mfs  2.1T  2.0G  2.1T   1% /opt/data/z-cmp/shareddata

_QBDUTYIMM7PHIF%T31T{H6.png

3.5.配置文件解释
3.5.1.mfsmaster.cfg
需要注意的是,凡是用#注释掉的变量均使用其默认值,这里我解释一下这些变量:
#  WORKING_USER = mfs  运行master server的用户
#  WORKING_GROUP = mfs  运行master server的用户组
#  SYSLOG_IDENT = mfsmaster master在syslog中的标识,也就是说明这是由master serve产生的
#  LOCK_MEMORY = 0 是否执行mlockall()以避免mfsmaster 进程溢出
#  NICE_LEVEL = -19 运行的优先级(如果可以默认是 -19; 注意: 进程必须是用root启动)
#  FILE_UMASK = 027 设置目录和文件被创建时得到的权限
#  DATA_PATH = /opt/server/mfs/data/mfs 数据存放路径,此目录下大致有三类文件,changelog,sessions和stats
#  EXPORTS_FILENAME = /opt/server/mfs/etc/mfs/mfsexports.cfg 被挂接目录及其权限控制文件的存放位置
#  TOPOLOGY_FILENAME = /opt/server/mfs/etc/mfs/mfstopology.cfg 
#  BACK_LOGS = 50 metadata的改变log文件数目(默认是 50)
#  BACK_META_KEEP_PREVIOUS = 1 保存以前mfs元数据的文件数,默认值是1 
#  CHANGELOG_PRESERVE_SECONDS = 1800 CHANGELOG保存时间设置
#  MATOML_LISTEN_HOST = *     metalogger监听的IP地址(默认是*,代表任何IP)
#  MATOML_LISTEN_PORT = 9419  metalogger监听的端口地址(默认是9419)
#  MATOCS_LISTEN_HOST = *     用于chunkserver连接的IP地址(默认是*,代表任何IP)
#  MATOCS_LISTEN_PORT = 9420  用于chunkserver连接的端口地址(默认是9420)
#  MATOCS_TIMEOUT = 10   chunkserver连接超时设置,默认10s
#  REPLICATIONS_DELAY_INIT = 300 延迟复制的时间(默认是300s)
#  CHUNKS_LOOP_MAX_CPS = 100000 chunks的回环执行,最大值100000
#  CHUNKS_LOOP_MIN_TIME = 300 chunks的回环执行,最小值300
#  CHUNKS_SOFT_DEL_LIMIT = 10 一个chunkserver中可以删除chunks的最大数,软限 (默认:10)
#  CHUNKS_HARD_DEL_LIMIT = 25 一个chunkserver中可以删除chunks的最大数,硬限 (默认:25)
#  CHUNKS_WRITE_REP_LIMIT = 2,1,1,4 在一个循环里复制到一个chunkserver的最大chunk数目(四字数字表示:损坏的块,设定的块,服务器之间需要平衡的,其他服务器平衡的数目)
#  CHUNKS_READ_REP_LIMIT = 10,5,2,5 在一个循环里从一个chunkserver复制的最大chunk数目(四字数字表示:损坏的块,设定的块,服务器之间需要平衡的,其他服务器平衡的数目)
#  CS_HEAVY_LOAD_THRESHOLD = 100 设置chunkserver负载阀值100
#  CS_HEAVY_LOAD_RATIO_THRESHOLD = 5.0  设置chunkserver负载阀值比
#  CS_HEAVY_LOAD_GRACE_PERIOD = 900 设置chunkserver超时时间则进入Grace模式
#  ACCEPTABLE_PERCENTAGE_DIFFERENCE = 1.0 设置可接受的差异百分比
#  PRIORITY_QUEUES_LENGTH = 1000000 设置优先级队列长度
#  MATOCL_LISTEN_HOST = *    用于客户端挂接连接的IP地址(默认是*,代表任何IP
#  MATOCL_LISTEN_PORT = 9421 用于客户端挂接连接的端口地址(默认是9421)
#  SESSION_SUSTAIN_TIME = 86400 client断开连接超时时间,默认1天
#  QUOTA_TIME_LIMIT = 604800 client软限制,时间默认为7天
3.5.2.mfsmetalogger.cfg
# META_DOWNLOAD_FREQ = 24  元数据备份文件下载请求频率,默认24小时
3.5.3.mfschunkserver.cfg 
#  HDD_TEST_FREQ = 10 定期chunk测试
#  HDD_LEAVE_SPACE_DEFAULT = 256MiB  设置预留磁盘空间
#  HDD_REBALANCE_UTILIZATION = 20    设置均衡数据的时间比例
#  HDD_ERROR_TOLERANCE_COUNT = 2     设置磁盘错误的数量
#  HDD_ERROR_TOLERANCE_PERIOD = 600  设置超过错误数量,则标记为磁盘损坏
#  HDD_FSYNC_BEFORE_CLOSE = 0        禁用fsync
#  WORKERS_MAX = 150 
#  WORKERS_MAX_IDLE = 40
#  BIND_HOST = *
#  MASTER_HOST = mfsmaster
#  MASTER_PORT = 9420
#  MASTER_TIMEOUT = 10
#  MASTER_RECONNECTION_DELAY = 5   设置连接master重试超时时间
#  CSSERV_LISTEN_HOST = *
#  CSSERV_LISTEN_PORT = 9422   同其他数据块服务器进行连接,用于几个副本复制
3.6.MooseFS 基础用法
在 MooseFS 挂接点下创建目录 folder1, 在该目录,我们将以一个副本的方式存放文件 (设置 goal=1):
# mkdir -p /mnt/mfs/folder1
再在挂接点创建第 2 个目录 folder2, 在该目录,我们将以两个个副本的方式存放文件(设置 goal=2):
# mkdir -p /mnt/mfs/folder2

# 使用命令 mfssetgoal -r 设定目录里文件的副本数:
# 副本数为 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
# 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
3.7.停止/启动  MooseFS
为了安全停止/启动 MooseFS 集群,建议执行如下的步骤:
停止:
在所有客户端用 Unmount 命令先卸载文件系统(本例将是: umount /mnt/mfs)
停止 chunk server 进程: /opt/server/mfs/sbin/mfschunkserver stop
停止 metalogger 进程: /opt/server/mfs/sbin/mfsmetalogger stop
停止主控 master server 进程: /opt/server/mfs/sbin/mfsmaster stop
启动:
启动主控 master server 进程: /opt/server/mfs/sbin/mfsmaster start
启动 metalogger 进程: /opt/server/mfs/sbin/mfsmetalogger start
启动 chunk server 进程: /opt/server/mfs/sbin/mfschunkserver start


标签:opt,文件,cfg,mooseFS,server,编译,mfs,master,2.0
来源: https://blog.51cto.com/yw666/2486626