CentOS 6 下安装 MooseFS 2.0

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

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

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


172.16.100.4   外网IP:121.201.24.138

mfsmaster
172.16.100.3 chunkserver1-metalog2
172.16.100.5 chunkserver2
172.16.100.6 chunkserver3
172.16.100.3 chunkserver4-metalog1

1 下载更新YUM配置文件

下载YUM的key认证文件

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

下载YUM的repo配置文件

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

更新repo配置

yum update

2 安装MooseFS

master

######### MooseFS master 节点 172.16.100.4 ##############

安装 MooseFS master

yum install moosefs-master moosefs-cli moosefs-cgi moosefs-cgiserv
cd  /etc/mfs
cp  mfsmaster.cfg.dist  mfsmaster.cfg
cp  mfsexports.cfg.dist  mfsexports.cfg

配置 MooseFS master

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

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

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

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

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

并且将原data目录下的metadata.mfs传到新目录,不然master将无法启动

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

启动 MooseFS master

service moosefs-master start

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

Aug  8 16:50:41 i-22a1spjv mfsmaster[4848]: open files limit has been set to: 4096
Aug  8 16:50:41 i-22a1spjv mfsmaster[4848]: set gid to 498
Aug  8 16:50:41 i-22a1spjv mfsmaster[4848]: set uid to 497
Aug  8 16:50:41 i-22a1spjv mfsmaster[4848]: monotonic clock function: clock_gettime
Aug  8 16:50:41 i-22a1spjv mfsmaster[4848]: monotonic clock speed: 62935 ops / 10 mili seconds
Aug  8 16:50:41 i-22a1spjv mfsmaster[4848]: exports file has been loaded
Aug  8 16:50:41 i-22a1spjv mfsmaster[4848]: topology file has been loaded
Aug  8 16:50:41 i-22a1spjv mfsmaster[4848]: can‘t find metadata.mfs - try using option ‘-a‘
Aug  8 16:50:41 i-22a1spjv mfsmaster[4848]: init: metadata manager failed !!!
Aug  8 16:50:41 i-22a1spjv mfsmaster[4848]: exititng ...
Aug  8 16:50:41 i-22a1spjv mfsmaster[4848]: process exited successfully (status:1)

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

service moosefs-cgiserv start

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

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

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

yum install moosefs-metalogger

配置 MooseFS metalogger 数据存放路径

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

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

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

启动 MooseFS metalogger

/etc/init.d/moosefs-metalogger start

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


chunkserver

######## MooseFS chunkserver节点 172.16.100.3/5/6/2#############

安装 MooseFS chunk

yum install moosefs-chunkserver

配置 MooseFS chunkserver

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

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

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 ###

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

启动 MooseFS chunkserver

service moosefs-chunkserver start

查看监控,已经有一台chunkserver了

同样的方法创建好另外几个chunkserver端,刚创建显示已被占用5G(上面配置-5GiB)

查看日志是否有报错

3 挂载mfs共享的文件系统

安装 MooseFS client   ( 172.16.100.3/5/6 )

yum install moosefs-client -y

挂载mfs

mkdir -pv /data
mfsmount   -H  172.16.100.4  /data/     # -S 指出挂在MFS目录的子目录,默认/,即整个MFS目录
df -h

4 MooseFS 管理

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

mfssetgoal  -r 2  /mfs

查看设置

mfsgetgoal    /mfs
/data/2002.txt: 1

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

fssettrashtime  -r 86400  /mfs

查看保留的时间

mfsgettrashtime    /mfs
/data/: 86400

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

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次。

时间: 2024-10-26 07:58:43

CentOS 6 下安装 MooseFS 2.0的相关文章

64位CentOS 6.2下安装Zabbix 2.0.6

64位CentOS6.2下安装Zabbix 2.0.6 1.安装组件 yum install make mysql-server httpd php mysql-devel gcc net-snmp-devel curl-devel p3rl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml -y useradd zabbix 2.启动mysql service mysqld start mysqladmin –u root passwor

centos / Linux 服务环境下安装 Redis 5.0.3

原文:centos / Linux 服务环境下安装 Redis 5.0.3 1.首先进入你要安装的目录 cd /usr/local 2.下载目前最新稳定版本 Redis 5.0.3 wget http://download.redis.io/releases/redis-5.0.3.tar.gz 3.解压到当前目录 tar -xvzf redis-5.0.3.tar.gz 4.删除压缩包 rm redis-5.0.3.tar.gz 5.进入解压出来的目录 cd redis-5.0.3 6.编译源

关于在centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法

3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可. #yum install libffi-devel -y#make install若在安装前移除了/usr/bin下python的文件链接依赖,此时yum无法正常使用,需要自己下载相关软件包安装,为节省读者时间,放上链接 #wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libffi-devel-3.0.13-18.el7.x86_64.rpm

centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装

centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装 安装前请检查好erlang和rabbitmq版本是否相匹配参考:RabbitMQ Erlang Version Requirements 1. erlang 22.1 源码编译安装 1.1 安装Erlang编译安装必要依赖 sudo yum install -y gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-

CentOS 7 下安装 LEMP 服务(nginx、MariaDB/MySQL 和 php)

原文 CentOS 7 下安装 LEMP 服务(nginx.MariaDB/MySQL 和 php) LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作用.正如其名称所暗示的, LEMP 包是由 Linux.nginx.MariaDB/MySQL 和 PHP 组成的.在传统的 LAMP 包中使用的 Apache HTTP 协议服务器性能低下而且难于大规模集群,相比来说 nginx 的高性能及轻量级等特性,正是其的替代方案. MariaDB 是一款社

Centos 6 下安装 erlang 手记

基于openfire的IM项目已经成功上线,接下来的计划准备开始调研 ejabberd. ejabberd  是基于erlang开发的,那么就先从搭建 erlang环境开始吧. 选择的操作系统为Centos6 ,erlang的最新版OTP17.0: 1. 下载最新版erlang otp_17.0 2. 解压缩 tar -zxvf otp_src_17.0 3. 进入解压缩后的目录 4. ./configure --prefix=/opt/erlang  --without-javac 出现错误大

CentOS 64-bit下安装JDK和Tomcat并设置Tomcat开机启动操作步骤

准备文件如下: 1.CentOS-6.4-x86_64-bin-DVD1.iso 2.jdk-7u67-linux-x64.rpm 3.apache-tomcat-7.0.55.tar.gz 安装步骤如下: 一.安装JDK [[email protected] /]# java -versionbash: java: command not found [[email protected] /]# rpm -ivh /soft/jdk-7u67-linux-x64.rpmPreparing...

怎样在CentOS linux下安装MPEG-1 Layer 3 (MP3)解码器

怎样在CENTOS linux下安装MPEG-1 Layer 3 (MP3)解码器 提片上的信息显示我们没有安装解码器,这是因为版权问题软件 没有自带解码器 我的是centos 32位系统所以用下面第一个源 32位系统 第三方源 rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm 64位系统 第三方源 rpm -ivh http://pkgs.repoforge.

centOS 6下安装java、tomcat

centOS 6 下安装java centOS  默认有java的运行环境(gcj),安装sun的jdk前先卸载 gcj. 卸载gcj: #java -version            <-查看当前gcj java的版本号(我这里得到的是 1.4.2) #yum -y remove java-1.4.2-gcj-compat   <- 卸载gcj (y参数表示 在y/n 提问时均回答 y) #chmod a+x jdk-6u14-linux-i586-rmp.bin    <- a+