Google文件系統(tǒng)GFS精講_第1頁
Google文件系統(tǒng)GFS精講_第2頁
Google文件系統(tǒng)GFS精講_第3頁
Google文件系統(tǒng)GFS精講_第4頁
Google文件系統(tǒng)GFS精講_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

需要一個(gè)支持海量存儲的文件系統(tǒng)是否可以在一堆廉價(jià)且不可靠的硬件上構(gòu)建可靠的分布式文件系統(tǒng)?>為什么不使用當(dāng)時(shí)現(xiàn)存的文件系統(tǒng)?不同的工作負(fù)載,不同的設(shè)計(jì)優(yōu)先級(廉價(jià)、不可靠的硬。需要設(shè)計(jì)與Google應(yīng)用和負(fù)載相符的文件系統(tǒng)硬件出錯(cuò)是正常而非異常主要負(fù)載是流數(shù)據(jù)讀寫主要用于程序處理批量數(shù)據(jù),而非與用戶的交互或隨機(jī)讀寫,數(shù)據(jù)寫主要是“追加寫”,需要存儲大尺寸的文件存儲的文件尺寸可能是GB或TB量級,而且應(yīng)當(dāng)能支持存儲成千上萬的大尺寸文件原子的記錄追加快照設(shè)計(jì)租約機(jī)制的目的是為了最小化Master節(jié)點(diǎn)的管理負(fù)擔(dān)。租約的順序決定,然后由租約中主Chunk分配的序列租約和變更順序473ReplicaAPrimaryReplicaReplicaB66125Leger客戶機(jī)向Master節(jié)點(diǎn)詢問哪一個(gè)Chunk服務(wù)器持有當(dāng)前的租約,以及其它副本的位置。Master節(jié)點(diǎn)將主Chunk的標(biāo)識符以及其它副本的位置返回給客戶機(jī)。客戶機(jī)緩存這些數(shù)據(jù)以便后續(xù)的操作??蛻魴C(jī)把數(shù)據(jù)推送到所有的副本上??蛻魴C(jī)可以以任意的當(dāng)所有的副本都確認(rèn)接收到了數(shù)據(jù),客戶機(jī)發(fā)送寫請求到主Chunk服務(wù)器。主Chunk把寫請求傳遞到所有的二級副本。每個(gè)二級副本依照主Chunk分配的序列號以相同的順序執(zhí)行這些操所有的二級副本回復(fù)主Chunk,它們已經(jīng)完成了操作。主Chunk服務(wù)器回復(fù)客戶機(jī)。任何副本產(chǎn)生的任何錯(cuò)誤都會返回給客戶機(jī)。FigureWriteControland為了提高網(wǎng)絡(luò)效率,采取了把數(shù)據(jù)流和控制流在控制流從客戶機(jī)到主Chunk、然后再到所有二級副本的同時(shí),數(shù)據(jù)以管道的方式,順序的沿目標(biāo)是充分利用每臺機(jī)器的帶寬,避免網(wǎng)絡(luò)瓶頸和高延時(shí)的連接,最小化推送所有數(shù)據(jù)的延為了充分利用每臺機(jī)器的帶寬,數(shù)據(jù)沿著一個(gè)為了盡可能的避免出現(xiàn)網(wǎng)絡(luò)瓶頸和高延遲的鏈利用基于TCP連接的、管道式數(shù)據(jù)推送方式來最近的Chunk服務(wù)器S1。S1把數(shù)據(jù)推送到S2,因?yàn)镾2和S4中最接近S2把數(shù)據(jù)傳遞給S3和S4之間更近的機(jī)器,依次類推推送下去。我們的網(wǎng)絡(luò)拓?fù)浞浅:唵?,通過IP地址就可原子的記錄追加傳統(tǒng)方式寫入操作客戶程序會指定數(shù)據(jù)寫入的偏移量,對同一個(gè)region的并行寫region尾部可能會包含多個(gè)不同客戶機(jī)寫記錄追加入操作成功執(zhí)行,寫入的數(shù)據(jù)追加到GFS指定的偏移位置上,之主Chunk首先將當(dāng)前Chunk填充到最大尺寸,之后通知所有二級副本做同樣的操作,然后回復(fù)客戶機(jī)要求其對下一個(gè)Chunk重新進(jìn)行記錄追加操作。(記錄追加的數(shù)據(jù)大小嚴(yán)格控制在Chunk最大尺寸的1/4,這樣即使在最壞情況下,數(shù))通常情況下追加的記錄本內(nèi),然后通知二級副本把數(shù)據(jù)寫在跟主Chunk一樣如果記錄追加操作在任何一個(gè)副本上失敗了,客戶端就需要重新進(jìn)行操作。重新進(jìn)行記錄追加的結(jié)果是,同一個(gè)Chunk的不同副本可能包含不同的數(shù)據(jù),或者重復(fù)包含一個(gè)記錄全GFS并不保證Chunk的所有副本在字節(jié)級別是完全一致的。它只保證數(shù)據(jù)作為一個(gè)整體原子的被至少寫入一次。如果操作成功執(zhí)行,數(shù)據(jù)一定已經(jīng)寫入到Chunk的所有副本的相同偏移位置上。這之后,所有的副本至少都到了記錄尾部的長度,任何后續(xù)的記錄都會追加到更大的偏移地址,或者是不同的Chunk上,即使其它的Chunk副本被Master節(jié)點(diǎn)就一致性保障模型而言,記錄追加操作成功寫入數(shù)據(jù)的region是已定義的(因此也是一致的),反之則是不一致的(因此也就是未定義的)。(2.7.2中說了程序可以處理不一致的區(qū)域)。SNIA(存儲網(wǎng)絡(luò)行業(yè)協(xié)會)對快照(Snapshot)的定義是:關(guān)于指定數(shù)據(jù)集合的一個(gè)完全可用拷貝,該拷貝包括相應(yīng)數(shù)據(jù)在某個(gè)時(shí)間點(diǎn)(拷貝開始的時(shí)間點(diǎn))的映像??煺湛梢允瞧渌硎镜臄?shù)據(jù)的一個(gè)副本,也可以是數(shù)據(jù)的一個(gè)復(fù)制品。而從具體的技術(shù)細(xì)節(jié)來講,快照是指向保存在存儲設(shè)備中的數(shù)據(jù)的引用標(biāo)記或指針。我們可以這樣理解,快照有點(diǎn)像是詳細(xì)的目錄表,但它被計(jì)算機(jī)作為完整的數(shù)據(jù)備份來對待。錄樹(“源”)做一個(gè)拷貝,并且?guī)缀醪粫姆种Э截?而且經(jīng)常是遞歸的拷貝拷貝),或者是在做實(shí)驗(yàn)性的數(shù)據(jù)操作之前,使用快快照使用的技術(shù)快照使用的是標(biāo)準(zhǔn)的COW(copy-on-write寫時(shí)復(fù)制)技術(shù)。意思上就是:在復(fù)制一個(gè)對象的時(shí)候并不是真正的把原先的對象復(fù)制到內(nèi)存的另外一個(gè)位置上,而是在新對象的內(nèi)存映射表中設(shè)置一個(gè)指針,指向源對象的位置,并把那塊內(nèi)存的Copy-On-Write位設(shè)置為1.,你才真正撿起課本看書。這就是“拖延戰(zhàn)術(shù)”,直到你非要一個(gè)存儲空間時(shí)才去聲明變量(分配內(nèi)存),這樣會得到,將真正的對象復(fù)制到新的內(nèi)存地址中,并修改新對象,如果在復(fù)制新對象之后,大部分對象都還需要繼續(xù)進(jìn)怎樣實(shí)現(xiàn)快照當(dāng)Master節(jié)點(diǎn)收到一個(gè)快照請求,它首先取消作快照的文件的所有Chunk的租約。這個(gè)措施保證了后續(xù)對這些Chunk的寫操作都必須與Ma

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論