本文大部分来自网络及该文章:http://www.admindigest.com/4/mogilefs%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AE/
如果有侵犯作者权益和版权,请通知,我会及时删除,再此表示歉意。
1,MogileFS 简介
2,MogileFS 部署
3,MogileFS 测试
4,MogileFS 总结
MogileFS是一种分布式文件存储系统。可支持文件自动备份的功能,提供高可用性和高可扩展性。MogileFS是用Perl语言写的,由于有依赖模块的问题,安装过程中需要其他库和模块的支持,安装不算容易。Mogilefs不支持对一个文件内部的随机或顺序读写,因此只适合做一部分应用,如图片服务,静态HTML服务等,这些应用在文件写入后基本上不需要对文件进行修改,但是可以生成一个新的文件覆盖原有文件。
Mogilefs分为如下几部分:
1、数据库部分数据库保存了Mogilefs的所有元数据,一般使用MySQL,可以单独拿数据库服务器来做,也可以跟其他程序跑在一起。可以用mogdbsetup程序来初始化数据库。数据库部分非常重要,因为一个MogileFS系统的所有Tracker都必须指向同一个数据库,因此如果数据库出现问题,那么整个MogileFS系统将处于不可用状态,因此数据库最好采用HA结构,如MySQL主从复制架构,这样可以降低数据库出现问题对MogileFS系统的影响。
2、跟踪器(Tracker)mogilefsd即trackers程序,类似mogilefs的wiki上介绍 的,trackers做了很多工作,主要有以下几个:Replication: 机器间复制文件Deletion:从命名空间删除是立即的,从文件系统删除是异步的QueryWorker: 响应客户端的请求Reaper:在磁盘失败后将文件复制请求重新放到队列中Monitor:监测主机和设配的健康度和状态Tracker是访问MogileFS的入口,所有系统管理相关的操作都要通过其中的某个trackers完成,应用系统的一些操作也要通过trackers,因此一个高业务量的MogileFS系统最好同时运行多个trackers来做负载均衡。
3、存储节点(Storage)mogstored程序的启动将使本机成为一个存储节点。mogstored启动后,便可以通过mogadm增加这台机器到系统中。一台机器可以只运行一个 mogstored作为存储节点即可,也可以同时运行其他程序。存储节点下面还需要定义设备(device),每个设备都有一个唯一的ID编号,设备也是用mogadm添加到MogileFS系统中的。
4、工具主要就是mogadm,mogtool这两个工具了,用来在命令行下控制整个mogilefs系统以及查看状态等等。5、客户端(Client)客户端通过接口访问mogilefs系统,对整个系统进行文件读写操作。这里的接口是MogileFS提供的接口。6,测试环境Tracker IP:192.168.0.247Storage IP:192.168.0.212,192.168.0.215MySQL IP:192.168.0.245
2 安装
2.1安装前准备Linux perl使用CPAN安装如下必要的Perl库,安装命令如下:
cpan -i Danga::Socket cpan -i IO::AIO cpan -i IO::WrapTie
2.3 Tracker 安装
unzip MogileFS-Server-master.zip cd MogileFS-Server-master perl Makefile.PL make make test make install unzip perl-MogileFS-Client-master.zip perl Makefile.PL make make test make install unzip MogileFS-Utils-master cd MogileFS-Utils-master perl Makefile.PL make make test make install 2.4Storge 安装 分别在192.168.0.212 192.168.0.215 上面安装如下的包 unzip MogileFS-Server-master.zip cd MogileFS-Server-master perl Makefile.PL make make test make install unzip perl-MogileFS-Client-master.zip perl Makefile.PL make make test make install unzip MogileFS-Utils-master cd MogileFS-Utils-master perl Makefile.PL make make test make install2.5 安装,设置Mysql
安装Mysql
设置Mysql
mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.0.77 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> create database mogilefs; Query OK, 1 row affected (0.11 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | foreman | | mogilefs | | mysql | | test | +--------------------+ 5 rows in set (0.00 sec) mysql> grant all on mogilefs.* to 'mogilefs'@'%'; Query OK, 0 rows affected (0.13 sec) mysql> set password for 'mogilefs'@'%' = OLD_PASSWORD('mogile_db_password'); Query OK, 0 rows affected (0.04 sec) mysql> flush pervileges;然后在Tracker机器上执行数据库表结构的创建。
/usr/bin/mogdbsetup --dbhost=192.168.0.245 --dbname=mogilefs --dbuser=mogilefs --dbpass=mogile_db_password --dbrootpass=[passwd]第一次使用mogdbsetup时,需要提供mysql的root密码
2.6设置Tracker
mkdir -p /etc/mogilefs/ vi /etc/mogilefs/mogilefsd.conf在配置文件中添加如下内容:
db_dsn = DBI:mysql:mogilefs:host=192.168.0.245;port=3306;mysql_connect_timeout=5 db_user = mogilefs db_pass = mogile_db_password conf_port = 7001 listener_jobs = 5 node_timeout = 5 rebalance_ignore_missing = 1mogilefsd不能以root身份运行,必须用其他用户运行,为此需要建立新的用户:
useradd mogile 启动 su - mogile mogilefsd -c /etc/mogilefs/mogilefsd.conf --daemon2.7创建Storage配置文件并启动Storgae节点,分别在两太存储节点上执行。
mkdir /var/mogile_data/ vi /etc/mogilefs/mogstored.conf添加如下内容:
httplisten=0.0.0.0:7500 mgmtlisten=0.0.0.0:7501 docroot=/data/mogile_data启动Storage节点
mogstored --daemon2.8 向Tracker 添加Storage节点
mogadm host add mog_storage_212 --ip=192.168.0.212 --port=7500 --status=alive mogadm host add mog_storage_215 --ip=192.168.0.215 --port=7500 --status=alive添加完成后,查看存储节点
mogadm host list mog_storage_212 [1]: alive IP: 192.168.0.212:7500 mog_storage_215 [2]: alive IP: 192.168.0.215:7500
mkdir -p /data/mogile_data/dev21201 mogadm device add mog_storage_212 21201 mkdir -p /data/mogile_data/dev21501 mogadm device add mog_storage_215 21501检查
mogadm check Checking trackers... 127.0.0.1:7001 ... OK Checking hosts... [ 1] mog_storage_212 ... OK [ 2] mog_storage_215 ... OK Checking devices... host device size(G) used(G) free(G) use% ob state I/O% ---- ------------ ---------- ---------- ---------- ------ ---------- ----- [ 1] dev21201 225.225 0.183 225.042 0.08% writeable N/A [ 2] dev21501 225.225 0.183 225.042 0.08% writeable N/A ---- ------------ ---------- ---------- ---------- ------ total: 450.450 0.366 450.083 0.08%3.至此MogileFS 安装完成
暂时没有没有其他测试。