一.配置Tracker Server
1.修改tracker配置文件
# vi /etc/mogilefs/mogilefsd.conf
将数据库连接参数以及tracker监听ip和端口更改一下(ip地址请不要使用127.0.0.1,可以0.0.0.0或者网卡地址)
2.启动tracker
# su mogile -c "mogile -c /etc/mogilefs/mogilefsd.conf --daemon &"
实际上 -c 参数是可选的,不加的时候默认就是 /etc/mogilefs/mogilefsd.conf
# su mogile -c "mogile --daemon &"
这样也可以
二.配置Storge Server
1.修改配置文件参数 (不多说)
# vi /etc/mogilefs/mogstored.conf
修改storge监听地址及端口, 还有docroot(存储路径)
2.将docroot(存储路径)的权限修改为mogile用户所有
# chown -R mogile /your/mogilefs/data/storge/path
三.将StorgeServer添加到tracker(在tracker上操作)
1.添加storgehost到指定的tracker
# mogadm --lib=/usr/lib/perl5/5.8.8 --trackers=192.168.1.9:7001 host add storgehost1 --ip=192.168.1.10 --port=7500 --status=alive
--lib参数可以不加, storgehost1为主机名,根据自己的喜好或规则来取名
如果添加多个tracker可以用逗号隔开例如: --trackers=1.1.1.1:7001,2.2.2.2:7001
2.在指定的Tracker里的Storge Server里面添加device(理解为硬盘)
# mogadm --trackers=192.168.1.9:7001 device add storgehost1 1
红色指的是StorgeServer的Hostname, 蓝色的1 代表设备序列号
然后在 docroot = /your/mogilefs/data/storge/path 下面建议一个叫做dev1的文件夹,dev三个字母固定1代表对应刚刚的的设备序列号
也可以将真实物理硬盘挂在到/your/mogilefs/data/storge/path/dev1
例如我这台StorgeServer的docroot设置的是 /mogilefsdata, 则我就要创建一个目录
# mkdir /mogilefsdata/dev1 (请将权限设置好 # chown -R mogile.mogile /mogilefsdata)
3.在指定的tracker里面添加domain
# mogadm --trackers=192.168.1.9:7001 domain add domain1.yourdomain.com
4.在指定的tracker里的domain里面添加class
# mogadm --trackers=192.168.1.9:7001 class add domain1.yourdomain.com classname1 --mindevcount=数字 --replpolicy=策略名称
--mindevcount=数字(不加参数的时候默认是2) 表示最小冗余数,也就是说一个文件最少在不同storge中复制几份,保证某一台storge Server down而不会无法访问文件
--replpolicy=策略名称(不加参数的时候默认是MultipleHosts() ) 表示采用什么样的冗余策略
5.TroubleShooting
手册
http://search.cpan.org/~dormando/MogileFS-Utils/mogadm
# mogadm --trackers=192.168.1.9:7001 host | device | domain | class --help
四.测试mogileFS
写一个perl文件试一下test.pl
#=======================================
use MogileFS::Client;
my $mogfs = MogileFS::Client->new(domain=>'testdomain', hosts=>['10.0.22.184:6001'], root=>'/home/xiehl/mogdata',);
my $fh = $mogfs->new_file("file_key", "testclass");
die $fh unless $fh->print($mogfs->readonly);
my $content = "file.txt";
@num = $mogfs->store_content("file_key","testclass",$content);
print "@num \n";
my $file_contents = $mogfs->get_file_data("file_key");
print "$file_contents \n";
#$mogfs->delete("file_key");
$fh->print($file_contents);
@urls = $mogfs->get_paths("file_key");
print "@urls \n";
#=======================================
执行脚本
# perl test.pl
本文返回的内容是:(可能你返回的内容会不同,格式类似就行)
8
SCALAR(0×9ddaaa8)
http://10.15.6.28:7500/dev1/0/000/000/0000000008.fid
在浏览器里输入:
http://10.15.6.28:7500/dev1/0/000/000/0000000008.fid
将会看到输出:
file.txt
能够访问我们存储的数据,配置成功!