MooseFS分布式文件系统简单配置

MooseFS是一种分布式文件系统,MooseFS文件系统结构包括以下四种角色:

1、管理服务器managing server (master)

2、元数据日志服务器(备份服务器)Metalogger server(Metalogger)

3、数据存储服务器data servers (chunkservers)

4、客户机挂载使用client computers

1、管理服务器:负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷贝

2、元数据日志服务器(备份服务器): 负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在master server出问题的时候接替其进行工作

3、数据存储服务器:负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输.

4、客户端: 通过fuse内核接口挂接远程管理服务器上所管理的数据存储服务器,.看起来共享的文件系统和本地unix文件系统使用一样的效果.

源码包下载地址https://moosefs.com/download/sources.html

或者根据https://moosefs.com/download/centosfedorarhel.html 选择系统根据说明逐步安装

此处选择用源码编译安装

安装过程:master红色字体步骤在每台服务器上都需要进行的过程,其他服务此过程省略

管理服务器(master):

解压安装包:

[[email protected] ~]# tar zxvf moosefs-2.0.68-1.tar.gz -C /usr/src/

[[email protected] ~]# cd /usr/src/moosefs-2.0.68

部分选项配置:可以根据需要和功能选择具体配置

[[email protected] moosefs-2.0.68]# ./configure -h
       --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
       --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
       --with-default-user=USER  Choose default user to run daemons as 
       --with-default-group=GROUP Choose default group to run daemons as
       --disable-mfsmaster     Do not build mfsmaster
       --disable-mfsmetalogger  Do not build mfsmetalogger
       --disable-mfssupervisor  Do not build mfssupervisor
       --disable-mfschunkser   Do not build mfschunkserver
       --disable-mfsmount     Do not build mfsmount
       --disable-mfscgi       Do not install CGI scripts
       --disable-mfscli       Do not install CLI script
       --disable-mfscgiserv    Do not install CGI server
       --disable-mfsnetdump    Do not build mfsnetdump

编译开始前需先安装下列软件

[[email protected] moosefs-2.0.68]# yum install -y gcc zlib-devel fuse-devel

创建服务所需的用户和组

[[email protected] moosefs-2.0.68]# groupadd mfs
[[email protected] moosefs-2.0.68]# useradd -g mfs mfs

编译安装:(此过程没有取消chuankserver等服务的安装,仅指定目录、用户、组、配置文件目录,在每台服务器上均可如此)

[[email protected] moosefs-2.0.68]# ./configure --prefix=/usr/local/moosefs --sysconfdir=/etc --localstatedir=/var/lib --with-default-user=mfs --with-default-group=mfs
[[email protected] moosefs-2.0.68]# make && make install

安装完成后会在/etc/mfs/目录下生成服务配置文件的样本,将样本拷贝成配置文件。(此处不同服务器的配置文件不同)

[[email protected] ~]# cd /etc/mfs/
[[email protected] mfs]# cp mfsmaster.cfg.dist mfsmaster.cfg
[[email protected] mfs]# cp mfsexports.cfg.dist mfsexports.cfg
mfsmaster.cfg 配置文件包含主控服务器 master 相关的设置(此处未做修改)
mfsexports.cfg 指定那些客户端主机可以远程挂接 MooseFS 文件系统以及客户端的访问权限

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

[[email protected] mfs]# cd /var/lib/mfs/
[[email protected] mfs]# cp metadata.mfs.empty metadata.mfs

修改hosts文件,指定主服务器对应的IP(因在所有配置文件中指定master均为mfsmaster,若不想修改hosts文件,也可直接在配置文件中指定master为IP地址)

[[email protected] mfs]# vim /etc/hosts
192.168.1.1     mfsmaster

启动服务(服务启动metadata.mfs文件是必须的,有时当服务停止后metadata.mfs文件会自动转为metadata.mfs.back,再次启动服务时需复制metadata.mfs.bak为metadata.mfs)

[[email protected] ~]# /usr/local/moosefs/sbin/mfsmaster start
open files limit has been set to: 4096
working directory: /var/lib/mfs
lockfile created and locked
initializing mfsmaster modules ...
exports file has been loaded
mfstopology configuration file (/etc/mfstopology.cfg) not found - using defaults
loading metadata ...
metadata file has been loaded
no charts data file - initializing empty charts
master <-> metaloggers module: listen on *:9419    masteryumetaloggers通信的端口
master <-> chunkservers module: listen on *:9420   master与chunkserver通信的端口
main master server module: listen on *:9421        master监听的端口
mfsmaster daemon initialized properly

运行CGI监控服务监控 MooseFS 当前运行状态

[[email protected] ~]# /usr/local/moosefs/sbin/mfscgiserv 
lockfile created and locked
starting simple cgi server (host: any , port: 9425 , rootpath: /usr/local/moosefs/share/mfscgi)

在浏览器地址栏输入 http://192.168.1.1:9425 即可查看 master 的运行情况

备份服务器:

用来安装 metalogger 的主机,在性能上应该比 master 强大(至少有更多的内存)。一旦主控
服务器 master 失效, 只要导入 changelogs 到元数据文件,备份服务器 metalogger 将能接替发生
故障的 master,行使管理服务器的职能

安装过程与master步骤相同,仅配置文件不同,启动服务

[[email protected] mfs]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
[[email protected] ~]# /usr/local/moosefs/sbin/mfsmetalogger start
open files limit has been set to: 4096
working directory: /var/lib/mfs
lockfile created and locked
initializing mfsmetalogger modules ...
mfsmetalogger daemon initialized proper

数据存储服务器:

  安装过程与master相同,仅配置文件不同

[[email protected] mfs]# cp mfschunkserver.cfg.dist mfschunkserver.cfg
[[email protected] mfs]# cp mfshdd.cfg.dist mfshdd.cfg

创建存储块挂载目录

[[email protected] ~]# mkdir /mnt/mfschunk1
[[email protected] ~]# mkdir /mnt/mfschunk2
[[email protected] ~]# chown mfs.mfs /mnt/mfschunk1
[[email protected] ~]# chown mfs.mfs /mnt/mfschunk2

修改配置文件,将数据存储目录写到配置文件中

[[email protected] mfs]# vim mfshdd.cfg
/mnt/mfschunk1
/mnt/mfschunk2

启动服务

[[email protected] ~]# /usr/local/moosefs/sbin/mfschunkserver start
open files limit has been set to: 16384
working directory: /var/lib/mfs
lockfile created and locked
setting glibc malloc arena max to 8
setting glibc malloc arena test to 1
initializing mfschunkserver modules ...
hdd space manager: data folders ‘/mnt/mfschunk2/‘ and ‘/mnt/mfschunk1/‘ are on the same physical device (could lead to unexpected behaviours)
hdd space manager: path to scan: /mnt/mfschunk2/
hdd space manager: path to scan: /mnt/mfschunk1/
hdd space manager: start background hdd scanning (searching for available chunks)
main server module: listen on *:9422
no charts data file - initializing empty charts
mfschunkserver daemon initialized properly

通过浏览器访问 http://192.168.1.1:9425/ 可以看见这个 MooseFS 系统的全部信息,

包括主控 master 和存储服务 chunkserver 。

客户端:

为了挂接基于 MooseFS 分布式文件,客户端主机必须安装 FUSE 软件包(fuse 版本号至少2.6,推荐使用版本号大于 2.7.2 的 fuse)

安装过程与master相同。(中间出现一个问题,在/usr/local/moosefs/bin目录下没有mfsmount命令,安装前查看过fuse软件包安装了,经查知道fuse-devel软件包未安装,编译过程中有error,但是编译能通过,安装fuse-devel后解决。)

[[email protected] moosefs-2.0.68]# yum install -y fuse-devel
[[email protected] ~]# mkdir /mnt/mfs
/usr/bin/mfsmount /mnt/mfs -H mfsmaster
[[email protected] moosefs-2.0.68]# /usr/local/moosefs/bin/mfsmount /mnt/mfs -H mfsmaster
mfsmaster accepted connection with parameters: read-write,restricted_ip ; root mapped to root:root

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

[email protected] moosefs-2.0.68]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   18G  3.3G   14G  20% /
tmpfs                         495M  224K  495M   1% /dev/shm
/dev/sda1                     485M   35M  426M   8% /boot
mfsmaster:9421                 33G  7.2G   26G  22% /mnt/mfs  挂载成功

至此,mooseFS已经能使用

遇到的问题:

1、服务停止直接用的kill,再次启动服务时,提示需要metadata.mfs 文件,拷贝metadata.mfs.empty文件为metadata.mfs,再次启动服务,服务启动成功,但是挂载之后文件不能正常读写。后发现将metadata.mfs.back拷贝为metadata.mfs文件即能正常使用。因解决问题是重新安装的服务,不知是否还有其他问题。

2、用Centos系统安装master和chunkserver服务,用Centos系统mfsmount正常亦能正常使用,但用ubuntu系统mfsmount,能挂载上但不能使用存储(不能正常读写),后改用ubuntu系统重新搭建,挂载读写正常。不知mooseFS不同系统之间是否不能使用?

时间: 2024-10-07 19:34:01

MooseFS分布式文件系统简单配置的相关文章

Moosefs分布式文件系统集群讲解配置

1 管理服务器(master-server):负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷贝 2 元数据日志服务器(changelog-server): 负责备份master服务器的变化,(一般情况下可以和管理服务器放在一起)文件类型为changelog_ml.*.mfs,以便于在master server出问题的时候接替其进行工作 3数据存储服务器(chunk-server):负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输. 4客户端(

Hadoop系列之hdfs(分布式文件系统)安装配置

Hadoop系列之hdfs(分布式文件系统)安装配置环境介绍:     ip                        节点192.168.3.10      hdfs-master192.168.3.11      hdfs-slave1192.168.3.12      hdfs-slave21.在所有机器添加hosts192.168.3.10      hdfs-master192.168.3.11      hdfs-slave1192.168.3.12      hdfs-slav

MooseFS分布式文件系统+keepalived高可用+unison和intoify实时双击同步(一)

1.  分布式文件系统mfs(moose file system) 1.1.mfs文件系统的组成 1.元数据服务器.在整个体系中负责管理管理文件系统,目前MFS只支持一个元数据服务器master,这是一个单点故障,需要一个性能稳定的服务器来充当.希望今后MFS能支持多个master服务器,进一步提高系统的可靠性. 2.元数据日志服务器.备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs.当元数据服务器数据丢失或者损毁,可从日志服务器取得文件进行恢复. 3.数据存

分布式存储之MogileFS分布式文件系统简单应用

一.分布式存储原理: 分布式存储系统,是将数据分散存储在多台独立的设备上.传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要.分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性.可用性和存取效率,还易于扩展. 1.分布式文件系统的特点: • 节点间能相互通信 • 同一数据存储在多个节点上 • 数据空间平衡 • 具有容错能力 • 文件系统的

在CentOS上安装部署MooseFS分布式文件系统

参考资料: http://www.moosefs.org/tl_files/manpageszip/moosefs-step-by-step-tutorial-cn-v.1.1.pdf 环境介绍:OS: CentOS 6.3 x86_64server1 - mfsmaster & mfschunkserverserver2 - mfsmetalogger & mfschunkserver & mfsclientserver3 - mfschunkserver 1. 什么是Moose

MooseFS分布式文件系统+keepalived高可用+unison和intoify实时双机同步(三)

3.Unison双向同步工具配置 3.1.Unison简介 Unison是Windows.Linux以及其他Unix平台下都可以使用的文件同步工具,它能使两个文件夹(本地或网络上的)保持内容的一致.Unison拥有与其它一些同步工具或文件系统的相同的特性,但也有自身的特点: 1.跨平台使用: 2.对内核和用户权限没有特别要求: 3.Unison是双向的,它能自动处理两分拷贝中更新没有冲突的部分,有冲突的部分将会显示出来让用户选择更新策略: 4.只要是能连通的两台主机,就可以运行unison,可以

MooseFS分布式文件系统+keepalived高可用+unison和intoify实时双机器同步(二)

.moosefs+keepalived双机高可用 2.1.部署环境及思路 2.1.1.环境 192.168.1.237  keepalived (MASTER)  mfsmaster   mfscgiserv 192.168.1.236  keepalived (Slave)      mfschuckserver  mfsclient 192.168.1.239  虚拟VIP 2.1.2.原理 mfsmaster的故障恢复在1.6.5版本后可以由mfsmetalogger产生的日志文件 cha

【架构设计】分布式文件系统 FastDFS的原理和安装使用

本文地址 分享提纲: 1.概述 2. 原理 3. 安装 4. 使用 5. 参考文档 1. 概述 1.1)[常见文件系统] Google了一下,流行的开源分布式文件系统有很多,介绍如下: -- mogileFS:Key-Value型元文件系统,不支持FUSE,应用程序访问它时需要API,主要用在web领域处理海量小图片,效率相比mooseFS高很多. -- fastDFS:国人 余庆老师(GitHub)在mogileFS的基础上进行改进的key-value型文件系统,同样不支持FUSE,提供比mo

分布式文件系统之在域命名空间中新建文件夹

1.打开" DFS 管理"右击域命名空间,选择"新建文件夹": 2.打开"新建文件夹"对话框,在名称对话框,输入文件夹名称,然后选择"添加": 3.打开"添加文件夹目标"对话框,选择"浏览": 4.选择想要添加的文件夹,选择"确定": 5.返回"添加文件夹目标"对话框,选择"确定": 6.返回"新建文件夹"对