黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

程序員的智囊?guī)煜盗兄?--分布式文件系統(tǒng)(Distri

系統(tǒng) 2463 0

程序員的智囊?guī)煜盗兄?--分布式文件系統(tǒng)(Distributed file systems)

這是 程序員的智囊?guī)煜盗? 的第三篇文章。 上一篇文章 本來打算介紹幾個搭建網(wǎng)站的框架,但由于這部分的內(nèi)容較多,還需要再整理一段時間,所以先放出這部分的第三篇文章。這一部分我們講介紹分布式存儲相關(guān)的一些知識,以及當(dāng)下(2013-10-29)主流的分布式文件系統(tǒng)。由于有些NoSQL數(shù)據(jù)庫也可以用來做分布式文件系統(tǒng)的替代物,所以這部分我們還將介紹幾個NoSQL數(shù)據(jù)庫。主要講介紹以下幾種分布式文件系統(tǒng)和NoSQL數(shù)據(jù)庫:

背景

之前公司一直用nfs做文件服務(wù)器,nfs的好處就是配置簡單,使用方便。但缺點(diǎn)是當(dāng)數(shù)據(jù)量很多,尤其是小文件多的時候,其性能令人堪憂,往往會成為整個系統(tǒng)的性能瓶頸。所以準(zhǔn)備在將來考慮用性能更好的方法替代nfs,于是花大工夫整理調(diào)查,橫向?qū)Ρ攘烁鞣植际轿募到y(tǒng)。調(diào)查報(bào)告的詳細(xì)結(jié)果整理在 這里 ,本文是從中抽出幾個概要部分稍作講解,具體內(nèi)容請參見調(diào)查報(bào)告 原文 。 我把分析報(bào)告原文放到了七牛上,但我感覺它最近不太穩(wěn)定,如果下載不了,請與我聯(lián)系,或直接在下面評論里留郵箱。

注:本來調(diào)查報(bào)告分兩部分,理論分析報(bào)告和性能測試報(bào)告。本文的目的是介紹給大家更多的知識,擴(kuò)展知識面,增加知識的廣度。
而不是說直接告訴你,這個比那個好,你用這個,別用那個。
尤其是性能測試這種東西,別人的測試結(jié)果的參考價值并不是很大,必須沉下心來,自己去一點(diǎn)點(diǎn)的測才能找到最適合自己的工具、參數(shù)。
因此,本文只給出了理論分析報(bào)告,并沒有給出性能測試報(bào)告。

幾點(diǎn)基礎(chǔ)知識

存儲方案

  • DAS
  • SAN
  • NAS

數(shù)據(jù)存儲的方法

  • 塊存儲(block)
  • 文件存儲(file)
  • 對象存儲(object)

元數(shù)據(jù)(meta data)

元數(shù)據(jù)的概念:data about data
數(shù)據(jù)是指普通文件中的實(shí)際數(shù)據(jù),而元數(shù)據(jù)指用來描述一個文件的特征的系統(tǒng)數(shù)據(jù),
諸如訪問權(quán)限、文件擁有者以及文件數(shù)據(jù)塊的分布信息(inode...)等等。
在集群文件系統(tǒng)中,分布信息包括文件在磁盤上的位置以及磁盤在集群中的位置。
用戶需要操作一個文件必須首先得到它的元數(shù)據(jù),才能定位到文件的位置并且得到文件的內(nèi)容或相關(guān)屬性。
元數(shù)據(jù)對文件系統(tǒng)的影響:文件系統(tǒng)對元數(shù)據(jù)的操作占據(jù)了傳統(tǒng)文件系統(tǒng)總負(fù)荷的近一半。
高效的元數(shù)據(jù)管理方式對提高整個系統(tǒng)的性能至關(guān)重要。
A comparison of file system workloads. 2000 USENIX Annual Technical Conference

單點(diǎn)依賴

當(dāng)一臺服務(wù)器出現(xiàn)故障后,整個服務(wù)器群癱瘓。
解決方案:
1 TFS 利用linux 高可用性(HA)機(jī)制,配置HA元數(shù)據(jù)服務(wù)集群。但這樣只能配置主設(shè)備和從設(shè)備,事實(shí)上同一時刻還是只有一個服務(wù)器在服務(wù)。這樣做只能提高系統(tǒng)的穩(wěn)定性,并不能解決采用集成式元數(shù)據(jù)服務(wù)模式的瓶頸問題(由于系統(tǒng)需要同步,反而會降低性能)。
2 Ceph GPFS 分布式元數(shù)據(jù)服務(wù)模型 將負(fù)載分散到多臺服務(wù)器解決了性能瓶頸問題,利用對等的服務(wù)器或冗余元數(shù)據(jù)服務(wù)分區(qū)解決了單點(diǎn)故障問題。分布式看似非常完善,然而它大大增加了設(shè)計(jì)實(shí)現(xiàn)上的復(fù)雜性,同時可能會引入了新的問題,即性能開銷和數(shù)據(jù)一致性問題。

3 GlusterFS 無元數(shù)據(jù)服務(wù)模型
無元數(shù)據(jù)服務(wù)器設(shè)計(jì)的好處是沒有單點(diǎn)故障和性能瓶頸問題,可提高系統(tǒng)擴(kuò)展性、性能、可靠性和穩(wěn)定性。對于海量小文件應(yīng)用,這種設(shè)計(jì)能夠有效解決元數(shù)據(jù)的難點(diǎn)問題。它的負(fù)面影響是,數(shù)據(jù)一致問題更加復(fù)雜,文件目錄遍歷操作效率低下,缺乏全局監(jiān)控管理功能。同時也導(dǎo)致客戶端承擔(dān)了更多的職能,比如文件定位、名字空間緩存、邏輯卷視圖維護(hù)等等,這些都增加了客戶端的負(fù)載,占用相當(dāng)?shù)腃PU和內(nèi)存。

HA高可用性

高可用性H.A.(High Availability)指的是通過盡量縮短因日常維護(hù)操作(計(jì)劃)和突發(fā)的系統(tǒng)崩潰(非計(jì)劃)所導(dǎo)致的停機(jī)時間,以提高系統(tǒng)和應(yīng)用的可用性。它與被認(rèn)為是不間斷操作的容錯技術(shù)有所不同。HA系統(tǒng)是目前企業(yè)防止核心計(jì)算機(jī)系統(tǒng)因故障停機(jī)的最有效手段。
實(shí)現(xiàn)方法:

  1. heartbeat:比較常用
  2. rhcs:redhat集群套件--redhat cluster suite 圖形界面,實(shí)現(xiàn)方便,可有100多個節(jié)點(diǎn)
  3. corosync/openais + paceker
    2個節(jié)點(diǎn):
    采用主備模式:一臺激活,另一臺備份,對外呈現(xiàn)一個虛擬ip地址。兩個節(jié)點(diǎn)之間采用心跳線,備份節(jié)點(diǎn)使用心跳線來探測活動節(jié)點(diǎn)是否處于活動狀態(tài)。
    心跳線:雙絞線 或光纖跳線或 serial線
    采用主主模式:兩個節(jié)點(diǎn),在提供web服務(wù)時,左側(cè)為激活狀態(tài),右側(cè)為備份狀態(tài);在實(shí)現(xiàn)mail服務(wù)時, 一個為激活狀態(tài),一個為備份狀態(tài)。

FUSE

Filesystem in userspace
在用戶態(tài)實(shí)現(xiàn)的文件系統(tǒng)

為什么使用FUSE:

首先要了解用戶態(tài)和內(nèi)核態(tài)
為了保證系統(tǒng)安全,在用戶態(tài)執(zhí)行的代碼被硬件限制,不能進(jìn)行某些操作,如修改其他程序的存儲空間、修改配置文件、殺死其他進(jìn)程、重啟等。
而在內(nèi)核態(tài)(核心態(tài))執(zhí)行的代碼,可以不加限制地對系統(tǒng)存儲、外部設(shè)備進(jìn)行操作。

但是從用戶態(tài)切換到核心態(tài)需要很大的開銷。
所以FUSE有如下優(yōu)點(diǎn):
能夠大幅提高效率,簡化了為操作系統(tǒng)提供新的文件系統(tǒng)的工作量,特別適用于各種虛擬文件系統(tǒng)和網(wǎng)絡(luò)文件系統(tǒng)。

開源軟件的版本(copyleft)問題

GPL GPL2 GPL3 LGPL AGPL

題外話

無目錄結(jié)構(gòu)、扁平化存儲是海量存儲的未來發(fā)展方向
一般來講計(jì)算機(jī)內(nèi)部對文件的操作和查找不是按目錄進(jìn)行定位的
目錄結(jié)構(gòu)完全是為了方便用戶瀏覽。
因而,一些不會與用戶直接打交道的數(shù)據(jù),完全可以不用目錄結(jié)構(gòu)存儲。設(shè)計(jì)新產(chǎn)品的時候可以采用扁平化設(shè)計(jì)。

參考資料

關(guān)于存儲,分布式存儲,分布式文件系統(tǒng)的更多信息,可以參見以下幾本資料:

  1. 劉愛貴整理的《 分布式文件系統(tǒng) 》。分布式文件系統(tǒng)的大體認(rèn)識。
  2. 張冬寫的《 大話存儲 》和《大話存儲2》。這個系列的書講得非常通俗易懂,而且很詳細(xì),例子也很生動,我認(rèn)為可以作為國內(nèi)的權(quán)威了。
  3. 《海量存儲》

分布式文件系統(tǒng)的評價標(biāo)準(zhǔn)

部署

  • 部署復(fù)雜程度
  • 服務(wù)器配置要求
  • 文件系統(tǒng)接口
  • 是否支持FUSE
  • 是否需要配套的客戶端
  • 是否支持目錄結(jié)構(gòu)
  • 可拓展性

性能

  • 小文件支持
  • 大文件支持
  • 文件大小對性能的影響
  • 平均傳輸速率

數(shù)據(jù)安全

  • 單點(diǎn)依賴
  • 冗余保護(hù)
  • 故障恢復(fù)

實(shí)際應(yīng)用

  • 適用產(chǎn)品級別
  • 是否成熟
  • 實(shí)際應(yīng)用
  • 版本號

維護(hù)

  • 是否開源
  • license
  • 社區(qū)活躍程度
  • 文檔語言
  • 開發(fā)語言
  • 文檔完善程度

其他

  • 數(shù)據(jù)遷移成本
  • 存儲機(jī)制
  • 元數(shù)據(jù)存儲方式
  • 其他特點(diǎn)

如何才能選擇最好的分布式文件系統(tǒng)呢?沒有最好的分布式文件系統(tǒng),只有最適合你的實(shí)際情況的。不是說最近c(diǎn)eph很火,ceph就一定適合你,一定要在認(rèn)真分析你的實(shí)際情況后,通過理論參數(shù)做出初步篩選,然后通過性能測試來做最后的篩選,切不可魯莽選擇。
詳細(xì)的理論比對請參見理論分析報(bào)告的 原文 !

時間:2014-11-16
作者: FingerLiu

如果您對我介紹的知識感興趣,歡迎收藏和推薦!謝謝您的支持!
-------------------------------

程序員的智囊?guī)煜盗兄?--分布式文件系統(tǒng)(Distributed file systems)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發(fā)表我的評論
最新評論 總共0條評論