標籤彙整為 'MogileFS'

MogileFS Client Libraries

Perl - http://search.cpan.org/~bradfitz/MogileFS-Client/
POE - http://search.cpan.org/~mock/POE-Component-Client-MogileFS-0.02/
darwinport - http://p5-mogilefs-client.darwinports.com/
Java - http://github.com/eml/java-mogilefs/tree/master
Ruby - http://seattlerb.rubyforge.org/mogilefs-client/
PHP - http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/MogileClient/
http://php-webdav.pureftpd.org/project/php-webdav
http://osterman.com/wordpress/2007/06/30/robust-php-mogilefs-client
http://lists.danga.com/pipermail/mogilefs/attachments/20070630/995c3387/MogileFS.class.bin
Python - http://www.albany.edu/~ja6447/mogilefs.py
分享此文章

Centos 5.1 安裝 mogileFS

To install a tracker:

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm

yum -y install mogilefsd perl-MogileFS-Client perl-MogileFS-Utils

To install a storage node:

rpm -Uvh ttp://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm

yum -y install mogstored mogstored-backend-perlbal
mogstored-backend-lighttpd mogstored-backend-apache perl-MogileFS-Client
perl-MogileFS-Utils
分享此文章

mogileFS的工作方式(譯)

下面簡要闡述 MogileFS 是怎麼工作的.
mogileFS由如下一些部分構成:

Application: 想要 保存/加載 文件的應用
Tracker (the mogilefsd process): 基于事件的(event-based) 父 進程/消息 總線來管理所有來之于客戶端應用的交互(requesting operations to be performed), 包括將請求負載平衡到 “query workers” 中,讓mogilefsd的子進程去處理. 你可以在不同的機器上運行兩個Tracker, 為了高可用性, 或使用更多的Tracker為了負載平衡(你需要運行多于兩個的Tracker). mogilefsd的子進程有:

Replication 個機器間復制文件
Deletion 從命名空間刪除是立即的,從文件系統刪除是異步的
Query 響應客戶端的請求
Reaper 在磁盤失敗後將文件復制請求重新放到隊列中
Monitor [...]

選擇MogileFS理由

在這個web 2.0的系統中遇到了第一個問題,如果想讓更多的web靜態內容服務器一起工作,為了節省存儲必然讓更多的web服務器使用相同的存儲。
比如圖片
圖片是靜態內容,有如下需求:
1, 需要集中存儲,也就是對服務的需求者,只有一個統一的接口。
2, 圖片需要的存儲比較大。
3, 要穩定,文件不能丟失。
根據上述要求我們可以採用如下模式:
Web Server可以使用眾多的網絡協議來使用File Server上的文件,可以是NFS或是CIFS,甚至可以是SAN(當然,這東東比較貴的說)。但是為了滿足上面提出的3個要求,我更傾向于用分布式文件來取代File Server。
MogileFS就是這樣一種系統。
MogileFS利用多個有自己的計算資源的靜態服務器來分區存儲並管理它們的一個分布式文件系統。
特點:
應用層,沒有特殊的內核組件要求
無單點失敗 MogileFS啟動的三個組件(存儲節點、跟蹤器、跟蹤用的數據庫),可運行在多個機器上,因此沒有單點失敗。(你也可以將跟蹤器和存儲節點運行在同一台機器上,這樣你就沒有必要用4台機器)推薦至少兩台機器自動的文件復制 文件是基于他們的”類”, 文 件可以自動的在多個存儲節點上復制,這是為了盡量少的復制,才使用”類”的。假如你的圖片站點有 三份JPEG圖片的拷貝,但實際只有1or2份拷貝,那麼Mogile可以重新建立遺失的拷貝。用這種辦法,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等等)。MogilesFS會做自己內部目錄的哈希,所以它不會碰到文件系統本身的一些限制,比如一個目錄中的最大文件數。你可以放心的使用。
分享此文章