实验环境:
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 #初始化数据库
#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节点和存储空间
模拟一个节点down
# mogadm host mark server1 down
重新启用节点
# mogadm host mark server1 alive
到这里,所有配置完成了,在具体工作环境中应用要多一些mogstore节点,以实现服务不会因为某个节点出现故障而中断服务