不管在哪個時代,存儲都是非常重要的。因此,我們對于存儲應當具備一點了解。為增進大家對存儲的認識,本文將對分布式存儲、中心化存儲以及二者之間的關系予以介紹。如果你對存儲具有興趣,不妨和小編一起繼續(xù)往下閱讀哦。
分布式存儲是一種數據存儲技術,通過網絡使用企業(yè)中的每臺機器上的磁盤空間,并將這些分散的存儲資源構成一個虛擬的存儲設備,數據分散的存儲在企業(yè)的各個角落。分布式存儲系統(tǒng)需要使用多臺服務器共同存儲數據,而隨著服務器數量的增加,服務器出現故障的概率也在不斷增加。為了保證在有服務器出現故障的情況下系統(tǒng)仍然可用。一般做法是把一個數據分成多份存儲在不同的服務器中。但是由于故障和并行存儲等情況的存在,同一個數據的多個副本之間可能存在不一致的情況。這里稱保證多個副本的數據完全一致的性質為一致性。分布式存儲是相對于中心化存儲來說的,中心化存儲,也叫集中式存儲。所謂中心化存儲,從概念上可以看出來是具有集中性的,也就是整個存儲是集中在一個系統(tǒng)中的。但中心化存儲并不是一個單獨的設備,是集中在一套系統(tǒng)當中的多個設備。以一般公司中心化數據存儲為例,簡單分析下中心化存儲模式。
在這個存儲系統(tǒng)中包含很多組件,除了核心的機頭(控制器)、磁盤陣列(JBOD)和交換機等設備外,還有管理設備等輔助設備。
在中心化存儲中最重要的部件是機頭,機頭一般包含兩個控制器,這兩個控制器實現互備的作用,防止其中一個硬件故障導致整個存儲系統(tǒng)的不可用。機頭包含前后端兩個入口,通過后端端口機頭可以連接更多的存儲設備,從而形成一個非常大的存儲資源池。從上面我們可以看出中心化存儲最大的特點是有一個統(tǒng)一的入口,所有數據都要經過這個入口,數據被統(tǒng)一管理統(tǒng)一調用,這個入口就是存儲系統(tǒng)的機頭部分。
而如今分布式存儲的概念包括分布式文件系統(tǒng),分布式緩存,分布式區(qū)塊存儲等,現在簡單介紹其中分布式文件系統(tǒng)。中間控制節(jié)點架構簡稱為:HDFS,分布式存儲最核心的是基于區(qū)塊鏈去中心化的技術構架,其目的是通過廉價的服務器來提供使用與大規(guī)模、高并發(fā)場景下的Web訪問問題。
如果客戶端需要從某個文件讀取數據,首先從namenode獲取該文件的位置(具體在哪個datanode),然后從該位置獲取具體的數據。是點對點的數據傳輸和存儲,因此,通過這種分布式存儲架構可以通過橫向擴展datanode的數量來增加承載能力,也即實現了動態(tài)橫向擴展的能力,從根本上能夠防止黑客入侵,大大提高了數據的安全性能。
Ceph存儲系統(tǒng)的架構,在該架構中與HDFS不同的地方在于該架構中沒有中心節(jié)點??蛻舳耸峭ㄟ^一個設備映射關系計算出來其寫入數據的位置,這樣客戶端可以直接與存儲節(jié)點通信,從而避免中心節(jié)點的性能瓶頸。
客戶端訪問存儲的大致流程是,客戶端在啟動后會首先從Mon服務拉取存儲資源布局信息,然后根據該布局信息和寫入數據的名稱等信息計算出期望數據的位置(包含具體的物理服務器信息和磁盤信息),然后該位置信息直接通信,讀取或者寫入數據。
一致性哈希的方式就是將設備做成一個哈希環(huán),然后根據數據名稱計算出的哈希值映射到哈希環(huán)的某個位置,從而實現數據的定位。
為了保證數據分配的均勻性及出現設備故障時數據遷移的均勻性,一致性哈希將磁盤劃分為比較多的虛擬分區(qū),每個虛擬分區(qū)是哈希環(huán)上的一個節(jié)點。整個環(huán)是一個從0到32位最大值的一個區(qū)間,并且首尾相接。當計算出數據(或者數據名稱)的哈希值后,必然落到哈希環(huán)的某個區(qū)間,然后以順時針,必然能夠找到一個節(jié)點。那么,這個節(jié)點就是存儲數據的位置。
以上便是此次小編帶來的x相關內容,通過本文,希望大家對y具備一定的認知。如果你喜歡本文,不妨持續(xù)關注我們網站哦,小編將于后期帶來更多精彩內容。最后,十分感謝大家的閱讀,have a nice day!