实验环境

Centos6.4-x86_64

172.16.4.12 tracker

172.16.4.7 mogstore

172.16.4.1 mogstore

MogileFS是一套高效的文件自动备份组件用于组建分布式文件集群,适合存储海量小文件,用户上传的文件在storage上并且默认会存储在两个节点上,当其中一个down时,会自动往其他节点复制一份

一、配置tracker节点

1:创建逻辑卷并挂载

      #fdisk /dev/sda

#pvcreate /dev/sda{3,5}

#vgcreate myvg /dev/sda{3,5}

#lvcreate -L 20G -n mydata myv

#mke2fs -t ext4 -L MYDATA -b 2048 /dev/myvg/mydata

#mkdir /mydata

#mount -a

要使得能够开机自动挂载,需要编辑配置文件/etc/fstab

LABEL=MYDATA /mydata ext4 defaults 0 0

#mkdir /mydata/data

2:解压安装

#useradd -r mysql

#chown -R mysql:mysql /mydata/data

#tar xf mysql-5.5.33-linux2.6-x86_64.tar.gz -C /usr/local

#cd /usr/local/

#ln -sv mysql-5.5.33-linux2.6-x86_64 mysql

#chown -R root:mysql /usr/local/mysql/*

#cd mysql/support-files        #有样例,我们可以根据自己的需要选择

#cp my-large.cnf /etc/my.cnf

3:修改配置文件

# vim /etc/my.cnf

找到相关设置进行修改操作

thread_concurrency = 4      并发核心数, 如果物理核心为2,这里就可以填写4

datadir = /mydata/data

innodb_file_per_table = 1    每表一个表空间

服务脚本

#cp mysql.server /etc/rc.d/init.d/mysqld

#chmod +x /etc/rc.d/init.d/mysqld

#cd /usr/local/mysql/

#scripts/mysql_install_db --user=mysql --datadir=/mydata/data/

#chkconfig --add mysqld

#chkconfig mysqld on

#service mysqld start

4:安装mogilefs

MogileFS-Server.noarch 0:2.46-2.el6

MogileFS-Server-mogilefsd.noarch 0:2.46-2.el6

MogileFS-Server-mogstored.noarch 0:2.46-2.el6

MogileFS-Utils.noarch 0:2.19-1.el6

perl-MogileFS-Client.noarch 0:1.14-1.el6

perl-Net-Netmask.noarch 0:1.9015-8.el6

perl-Perlbal.noarch 0:1.78-1.el6

配置文件/etc/mogilefs

# mogdbsetup -h 获取帮助

mysql> grant all on mogilefs.* to 'moguser'@'%' identified by 'mogpass';

mysql> flush privileges;

# mogdbsetup --dbhost=172.16.4.12 --dbrootpass=mypass --dbuser=moguser --dbpass=mogpass      #初始化数据库

MogileFS安装配置实战_安装配置

#vim /etc/mogilefs/mogilefsd.conf

pidfile = /var/run/mogilefsd/mogilefsd.pid            #源码包安装需要创建目录并且属主属组为mogilefsd

db_dsn = DBI:mysql:mogilefs:host=172.16..4.12

db_user = moguser

db_pass = mogpass

listen = 0.0.0.0:7001

# service mogilefsd start 启动服务

二、配置存储节点文件mogstore

MogileFS-Server-2.46-2.el6.noarch.rpm

MogileFS-Server-mogilefsd-2.46-2.el6.noarch.rpm

MogileFS-Server-mogstored-2.46-2.el6.noarch.rpm

MogileFS-Utils-2.19-1.el6.noarch.rpm

perl-IO-AIO-3.71-2.el6.x86_64.rpm

perl-MogileFS-Client-1.14-1.el6.noarch.rpm

perl-Net-Netmask-1.9015-8.el6.noarch.rpm

perl-Perlbal-1.78-1.el6.noarch.rpm

     #yum -y --nogpgcheck localinstall *.rpm

#mkdir /mogdata/dev1 -pv

# chown -R mogilefs:mogilefs /mogdata/dev1/

# vim /etc/mogilefs/mogstored.conf 编辑配置文件

maxconns = 10000

httplisten = 0.0.0.0:7500

mgmtlisten = 0.0.0.0:7501

docroot = /mogdata

# service mogstored start 

​#ss -tanl 确保7500、7501端口打开

接着配置tracker节点

# mogadm check        # 检查当前所有节点健康状况

#mogadm host list             查看mogstore节点

#mogadm host add -h       查看添加mogstore节点的帮助

# mogadm host add server1 --ip=172.16.4.7 --status=alive

# mogadm device add server1 1           添加存储空间

#mogadm check


在这里,我们上传文件验证我们的配置

# mogupload 上传文件

Usage: /usr/bin/mogupload --trackers=host --domain=foo --key='/hello.jpg' --file='./hello.jpg'

# mogadm domain add files            创建domain

      #mogupload --trackers=172.16.4.12 --domain=files --key='/etc/fstab' --file='/etc/fstab'

# mogfileinfo --trackers=172.16.4.12 --domain=files --key='/etc/fstab'          查看上传的文件信息

接着回到tracker节点

添加mogstorge节点和存储空间

MogileFS安装配置实战_安装配置_02

MogileFS安装配置实战_mogilefs_03


模拟一个节点down

# mogadm host mark server1 down

MogileFS安装配置实战_mogilefs_04

重新启用节点

# mogadm host mark server1 alive

MogileFS安装配置实战_mogilefs_03

到这里,所有配置完成了,在具体工作环境中应用要多一些mogstore节点,以实现服务不会因为某个节点出现故障而中断服务