实验环境

Centos6.4-x86_64

172.16.4.12 tracker

172.16.4.7 mogstore

172.16.4.1 mogstore

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

一、配置tracker节点


安装mysql,为了方便管理,我们将mysql挂载在逻辑卷

mysql-5.5.33-linux2.6-x86_64.tar.gz


1:创建逻辑卷并挂载

创建磁盘分区

#fdisk /dev/sda

创建物理分区

#pvcreate /dev/sda{3,5}

创建卷组为myvg

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

创建逻辑卷mydata

#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

在/mydata下创建data目录

#mkdir /mydata/data

2:解压安装

添加系统用户mysql

#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有样例,我们可以根据自己的需要选择

将选择的文件复制一份到/etc/目录下并修改文件名为my.cnf

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

添加mysql服务

#chkconfig --add mysqld

#chkconfig mysqld on

启动服务

#service mysqld start

安装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查看数据库

172914604.png

数据库初始化成功

编辑配置文件

#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 启动服务

接着配置tracker节点

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

Checking trackers...

127.0.0.1:7001 ... OK

Checking hosts...

No devices found on tracker(s)

#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

Checking trackers...

127.0.0.1:7001 ... OK

Checking hosts...

[ 1] server1 ... OK

Checking devices...

host device size(G) used(G) free(G) use% ob state I/O%

---- ------------ ---------- ---------- ---------- ------ ---------- -----

[ 1] dev1 18.686 0.523 18.163 2.80% writeable 5.0

---- ------------ ---------- ---------- ---------- ------

total: 18.686 0.523 18.163 2.80%


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

# mogupload 上传文件

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

创建domain

# mogadm domain add files

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

/etc/fstab'

- file: /etc/fstab

class: default

devcount: 1

domain: files

fid: 2

key: /etc/fstab

length: 921

- http://172.16.4.7:7500/dev1/0/000/000/0000000002.fid

配置另一个mogstore节点

和前面的配置相同,配置完成后启动服务

#service mogstored start

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

接着回到tracker节点

添加mogstorge节点和存储空间

173010497.png

173010569.png


模拟一个节点down

# mogadm host mark server1 down

173051678.png

重新启用节点

# mogadm host mark server1 alive

173010569.png

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