一:环境准备

环境准备:一台主机当作tracker和mysql,两台当作storageserver

二: 安装包准备

在三台主机上都要安装如下软件包,tarcker主机需要安装mariadb-server perl-Net-Netmask perl-IO-String perl-Sys-Syslog perl-IO-AIO MogileFS-Server-2.46-2.el7.centos.noarch.rpm MogileFS-Server-mogilefsd-2.46-2.el7.centos.noarch.rpm MogileFS-Server-mogstored-2.46-2.el7.centos.noarch.rpm MogileFS-Utils-2.19-1.el7.centos.noarch.rpmperl-Danga-Socket-1.61-1.el6.rf.noarch.rpm perl-MogileFS-Client-1.14-1.el7.centos.noarch.rpm perl-Perlbal-1.78-1.el6.noarch.rpm perl-Danga-Socket-1.61-1.el6.rf.noarch.rpm perl-Perlbal-1.78-1.el6.noarch.rpm

三:搭建步骤

1.初始化数据库,授予mogile用户操作mogilefs数据库的权力

MariaDB [(none)]> grant all privileges on mogilefs.* to 'mogile'@'127.0.0.1' identified by 'mogile' with grant option;
MariaDB [(none)]>flush privileges;

2.修改mogileFS的配置文件,修改如下三项,其他的项目使用默认的即可,如有需要,可以自行修改

root@centos7tmp#vim /etc/mogilefs/mogilefsd.conf db_user = mogile db_pass = mogile listen = 172.17.253.25:7001

3.设定并且查看数据库

root@centos7tmp#mogdbsetup --dbpass=mogpass#一路按Y即可 root@centos7tmp#mysql -uroot MariaDB [(none)]> use mogilefs;
MariaDB [mogilefs]> show tables; #查看到有表就成功了

4.启动mogileFS的tracker端服务

root@centos7tmp#systemctl start mogilefsd #没报错就是成功

5.配置storageserver的配置文件

root@centos7.2/#mkdir /data/mogdata #建一个存储数据的文件夹 root@centos7.2data#chown mogilefs.moilefs mogdata/ -R#修改权限,使mogile用户可以访问 root@centos7.2~#vim /etc/mogilefs/mogstored.conf docroot = /data/mogdata #自己制定一个文件路径最好,其他的选项默认即可 root@centos7.2data#systemctl start mogstored #开启mogileFS的storage服务

6.在storageserver上添加设备,生产中最好单独挂载一个新的磁盘,专门用来存储数据

root@centos7.1mogdata#mkdir dev1
root@centos7.1mogdata#chown mogilefs.mogilefs dev1/ -R

7.在tracker上添加主机和设备

root@centos7tmp# mogadm --tracker=172.17.253.25:7001 host add node1 --ip=172.17.253.127 --port=7500 --status=alive root@centos7tmp# mogadm --tracker=172.17.253.25:7001 host add node2 --ip=172.17.253.200 --port=7500 --status=alive root@centos7tmp#mogadm --tracker=172.17.253.25:7001 device add node1 1 root@centos7tmp#mogadm --tracker=172.17.253.25:7001 device add node2 2

8.查看添加是否成功

root@centos7tmp# mogadm --tracker=172.17.253.25:7001 check

出现如下,则表示成功 Checking trackers... 172.17.253.25:7001 ... OK

Checking hosts... [ 1] node1 ... OK [ 2] node2 ... OK

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


[ 1] dev1 18.619 3.595 15.024 19.31% writeable 0.0 [ 2] dev2 18.619 3.594 15.025 19.30% writeable 0.0


         total:    37.238      7.189     30.049  19.31%

四:实现复制功能

1.三台主机上都安装

root@centos7~#yum -y install make gcc unzip perl-DBD-MySQL perl perl-CPAN perlYAML perl-Time-HiRes

2.用perl编译安装Sys-Syscall-0.23.tar.gz

root@centos7tmp#tar xvf Sys-Syscall-0.23 root@centos7tmp#cd Sys-Syscall-0.23/ root@centos7Sys-Syscall-0.23#perl Makefile.PL root@centos7Sys-Syscall-0.23#make root@centos7Sys-Syscall-0.23#make install

五.添加文件验证复制功能

1.重启mogilefsd服务

root@centos7Sys-Syscall-0.23#/etc/init.d/mogilefsd stop root@centos7Sys-Syscall-0.23#/etc/init.d/mogilefsd start

2.上传文件

root@centos7mogilefs#mogupload --domain=img -key=hello --file=39447-106.jpg

3.看复制的状态,发现成功。

root@centos7mogilefs#mogfileinfo --domain=img -key=bug

  • file: bug class: default devcount: 2 domain: img fid: 8 key: bug length: 364854
  • http://172.17.253.127:7500/dev1/0/000/000/0000000008.fid
  • http://172.17.253.191:7500/dev2/0/000/000/0000000008.fid