这里有一项需要注意,Sys::Syscall的0.25版本存在bug,在文件系统运行过程中,向文件系统上添加数据,其不会按照默认策略保留2个副本,默认策略如下:
上传的文件信息:
可以看到,数据仅有一份,保存在192.168.1.127节点上。Sys::Syscall的0.25版本为最新版本,使用cpan默认安装的就是这个版本,降级到0.23版本即可,或者直接下载安装0.23版本。
wget
###############################
perl Makefile.PL
make && make install
部署Storage Nodes
1)安装程序包(与上述一致)
[root@node2 ~]# cpan Sys::Syscall
[root@node2 ~]# cpan IO::WrapTie
[root@node2 ~]# cpan Danga::Socket
[root@node2 ~]# cpan IO::AIO
[root@node2 ~]# cpan MogileFS::Client
[root@node2 ~]# cpan Net::Netmask
[root@node2 ~]# cpan Perlbal
[root@node2 ~]# cpan MogileFS::Server
2)完成配置
创建目录并添加配置文件:
[root@node2 ~]# mkdir /etc/mogilefs
[root@node2 ~]# vim /etc/mogilefs/mogstored.conf
maxconns = 10000 #最大并发连接数
httplisten = 0.0.0.0:7500 #http监听的地址
mgmtlisten = 0.0.0.0:7501 #管理接口监听地址
docroot = /mogdata/data #用于存储的目录
添加,挂载分区,根据/etc/mogilefs/mogstored.conf中的docroot配置信息添加目录,并修改属主属组:
[root@node2 ~]# fdisk /dev/sdb
[root@node2 ~]# mkfs -t ext4 -b 4096 /dev/sdb1
[root@node2 ~]# mkdir -pv /mogdata/data
mkdir: created directory `/mogdata'
mkdir: created directory `/mogdata/data'
[root@node2 ~]# mount /dev/sdb1 /mogdata/data/
[root@node2 ~]# chown -R mogilefs.mogilefs /mogdata/
3)启动服务
添加用户,启动服务(同上述一样,最好使用脚本):
[root@node2 ~]# useradd -r mogilefs
[root@node2 ~]# su - mogilefs -c "mogstored -c /etc/mogilefs/mogstored.conf --daemon"
安装MogileFS-Utils管理MogileFS
在控制节点上安装MogileFS-Utils,可用于添加host,device,domain,class等管理操作。
[root@node1 ~]# cpan MogileFS::Utils
或者
[root@node1 ~]# wget
[root@node1 ~]# tar xf MogileFS-Utils-2.29.tar.gz
[root@node1 ~]# cd MogileFS-Utils-2.29
[root@node1 MogileFS-Utils-2.29]# perl Makefile.PL
[root@node1 MogileFS-Utils-2.29]# make && make install
建议直接使用cpan安装,可自动安装依赖的包。