loing 发表于 2015-9-7 08:16:32

CentOS 6 下安装 MooseFS 2.0

                      本文是在云服务器上进行搭建,使用的yum安装

MFS文件系统能够实现RAID的功能,并且能够节约存储成本,能够在线扩展。

实验环境(服务器有限,实验时一台服务器承担多个职位)

172.16.100.4   外网IP:121.201.24.138
mfsmaster
172.16.100.3chunkserver1-metalog2
172.16.100.5chunkserver2
172.16.100.6chunkserver3
172.16.100.3chunkserver4-metalog1

1 下载更新YUM配置文件
下载YUM的key认证文件

1
curl "http://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS




下载YUM的repo配置文件

1
curl "http://ppa.moosefs.com/MooseFS-stable-el6.repo" > /etc/yum.repos.d/MooseFS.repo




更新repo配置

1
yum update





2 安装MooseFS
master
######### MooseFS master 节点 172.16.100.4 ##############
安装 MooseFS master

1
2
3
4
yum install moosefs-master moosefs-cli moosefs-cgi moosefs-cgiserv
cd/etc/mfs
cpmfsmaster.cfg.distmfsmaster.cfg
cpmfsexports.cfg.distmfsexports.cfg




配置 MooseFS master
添加如下配置 表示172.16.100.0/24网段可以挂载MooseFS,仅172.16.100.2可以挂载meta数据(用于恢复数据)

1
2
3
vim /etc/mfs/mfsexports.cfg
172.16.100.0/24/rw,alldirs,maproot =0
172.16.100.2.rw




添加如下配置 指定mfs数据存放位置

1
2
vim /etc/mfs/mfsmaster.cfg
DATA_PATH = /mfs/mfsmaster




修改了data目录,需要创建相应目录并授权
并且将原data目录下的metadata.mfs传到新目录,不然master将无法启动

1
2
mkdir /mfs/mfsmaster -p;chown mfs:mfs /mfs/ -R
cp /var/lib/mfs/metadata.mfs /mfs/mfsmaster/




启动 MooseFS master

1
service moosefs-master start





查看日志/var/log/messages,有以下提示是因为未将原data目录下文件放到新data目录

1
2
3
4
5
6
7
8
9
10
11
Aug8 16:50:41 i-22a1spjv mfsmaster: open files limit has been set to: 4096
Aug8 16:50:41 i-22a1spjv mfsmaster: set gid to 498
Aug8 16:50:41 i-22a1spjv mfsmaster: set uid to 497
Aug8 16:50:41 i-22a1spjv mfsmaster: monotonic clock function: clock_gettime
Aug8 16:50:41 i-22a1spjv mfsmaster: monotonic clock speed: 62935 ops / 10 mili seconds
Aug8 16:50:41 i-22a1spjv mfsmaster: exports file has been loaded
Aug8 16:50:41 i-22a1spjv mfsmaster: topology file has been loaded
Aug8 16:50:41 i-22a1spjv mfsmaster: can't find metadata.mfs - try using option '-a'
Aug8 16:50:41 i-22a1spjv mfsmaster: init: metadata manager failed !!!
Aug8 16:50:41 i-22a1spjv mfsmaster: exititng ...
Aug8 16:50:41 i-22a1spjv mfsmaster: process exited successfully (status:1)





启动 MooseFS cgi server用于使用web端查看监控

1
service moosefs-cgiserv start




查看http://121.201.24.138:9425/mfs.cgi,提示没有DNS

在服务器hosts中设置(由于测试服务器有限,循环利用)

1
2
3
4
5
6
vim /etc/hosts
172.16.100.4    mfsmaster
172.16.100.5    chunkserver2
172.16.100.2    chunkserver4-metalog1
172.16.100.3    chunkserver1-metalog2
172.16.100.6    chunkserver3




刷新界面


metalog
######### MooseFS metalog节点 172.16.100.2#############
安装 MooseFS metalogger

1
yum install moosefs-metalogger




配置 MooseFS metalogger 数据存放路径

1
2
3
vim /etc/mfs/mfsmetalogger.cfg
DATA_PATH = /mfs/mfsmetalogger
MASTER_HOST = 172.16.100.4#如果不修改这里,需要在hosts中添加域名解析





1
2
vim /etc/hosts
172.16.100.4   mfsmaster




修改了data目录,需要创建相应目录并授权

1
2
mkdir /mfs/mfsmetalogger -p
chown mfs:mfs /mfs/ -R




启动 MooseFS metalogger

1
/etc/init.d/moosefs-metalogger start




查看监控,log已经添加成功


chunkserver
######## MooseFS chunkserver节点 172.16.100.3/5/6/2#############
安装 MooseFS chunk

1
yum install moosefs-chunkserver




配置 MooseFS chunkserver

1
2
vim /etc/mfs/mfschunkserver.cfg
MASTER_HOST = 172.16.100.4#或者做hosts解析




测试使用dd指令划分一块10G区间挂载使用(可以单独挂载硬盘作为chunkserver挂载盘使用)

1
2
3
4
5
6
7
dd if=/dev/zero of=/tmp/file bs=102400 count=100000#创建10G空文件
mke2fs -T ext4 /tmp/file   #将这个文件格式化
mkdir /mfs/mfschunk1 -p   #创建挂载目录
mount /tmp/file /mfs/mfschunk1/ -o loop         #挂载分区
chown mfs:mfs /mfs/ -R       #赋权
vim /etc/fstab
    /tmp/file/mfs/mfschunk1      ext4    defaults,loop      0 0




### 配置 MooseFS chunkserver数据存放路径为 /mfs/mfschkunk1 ###

1
2
vim /etc/mfs/mfshdd.cfg
/mfs/mfschunk1   -5GiB         #这里会留出5G的空间




启动 MooseFS chunkserver

1
service moosefs-chunkserver start




查看监控,已经有一台chunkserver了
同样的方法创建好另外几个chunkserver端,刚创建显示已被占用5G(上面配置-5GiB)
查看日志是否有报错

3 挂载mfs共享的文件系统

安装 MooseFS client   ( 172.16.100.3/5/6 )

1
yum install moosefs-client -y




挂载mfs

1
2
3
mkdir -pv /data
mfsmount   -H172.16.100.4/data/   # -S 指出挂在MFS目录的子目录,默认/,即整个MFS目录
df -h






4 MooseFS 管理
设置副本的份数,2份  (在已经挂载mfs的172.16.0.3上操作)

1
mfssetgoal-r 2/mfs




查看设置

1
2
mfsgetgoal    /mfs
/data/2002.txt: 1




设置删除文件在“回收站”内保留的时间(一天)

1
fssettrashtime-r 86400/mfs




查看保留的时间

1
2
mfsgettrashtime    /mfs
/data/: 86400




查看备份信息(数据能被分成几个副本存储在不同的计算机里)

1
2
3
4
5
6
7
mfsfileinfo hello.txt
      chunk 0: 0000000000000245_00000001 / (id:581 ver:1)
                copy 1: 192.168.81.43:9422
                copy 2: 192.168.81.44:9422
      chunk 1: 0000000000000246_00000001 / (id:582 ver:1)
                copy 1: 192.168.81.43:9422
                copy 2: 192.168.81.44:9422





测试
2002.txt与2015.txt备份1份,2003.txt与2014.txt备份2份

2014.txt备份为2份

关闭chunkserver1后,2015.txt备份文件有数据丢失,无法查看文件中内容

启动chunkserver1后,2015.txt数据恢复正常


由于是分布式存储,类似于RAID,数据块会分别存储在不同的chunkserver挂载硬盘上。备份次数为1类似于RAID0,备份次数为2及以上类似于RAID1。适用于哪种得看公司实际需求,建议备份2次。

                   

页: [1]
查看完整版本: CentOS 6 下安装 MooseFS 2.0