MogileFS分布式文件存储系统

On 2010年08月19日, in highscalability, by netoearth

MogileFS分布式文件存储系统,是由Six Apart所开发的,下面我们就来列出他的一些特性进行简要介绍。

应用层——不需要特殊的核心组件

无单点失败——mogileFS分布式文件存储系统安装的三个组件(存储节点、跟踪器、跟踪用的数据库),均可运行在多个 机器上,因此没有单点失败。(你也可以将跟踪器和存储节点运行在同一台机器上,这样你就没有必要用4台机器)推荐至少两台机器。

自动的文件复制—— 基于不同的文件“分类”,文件可以被自动的复制到多个有足够存储空间的存储节点上,这样可以满足这个“类别”的最少复制要求。比如你有一个图片网站,你可 以设置原始的JPEG图片需要复制 至少三份,但实际只有1or2份拷贝,如果丢失了数据,那么mogileFS分布式文件存储系统可以重新建立遗失的拷贝数。用这种办 法,MogileFS(不做RAID)可以节约磁盘,否则你将存储同样的拷贝多份,完全没有必要。

“比RAID好多了”——在一个非存储区域网络的RAID(non-SAN RAID)的建立中,磁盘是冗余的,但主机不是,如果你整个机器坏了,那么文件也将不能访问。 mogileFS分布式文件存储系统在不同的机器之间进行文件复制,因此文件始终是可用的。

传输中立,无特殊协议——mogileFS分布式文件存储系统客户端可以通过NFS或HTTP来和MogileFS的存储节点来通信,但首先需要告知跟踪器一下。

简单的命名空间——文件通过一个给定的key来确定,是一个全局的命名空间。你可以自己生成多个命名空间,只要你愿意,不过这样可能在同一MogileFS中会造成key冲突。

不用共享任何东西——mogileFS分布式文件存储系统不需要依靠昂贵的SAN来共享磁盘,每个机器只用维护好自己的磁盘。

不需要RAID——在MogileFS中的磁盘可以是做了RAID的也可以是没有,如果是为了安全性着想的话RAID没有必要买了,因为mogileFS分布式文件存储系统已经提供了。

不 会碰到文件系统本身的不可知情况——在mogileFS分布式文件存储系统中的存储节点的磁盘可以被格式化成多种格式(ext3,reiserFS等 等)。mogileFS分布式文件存储系统会做自己内部目录的哈希,所以它不会碰到文件系统本身的一些限制,比如一个目录中的最大文件数。你可以放心的使 用。

安装配置:

懒人安装法,只是整理了一下命令

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
yum install Perlbal
yum install perl-Perlbal-XS-HTTPHeaders
yum install perl-MogileFS*
yum install mogstored*
yum install mogilefsd*

没有细细研究,仅安装过可用,目前没有需求使用,所以没有进一步测试,详情参考后面的第二篇文章,很详细,相信照做没有问题。
以下命令仅供参考:

#初始化数据
mogdbsetup -dbhost=192.168.1.22 -dbport=3306 -dbname=mogilefs -dbuser=mogilefs -dbpassword=mogilefs
#运行监控
useradd mogile
sudo -u mogile mogilefsd –daemon
#运行存储
mogstored –daemon
#增加存储点
mogadm –lib=/usr/lib/perl5/site_perl/5.8.8/ –trackers=192.168.1.44:7001 host add aslibra –ip=192.168.1.44 –port=7500 –status=alive
mogadm –lib=/usr/lib/perl5/site_perl/5.8.8/ –trackers=192.168.1.44:7001 host list
#增加存储设备
mogadm –lib=/usr/lib/perl5/site_perl/5.8.8 –trackers=192.168.1.44:7001 device add aslibra 1

#存储
mogtool –trackers=192.168.1.44:7001 –domain=www.aslibra.com inject b.txt b.txt

#增加另外节点
mogadm –lib=/usr/lib/perl5/site_perl/5.8.8/ –trackers=192.168.1.44:7001 host add aslibra –ip=192.168.1.41 –port=7500 –status=alive
mogadm –lib=/usr/lib/perl5/site_perl/5.8.8 –trackers=192.168.1.44:7001 device add aslibra41 2

Tagged with:  

Comments are closed.