常用的分布式文件存儲(chǔ)
GFS制圈、HDFS们童、Lustre 、Ceph 鲸鹦、GridFS 慧库、mogileFS、TFS馋嗜、FastDFS等齐板。各自適用于不同的領(lǐng)域。它們都不是系統(tǒng)級的分布式文件系統(tǒng)葛菇,而是應(yīng)用級的分布式文件存 儲(chǔ)服務(wù)甘磨。
一、專用分布式存儲(chǔ)系統(tǒng)
1眯停、最早的分布式系統(tǒng):Google File System: GFS Google的第一代分布式系統(tǒng)
Google公司為了滿足本公司需求而開發(fā)的基于Linux的專有分布式文件系統(tǒng)济舆。一 個(gè)GFS集群由一個(gè)master和大量的chunkserver構(gòu)成,并被許多客戶(Client)訪問莺债。
一個(gè)GFS包括一個(gè)主服務(wù)器(master)和多個(gè)塊服務(wù)器(chunk server)滋觉,這樣一個(gè)GFS能夠同時(shí)為多個(gè)客戶端應(yīng)用程序(Application)提供文件服務(wù)。文件被劃分為固定的塊齐邦,由主服務(wù)器安排存放到塊服務(wù)器的本地硬盤上椎侠。主服務(wù)器會(huì)記錄存放位置等數(shù)據(jù),并負(fù)責(zé)維護(hù)和管理文件系統(tǒng)措拇,包括塊的租用我纪、垃圾塊的回收以及塊在不同塊服務(wù)器之間的遷移。此外丐吓,主服務(wù)器還周期性地與每個(gè)塊服務(wù)器通過消息交互宣羊,以監(jiān)視運(yùn)行狀態(tài)或下達(dá)命令。應(yīng)用程序通過與主服務(wù)器和塊服務(wù)器的交互來實(shí)現(xiàn)對應(yīng)用數(shù)據(jù)的讀寫汰蜘,應(yīng)用與主服務(wù)器之間的交互僅限于元數(shù)據(jù),也就是一些控制數(shù)據(jù)之宿,其他的數(shù)據(jù)操作都是直接與塊服務(wù)器交互的族操。這種控制與業(yè)務(wù)相分離的架構(gòu),在互聯(lián)網(wǎng)產(chǎn)品方案上較為廣泛比被,也較為成功色难。
2、Hadoop Distributed FileSystem 仿照google分布式系統(tǒng)
Hadoop 實(shí)現(xiàn)了一個(gè)分布式文件系統(tǒng)(Hadoop Distributed File System)等缀,簡稱HDFS枷莉。 Hadoop是Apache Lucene創(chuàng)始人Doug Cutting開發(fā)的使用廣泛的文本搜索庫。
Hadoop 由許多元素構(gòu)成尺迂。其最底部是 Hadoop Distributed File System(HDFS)笤妙,它存儲(chǔ) Hadoop 集群中所有存儲(chǔ)節(jié)點(diǎn)上的文件冒掌。HDFS的上一層是MapReduce引擎,該引擎由 JobTrackers 和 TaskTrackers 組成蹲盘。通過對Hadoop分布式計(jì)算平臺(tái)最核心的分布式文件系統(tǒng)HDFS股毫、MapReduce處理過程,以及數(shù)據(jù)倉庫工具Hive和分布式數(shù)據(jù)庫Hbase的介紹召衔,基本涵蓋了Hadoop分布式平臺(tái)的所有技術(shù)核心铃诬。
HDFS對外部客戶機(jī)而言,就像一個(gè)傳統(tǒng)的分級文件系統(tǒng)苍凛∪は可以創(chuàng)建、刪除醇蝴、移動(dòng)或重命名文件宣肚,等等。但是 HDFS 的架構(gòu)是基于一組特定的節(jié)點(diǎn)構(gòu)建的哑蔫,這是由它自身的特點(diǎn)決定的钉寝。這些節(jié)點(diǎn)包括 NameNode(僅一個(gè)),它在 HDFS 內(nèi)部提供元數(shù)據(jù)服務(wù)闸迷;DataNode嵌纲,它為 HDFS 提供存儲(chǔ)塊。由于僅存在一個(gè) NameNode腥沽,因此這是 HDFS 的一個(gè)缺點(diǎn)(單點(diǎn)失敶摺)。
存儲(chǔ)在 HDFS 中的文件被分成塊今阳,然后將這些塊復(fù)制到多個(gè)計(jì)算機(jī)中(DataNode)师溅。這與傳統(tǒng)的 RAID 架構(gòu)大不相同。塊的大卸苌唷(通常為 64MB)和復(fù)制的塊數(shù)量在創(chuàng)建文件時(shí)由客戶機(jī)決定墓臭。NameNode 可以控制所有文件操作。HDFS 內(nèi)部的所有通信都基于標(biāo)準(zhǔn)的 TCP/IP協(xié)議妖谴。
3窿锉、TFS:Taobao Filesystem 淘寶分布式系統(tǒng)
- TFS(Taobao FileSystem)是一個(gè)高可擴(kuò)展、高可用膝舅、高性能嗡载、面向互聯(lián)網(wǎng)服務(wù)的分布式文件系統(tǒng),主要針對海量的非結(jié)構(gòu)化數(shù)據(jù)仍稀,它構(gòu)筑在普通的Linux機(jī)器 集群上洼滚,可為外部提供高可靠和高并發(fā)的存儲(chǔ)訪問。
- TFS為淘寶提供海量小文件存儲(chǔ)技潘,通常文件大小不超過1M遥巴,滿足了淘寶對小文件存儲(chǔ)的需求千康,被廣泛地應(yīng)用 在淘寶各項(xiàng)應(yīng)用中。它采用了HA架構(gòu)和平滑擴(kuò)容挪哄,保證了整個(gè)文件系統(tǒng)的可用性和擴(kuò)展性吧秕。同時(shí)扁平化的數(shù)據(jù)組織結(jié)構(gòu),可將文件名映射到文件的物理地址迹炼,簡化 了文件的訪問流程砸彬,一定程度上為TFS提供了良好的讀寫性能。
4斯入、GlusterFS 去中心化設(shè)計(jì)分布式系統(tǒng)
Glusterfs是一個(gè)開源的分布式文件系統(tǒng),是Scale存儲(chǔ)的核心,能夠處理千數(shù)量級的客戶端.在傳統(tǒng)的解決 方案中能夠靈活的結(jié)合物理的,虛擬的和云資源去體現(xiàn)高可用和企業(yè)級的性能存儲(chǔ).
Glusterfs通過TCP/IP或InfiniBand RDMA網(wǎng)絡(luò)鏈接將客戶端的存儲(chǔ)資塊源聚集在一起,使用單一的全局命名空間來管理數(shù)據(jù),磁盤和內(nèi)存資源.
Glusterfs基于堆疊的用戶空間設(shè)計(jì),可以為不同的工作負(fù)載提供高優(yōu)的性能.
Glusterfs支持運(yùn)行在任何標(biāo)準(zhǔn)IP網(wǎng)絡(luò)上標(biāo)準(zhǔn)應(yīng)用程序的標(biāo)準(zhǔn)客戶端砂碉,用戶可以在全局統(tǒng)一的命名空間中使用NFS/CIFS等標(biāo)準(zhǔn)協(xié)議來訪問應(yīng)用數(shù)據(jù).
5、Lustre HPC
一個(gè)具有高性能刻两、支持高并發(fā)讀寫增蹭、文件共享的存儲(chǔ)系統(tǒng)。Lustre在HPC領(lǐng)域被廣泛使用磅摹,由于Lustre文件系統(tǒng)本身無數(shù)據(jù)安全機(jī)制滋迈,必須構(gòu)建于穩(wěn)定的磁盤陣列之上,通過硬件的穩(wěn)定性來解決數(shù)據(jù)的安全性户誓。
硬件層面可以從兩個(gè)方面來保證數(shù)據(jù)的安全性饼灿。系統(tǒng)由RAID組、節(jié)點(diǎn)冗余組成帝美。這里節(jié)點(diǎn)冗余包括MDS和OSS節(jié)點(diǎn)碍彭,2個(gè)MDS節(jié)點(diǎn)互為active/stanby模式,兩個(gè)OSS節(jié)點(diǎn)均為active模式悼潭”蛹桑基本上實(shí)現(xiàn)數(shù)據(jù)訪問不中斷。
6舰褪、Ceph內(nèi)核級別構(gòu)建分布式存儲(chǔ)系統(tǒng)
- Ceph是可靠的皆疹、可擴(kuò)展的、統(tǒng)一的占拍、分布式的存儲(chǔ)系統(tǒng)墙基。可以同時(shí)提供對象存儲(chǔ)RADOSGW(Reliable刷喜、Autonomic、Distributed立砸、Object Storage Gateway)掖疮、塊存儲(chǔ)RBD(Rados Block Device)、文件系統(tǒng)存儲(chǔ)Ceph FS(Ceph Filesystem)3種功能颗祝。
- Ceph可以提供對象存儲(chǔ)浊闪、塊設(shè)備存儲(chǔ)和文件系統(tǒng)服務(wù)恼布,其對象存儲(chǔ)可以對接網(wǎng)盤(owncloud)應(yīng)用業(yè)務(wù)等;其塊設(shè)備存儲(chǔ)可以對接(IaaS)搁宾,當(dāng)前主流的IaaS運(yùn)平臺(tái)軟件折汞,如:OpenStack、CloudStack盖腿、Zstack爽待、Eucalyptus等以及kvm等。
二翩腐、輕量級分布式存儲(chǔ)
1鸟款、Mogile Filesystem 分布式存儲(chǔ) perl語言研發(fā)
2、Moose Filesystem (MFS)
3茂卦、fastDFS 國內(nèi)開源項(xiàng)目 C語言研發(fā)
參考鏈接:
https://blog.csdn.net/qq_15103197/article/details/82876688
https://blog.csdn.net/xuensong520/article/details/48269477