分布式儲存和計算總結

2021-06-27 23:22:21 字數 2209 閱讀 9610

ec2 是elastic compute cloud,即彈性計算雲。

s3是******storage service,全球儲存區域網路。swift

提供的服務與

amazon s3

相同,適用於許多應用場景。

dynamo:amazon雲儲存系統,是s3的理論基礎,說是它的商用。

openstack包含兩個主要模組:nova 和 swift,前者是 nasa 開發的虛擬伺服器部署和業務計算模組;後者是 rackspace開發的分布式雲儲存模組,兩者可以一起用,也可以分開單獨用。

swift:被稱為物件儲存,提供了強大的擴充套件性、冗餘和永續性。swift主要有三個組成部分:proxy server、storage server和consistencyserver採用層次資料模型,共設三層邏輯結構:account/container/object(即賬戶/容器/物件)

proxy server對於每個客戶端的請求,它將在ring中查詢account、container或object的位置,並且**使用者請求至相應的賬戶、容器或者物件服務;。

storage server:

·        賬戶服務(account server):提供賬戶元資料和統計資訊,並維護所含容器列表的服務,每個賬戶的資訊被儲存在乙個 sqlite 資料庫中。帳號伺服器與容器伺服器非常相似,除了它是負責處理容器的列表而不是物件。

·        容器服務(container server):提供容器元資料和統計資訊,並維護所含物件列表的服務,每個容器的資訊也儲存在乙個 sqlite 資料庫中。處理物件的列表。容器伺服器並不知道物件存在哪,只知道指定容器裡存的哪些物件。

·        物件服務(object server):提供物件元資料和內容服務,每個物件的內容會以檔案的形式儲存在檔案系統中,元資料會作為檔案屬性來儲存,建議採用支援擴充套件屬性的 xfs 檔案系統。物件伺服器是乙個簡單的二進位製大物件儲存伺服器,可以用來儲存、檢索和刪除本地裝置上的物件。在檔案系統上,物件以二進位制檔案的形式儲存,它的元資料儲存

在檔案系統的擴充套件屬性(xattrs)中。這要求用於物件伺服器的檔案系統需要支援檔案有擴充套件屬性。一些檔案系統,如ext3,它的xattrs屬性預設是關閉的。

每個物件使用物件名稱的雜湊值和操作的時間戳組成的路徑來儲存。

圖 1.為不同的 container 指定不同的副本數量

效能分層 例如,對於一些資料用 hdd 儲存,另一些用 ssd 儲存。也可以應用於其他儲存介質,甚至是不同的儲存裝置。

圖 2.為不同的 container 指定不同的儲存介質

地理位置約束 在某些場景下,因為公司或者國家的政策的約束,某些資料必須儲存在指定的地理位置,例如混合雲場景。有些場景下,使用者希望指定資料存放在距離訪問客戶端比較近的地方。

圖 3.為不同的 container 指定不同的儲存位置

consistencyservers的目的是查詢並解決由資料損壞和硬體故障引起的錯誤。主要存在三個server:auditor、updater和replicator。 auditor執行在每個swift伺服器的後台持續地掃瞄磁碟來檢測物件、container和賬號的完整性。如果發現資料損壞,auditor就會將該檔案移動到隔離區域,然後由replicator負責用乙個完好的拷貝來替代該資料。當物件由於高負載的原因而無法立即更新時,任務將會被序列化到在本地檔案系統中進行排隊,以便服務恢復後由updater進行非同步更新;

ring是swift最重要的元件,用於記錄儲存物件與物理位置間的對映關係。在涉及查詢account、container、object資訊時,就需要查詢集群的ring資訊。 ring使用zone、device、partition和replica來維護這些對映資訊(zone是劃分idc甚至是跨地域idc,)。ring中每個partition在集群中都(預設)有3個replica。每個partition的位置由ring來維護,並儲存在對映中。

環表示儲存在硬碟上的實體名稱和物理位置間的對映。帳號、容器、物件都有相應的環。當swift的其它元件(比如複製)要對帳號、容器或物件操作時,需要查詢相應的環來確定它在集群上的位置。環使用區域、裝置、虛節點和副本來維護這些對映資訊。環中每個虛節點在集群中都(預設)有3個副本。每個虛節點的位置由環來維護,並儲存在對映中。當**伺服器**的客戶端請求失敗時,環也負責決定 ?哪乙個裝置來接手請求。

為什麼要使用分布式儲存和分布式計算?

在這個資料 的時代,產生的資料量不斷地在攀公升,從gb,tb,pb,zb.挖掘其中資料的價值也是企業在不斷地追求的終極目標。但是要想對海量的資料進行挖掘,首先要考慮的就是海量資料的儲存問題,比如tb量級的資料。談到資料的儲存,則不得不說的是磁碟的資料讀寫速度問題。早在上個世紀90年代初期,普通硬碟的...

分布式儲存

塊儲存,檔案儲存,物件儲存區別 分布式儲存的應用場景相對於其儲存介面,現在流行分為三種 物件儲存 也就是通常意義的鍵值儲存,其介面就是簡單的get put del和其他擴充套件,如七牛 又拍 swift s3 塊儲存 這種介面通常以qemu driver或者kernel module的方式存在,這種...

分布式儲存

普通儲存 das 直連式儲存。nas 連線式儲存。san 儲存網路。大檔案分布儲存 gfs google file system google檔案系統 hdfs hadoop distributed file system hadoop分布式檔案系統 小檔案分布儲存 adfs ali distrib...