MogileFS 分布式文件存儲系統(tǒng)-圖片

一.MogileFS簡單介紹

MogileFS是一個開源的分布式文件存儲系統(tǒng)晚伙,用于組建分布式文件集群欧啤。由LiveJournal旗下的Danga Interactive公司開發(fā)拿愧。 Danga團隊開發(fā)了包括 Memcached贼急、MogileFS蜗元、Perlbal (Perlbal是一個強大的Perl寫的反向代理服務(wù)器)等多個知名的開源項目拾因。

目前使用MogileFS 的公司非常多旺罢,以大眾點評為例旷余,用戶全部圖片均有mogileFS存儲,數(shù)據(jù)量已經(jīng)達到500TB級別以上扁达。

二.MogileFS特征

1.應(yīng)用層提供服務(wù)正卧,沒有特殊組件要求

2.無單點失敗,主要有三個組件組成跪解,分為tracker(跟蹤節(jié)點)炉旷、mogstore(存儲節(jié)點)、database(數(shù)據(jù)庫節(jié)點),皆可實現(xiàn)高可用,可支持多點冗余

3.自動文件復制:復制的最小單位不是文件叉讥,而class窘行;

4.傳輸中立,無特殊協(xié)議:可以通過NFS或HTTP進行通信节吮;

5.簡單的命名空間: 每個文件對應(yīng)一個key

6.不共享任何數(shù)據(jù)抽高,MogileFS不需要依靠昂貴的SAN來共享磁盤,每個機器只用維護好自己的磁盤

7.無需RAID支持,應(yīng)用層可以直接實現(xiàn)RAID透绩,不共享任何東西翘骂,通過“集群”接口提供服務(wù),具有比RAID更好的可靠性

三.MogileFS架構(gòu)三大組件

1.tracker(跟蹤節(jié)點)-------->mogilefsd進程

它是MogileFS的核心,是一個調(diào)度器,mogilefsd進程是trackers進程.

trackers的主要職責有:刪除數(shù)據(jù)帚豪、復制數(shù)據(jù)碳竟、監(jiān)控、查詢狸臣、Reaper(收割程序)等等.

這個是基于事件的( event-based ) 父進程/消息總線來管理所有來自于客戶端應(yīng)用的交互(requesting operations to be performed), 包括將請求負載平衡到多個”query workers”中,然后讓 mogilefs的子進程去處理.

它借助數(shù)據(jù)庫保存各節(jié)點文件的元數(shù)據(jù)信息保存每個域中所有鍵的存儲位置分布,方便檢索定位數(shù)據(jù)位置的同時監(jiān)控各節(jié)點莹桅,告訴客戶端存儲區(qū)位置并指揮storage節(jié)點復制數(shù)據(jù)副本,進程名為mogilefsd(7001)烛亦。

2.database(數(shù)據(jù)庫節(jié)點)-------->存放元數(shù)據(jù)地方

用于為tracker存儲元數(shù)據(jù)信息诈泼,是Trackers 來操作和管理它。建議做成高可用

3.mogstore(存儲節(jié)點)------------>實際文件存放的地方

存儲節(jié)點是mogilefs的存儲文件儲存的地方,也是 mogstored 節(jié)點,也叫 Storage Server,一臺存儲要啟動一個mogstored服務(wù)煤禽,擴容就是增加這些機器铐达,擴大文件存放的地方,mogstored(7501),perbal(7500)。

它將指定域中的鍵轉(zhuǎn)換特有的文件名存儲與在特定的設(shè)備文件中檬果,轉(zhuǎn)換后文件名為值瓮孙,storage自動維護鍵值之間的對應(yīng)關(guān)系,storage節(jié)點使用http進行數(shù)據(jù)傳輸选脊,依賴于perbl杭抠,進程為mogstored,perbal恳啥;

通常是一個HTTP(WebDAV)服務(wù)器偏灿,用來數(shù)據(jù)的創(chuàng)建、刪除钝的、獲取;

4.mogileFS三大模塊組成圖:

mogileFS三大模塊組成圖

簡單說明:

客戶端的請求先發(fā)給tracker節(jié)點菩混,然后tracker節(jié)點到database節(jié)點去查詢數(shù)據(jù)存儲在什么位置忿墅,然后將結(jié)果反饋給客戶端,客戶端再根據(jù)tracker節(jié)點提供的路徑去訪問相應(yīng)的storage節(jié)點去找到數(shù)據(jù)沮峡。

tracker節(jié)點除了幫助客戶端到數(shù)據(jù)庫中去檢索你要查找的數(shù)據(jù)疚脐,還管理storage節(jié)點,如果storage節(jié)點有損壞的邢疙,會控制storage節(jié)點進行數(shù)據(jù)自動遷移到其他節(jié)點棍弄,同時數(shù)據(jù)備份的時候也是由trackers節(jié)點來控制復制幾個副本的。

四.MogileFS常用的術(shù)語:

1.Domain

一個mogilefs可以有多個domain疟游,用來存放不同文件(大小呼畸、類型),同一個domain內(nèi)key必須唯一颁虐,不同domain內(nèi)key可以是相同的?

2.class

文件屬性管理蛮原,復制文件的最小單位不是文件,而是class另绩,定位文件存儲在不同設(shè)備上的份數(shù)儒陨,也就是定義副本的數(shù)量

3.host:每個存儲節(jié)點稱為一個host主機,Domain+Fid來定位文件

4.device:一個存儲節(jié)點笋籽,可以有多個device蹦漠,就是用來存放文件的目錄,每個設(shè)備都有一個設(shè)備ID车海,設(shè)備不能刪除笛园,只能將設(shè)備的狀態(tài)置為dead,置為dead之后數(shù)據(jù)就無法恢復了侍芝,并且設(shè)備ID也無法使用研铆。(建議每個節(jié)點只有一個device,文件存儲多份時州叠,有多余數(shù)據(jù)備份在當前節(jié)點其他設(shè)備棵红,等于沒有備份,若只備份2份留量,節(jié)點發(fā)生故障,數(shù)據(jù)就會丟失)哟冬;

術(shù)語關(guān)系圖


五.理想架構(gòu)圖:

理想架構(gòu)圖

1楼熄、通過Nginx+Keepalived實現(xiàn)高可用的負載均衡,通過upstream模塊可以有選擇性的轉(zhuǎn)發(fā)應(yīng)用層的請求至后端tracker節(jié)點浩峡。

2可岂、DRBD+Corosync+Pacemaker的機制保證了Mysql的高可用

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市翰灾,隨后出現(xiàn)的幾起案子缕粹,更是在濱河造成了極大的恐慌稚茅,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件平斩,死亡現(xiàn)場離奇詭異亚享,居然都是意外死亡,警方通過查閱死者的電腦和手機绘面,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門欺税,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人揭璃,你說我怎么就攤上這事晚凿。” “怎么了瘦馍?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵歼秽,是天一觀的道長。 經(jīng)常有香客問我情组,道長燥筷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任呻惕,我火速辦了婚禮荆责,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘亚脆。我一直安慰自己做院,他們只是感情好,可當我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布濒持。 她就那樣靜靜地躺著键耕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪柑营。 梳的紋絲不亂的頭發(fā)上屈雄,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天,我揣著相機與錄音官套,去河邊找鬼酒奶。 笑死,一個胖子當著我的面吹牛奶赔,可吹牛的內(nèi)容都是我干的惋嚎。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼站刑,長吁一口氣:“原來是場噩夢啊……” “哼另伍!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起绞旅,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤摆尝,失蹤者是張志新(化名)和其女友劉穎温艇,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體堕汞,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡勺爱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了臼朗。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片邻寿。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖视哑,靈堂內(nèi)的尸體忽然破棺而出绣否,到底是詐尸還是另有隱情,我是刑警寧澤挡毅,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布蒜撮,位于F島的核電站,受9級特大地震影響跪呈,放射性物質(zhì)發(fā)生泄漏段磨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一耗绿、第九天 我趴在偏房一處隱蔽的房頂上張望苹支。 院中可真熱鬧,春花似錦误阻、人聲如沸债蜜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽寻定。三九已至,卻和暖如春精耐,著一層夾襖步出監(jiān)牢的瞬間狼速,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工卦停, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留向胡,地道東北人。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓惊完,卻偏偏與公主長得像僵芹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子专执,可洞房花燭夜當晚...
    茶點故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內(nèi)容