FastDFS 分布式檔案系統

2022-10-11 11:09:13 字數 1618 閱讀 5659

fastdfs屬於應用級檔案系統,不是通用的檔案系統,只能通過專有api訪問,目前提供了c、j**a和php api為網際網路應用量身定做,解決大容量檔案儲存問題,追求高效能和高擴充套件性fastdfs可以看做是基於檔案的key value pair儲存系統,稱作分布式檔案儲存服務更為合適。

fastdfs系統由跟蹤伺服器(tracker server)、儲存伺服器(storage server)和客戶端(client)構成。

tracker server 主要做排程工作,起負載均衡的作用。在記憶體中記錄集群中所有儲存組和儲存伺服器的狀態資訊,但不記錄檔案索引資訊,占用的記憶體量很少,是客戶端和資料伺服器互動的樞紐。

tracker是fastdfs的協調者,負責管理所有的storage server和group,每個storage在啟動後會連線tracker,同步自己所屬的group等資訊,並保持週期性的心跳,tracker根據storage的心跳資訊,建立group==>[storage server list]的對映表。

tracker需要管理的元資訊很少,會全部儲存在記憶體中;另外tracker上的元資訊都是由storage匯報的資訊生成的,本身不需要持久化任何資料,這樣使得tracker非常容易擴充套件,直接增加tracker機器即可擴充套件為tracker cluster來服務,cluster裡每個tracker之間是完全對等的,所有的tracker都接受stroage的心跳資訊,生成元資料資訊來提供讀寫服務。

storage server:儲存伺服器(又稱:儲存節點或資料伺服器),主要提供容量和備份服務。檔案和檔案屬性(meta data)都儲存到儲存伺服器上。storage server直接利用os的檔案系統呼叫管理檔案。storage server(後簡稱storage)以組(卷,group或volume)為單位組織,乙個group內包含多台storage機器,資料互為備份,儲存空間以group內容量最小的storage為準,所以建議group內的多個storage盡量配置相同,以免造成儲存空間的浪費。以group為單位組織儲存能方便的進行應用隔離、負載均衡、副本數定製(group內storage server數量即為該group的副本數),比如將不同應用資料存到不同的group就能隔離應用資料,同時還可根據應用的訪問特性來將應用分配到不同的group來做負載均衡;缺點是group的容量受單機儲存容量的限制,同時當group內有機器壞掉時,資料恢復只能依賴group內的其他機器,使得恢復時間會很長。group內每個storage的儲存依賴於本地檔案系統,storage可配置多個資料儲存目錄,比如有10塊磁碟,分別掛載在/data/disk1-/data/disk10,則可將這10個目錄都配置為storage的資料儲存目錄。storage接受到寫檔案請求時,會根據配置好的規則(後面會介紹),選擇其中乙個儲存目錄來儲存檔案。為了避免單個目錄下的檔案數太多,在storage第一次啟動時,會在每個資料儲存目錄裡建立2級子目錄,每級256個,總共65536個檔案,新寫的檔案會以hash的方式被路由到其中某個子目錄下,然後將檔案資料直接作為乙個本地檔案儲存到該目錄中。

group:組, 也可稱為卷。 同組內伺服器上的檔案是完全相同的 ,同一組內的storage server之間是對等的,檔案上傳、刪除等操作可以在任意一台storage server上進行。

FastDFS分布式檔案系統

服務端兩個角色 tracker 管理集群,tracker 也可以實現集群。每個 tracker 節點地位平等。收集 storage 集群的狀態。storage 實際儲存檔案,storage 分為多個組,每個組之間儲存的檔案是不同的。每 個組內部可以有多個成員,組成員內部儲存的內容是一樣的,組成員的地...

FastDFS分布式檔案系統

fastdfs簡介 fastdfs是乙個輕量級的開源分布式檔案系統 fastdfs主要解決了大容量的檔案儲存和高併發訪問的問題,檔案訪問時實現了負載均衡 fastdfs實現了軟體方式的raid,可以使用廉價的ide硬碟進行儲存 支援相同內容的檔案只儲存乙份,節約磁碟空間 fastdfs只能通過cli...

FastDFS分布式檔案系統

fastdfs服務有三個角色 跟蹤伺服器 tracker server 儲存伺服器 storage server 和客戶端 client 總結 1.高可靠性 無單點故障 2.高吞吐性 只要group足夠多,資料流量是足夠分散的 group 中 storage 儲存依賴本地檔案系統,storage 可...