存儲(雲存儲)概述


 

 

三種存儲形態

在這里插入圖片描述

三種存儲形態和存儲架構示意圖
 

1、塊存儲

  塊存儲我們簡單的理解就是一塊一塊的硬盤,直接掛載在主機上,在主機上我們能夠看到的就是一塊塊的硬盤以及硬盤分區。從存儲架構的角度而言,塊存儲又分為DAS存儲(Direct-Attached Storage,直連式存儲)和SAN存儲(Storage Area Network,存儲區域網絡)。

2、文件存儲

  文件存儲,我們指的是在文件系統上的存儲,也就是主機操作系統中的文件系統。我們知道,文件系統中有分區,有文件夾,子文件夾,形成一個自上而下的文件結構;文件系統下的文件,用戶可以通過操作系統中的應用程序進行打開、修改等操作,如打開word、編輯word。從架構上來說,文件存儲提供一種NAS(Network Attached Storage,網絡附屬存儲)架構,使得主機的文件系統不僅限於本地的文件系統,還可以連接基於局域網的共享文件系統。

3、對象存儲

  對象存儲是面向對象/文件的、海量的互聯網存儲,它也可以直接被稱為“雲存儲”。對象盡管是文件,它是已被封裝的文件(編程中的對象就有封裝性的特點),也就是說,在對象存儲系統里,你不能直接打開/修改文件,但可以像ftp一樣上傳文件,下載文件等。另外對象存儲沒有像文件系統那樣有一個很多層級的文件結構,而是只有一個“桶”(bucket)的概念(也就是存儲空間),“桶”里面全部都是對象,是一種非常扁平化的存儲方式。其最大的特點就是它的對象名稱就是一個域名地址,一旦對象被設置為“公開”,所有網民都可以訪問到它;它的擁有者還可以通過REST API的方式訪問其中的對象。因此,對象存儲最主流的使用場景,就是存儲網站、移動app等互聯網/移動互聯網應用的靜態內容(視頻、圖片、文件、軟件安裝包等等)。

對象存儲

對象存儲需求

  隨着互聯網,Web應用創建出數百億的小文件;人們上傳海量的照片、視頻、音樂,Facebook每天都新增數十億條內容,人們每天發送數千億封電子郵件。據IDC統計未來在10年間數據將增長44倍,到2020年全球數據將增加到35ZB,其中80%是非結構化數據,且大部分是非活躍數據。

  面對如此龐大的數據量,僅具備PB級擴展能力的塊存儲(SAN)和文件存儲(NAS)顯得有些無能為力:通常塊存儲(SAN)的一個LUN容量僅數TB。單個文件系統最優性能情況下支持的文件數量通常只在百萬級別。人們需要一種全新的架構的存儲系統,這種存儲系統需要具備極高的可擴展性,能夠滿足人們對存儲容量TB到EB規模的擴展的需求。

  2006年Amazon發布AWS, S3 服務及其使用的REST、SOAP訪問接口成為對象存儲的事實標准。Amazon S3成功為對象存儲注入雲服務基因。

對象存儲含義

  存儲局域網(SAN)和網絡附加存儲(NAS)是目前兩種主流網絡存儲架構,而對象存儲(Object-based Storage)是一種新的網絡存儲架構,基於對象存儲技術的設備就是對象存儲設備(Object-based Storage Device)簡稱OSD。總體上來講,對象存儲(Object-Based Storage, OBS)綜合了NAS和SAN的優點,同時具有SAN的高速直接訪問和NAS的分布式數據共享等優勢,提供了具有高性能、高可靠性、跨平台以及安全的數據共享的存儲體系結構。
  對象存儲核心是將數據通路(數據讀或寫)和控制通路(元數據)分離,並且基於對象存儲設備(OSD)構建存儲系統,每個對象存儲設備具有一定的智能,能夠自動管理其上的數據分布。

  對象存儲是一種基於對象的存儲設備,具備智能、自我管理能力,通過web服務協議(如:REST、SOAP)實現對象的讀寫和存儲資源的訪問。

  對象存儲系統包含兩種數據描述:容器(Bucket)、對象(Object)。容器和對象都有一個全局唯一的ID。對象存儲采用扁平化結構管理所有數據,用戶/應用通過接入碼(AccessKey)認證后,只需要根據ID就可以訪問容器/對象及相關的數據(Data)、元數據(metadata)和對象屬性(Attribute)。

對象存儲與傳統網絡存儲的區別

  對象存儲在很多重要方面與SAN和NAS迥然不同,對存儲管理員而言最顯著的區別在於對象存儲沒有LUNs,卷以及RAID等要素。對象數據不是存儲在固定的塊,而是在大小可變的“容器”里。鑒於元數據(metadata)和數據本身可通過傳統數據訪問方法進行訪問,對象存儲允許數據被直接訪問。此外,支持對象級和命令級的安全策略設置。


擴展知識:NAS與SAN概述

1、NAS(Network Attached Storage)

  NAS(Network Attached Storage:網絡附屬存儲)按字面簡單說就是連接在網絡上,具備資料存儲功能的裝置,因此也稱為“網絡存儲器”。它是一種專用數據存儲服務器。它以數據為中心,將存儲設備與服務器徹底分離,集中管理數據,從而釋放帶寬、提高性能、降低總擁有成本、保護投資。其成本遠遠低於使用服務器存儲,而效率卻遠遠高於后者。
  它采用NFS或CIFS命令集訪問數據,以文件為傳輸協議,通過TCP/IP實現網絡化存儲,可擴展性好、價格便宜、用戶易管理,如目前在集群計算中應用較多的NFS文件系統,但由於NAS的協議開銷高、帶寬低、延遲大,不利於在高性能集群中應用。

優點

  NAS產品是真正即插即用的產品。NAS設備一般支持多計算機平台,用戶通過網絡支持協議可進入相同的文檔,因而NAS設備無需改造即可用於混合Unix/Windows NT局域網內。   
  NAS設備的物理位置同樣是靈活的。它們可放置在工作組內,靠近數據中心的應用服務器,或者也可放在其他地點,通過物理鏈路與網絡連接起來。無需應用服務器的干預,NAS設備允許用戶在網絡上存取數據,這樣既可減小CPU的開銷,也能顯著改善網絡的性能。

局限

  NAS沒有解決與文件服務器相關的一個關鍵性問題,即備份過程中的帶寬消耗。與將備份數據流從LAN中轉移出去的存儲區域網(SAN)不同,NAS仍使用網絡進行備份和恢復。NAS 的一個缺點是它將存儲事務由並行SCSI連接轉移到了網絡上。這就是說LAN除了必須處理正常的最終用戶傳輸流外,還必須處理包括備份操作的存儲磁盤請求。
  由於存儲數據通過普通數據網絡傳輸,因此易受網絡上其它流量的影響。當網絡上有其它大數據流量時會嚴重影響系統性能;由於存儲數據通過普通數據網絡傳輸,因此容易產生數據泄漏等安全問題;
  存儲只能以文件方式訪問,而不能像普通文件系統一樣直接訪問物理數據塊,因此會在某些情況下嚴重影響系統效率,比如大型數據庫就不能使用NAS。

2、SAN(Storage Area Network and SAN Protocols)

  存儲區域網絡(Storage Area Network and SAN Protocols,簡寫SAN,即存儲區域網絡及其協議)是一種高速網絡或子網絡,提供在計算機與存儲系統之間的數據傳輸。存儲設備是指一台或多台用以存儲計算機數據的磁盤設備,通常指磁盤陣列。存儲區域網絡能夠使用多種技術,這就使得系統間的數據備份、操作、文件轉移和數據復制很容易實現重定向。

優點

  SAN提供了一種與現有LAN連接的簡易方法,並且通過同一物理通道支持廣泛使用的SCSI和IP協議。SAN不受現今主流的、基於SCSI存儲結構的布局限制。特別重要的是,隨着存儲容量的爆炸性增長,SAN允許企業獨立地增加它們的存儲容量。 SAN的結構允許任何服務器連接到任何存儲陣列,這樣不管數據置放在那里,服務器都可直接存取所需的數據。因為采用了光纖接口,SAN還具有更高的帶寬。 因為SAN解決方案是從基本功能剝離出存儲功能,所以運行備份操作就無需考慮它們對網絡總體性能的影響。SAN方案也使得管理及集中控制實現簡化,特別是對於全部存儲設備都集群在一起的時候。最后一點,光纖接口提供了10公里的連接長度,這使得實現物理上分離的、不在機房的存儲變得非常容易。

局限

  成本和復雜性,特別是在光纖信道中這些缺陷尤其明顯。使用光纖信道的情況下,合理的成本大約是1千兆或者兩千兆大概需要五萬到六萬美金。從另一個角度來看,雖然新推出的基於iSCSI的SAN解決方案大約只需要兩萬到三萬美金,但是其性能卻無法和光纖信道相比較。在價格上的差別主要是由於iSCSI技術使用的是現在已經大量生產的吉比特以太網硬件,而光纖通道技術要求特定的價格昂貴的設備。

對象存儲的特性

  對象存儲是一種基於對象的存儲設備,具備智能、自我管理能力,通過web服務協議(如:REST、SOAP)實現對象的讀寫和存儲資源的訪問。

  對象存儲系統包含兩種數據描述:容器(Bucket)、對象(Object)。容器和對象都有一個全局唯一的ID。對象存儲采用扁平化結構管理所有數據,用戶/應用通過接入碼(AccessKey)認證后,只需要根據ID就可以訪問容器/對象及相關的數據(Data)、元數據(metadata)和對象屬性(Attribute)。

在這里插入圖片描述

對象存儲數據組織示意圖
 

  對象存儲對外提供更抽象的對象接口,而不是SCSI或文件接口。與SAN存儲以邏輯扇區為單位的較細粒度的固定IO(512B~4KB)不同,對象存儲IO粒度更有彈性,支持幾個字節(B)到數萬億字節(TB)范圍內的任意對象大小,使得業務可根據需要靈活的分割數據。

  對象存儲以對象ID為基礎,扁平化的管理所有對象和桶,根據對象ID便可直接訪問數據,解決了NAS復雜的目錄樹結構在海量數據情況下的數據查找耗時長的問題,這使得對象存儲具備極強的擴展性,能夠輕松實現單一名字空間內支持百億級文件的存儲。

  在重復數據刪除,綠色節能等特性基礎上,為了更好的滿足海量數據存儲和公眾雲服務需求,對象存儲系統還包括如下一些關鍵特性:

1、優秀的擴展性

  扁平化的數據結構允許對象存儲容量從TB級擴展到EB級,管理數十個到百億個存儲對象,支持從數字節(Byte)到數萬億字節(TB)范圍內的任意大小對象,解決了文件系統復雜的iNode的機制帶來的擴展性瓶頸,並使得對象存儲無需像SAN存儲那樣管理數量龐大的邏輯單元號(LUN)。對象存儲系統通常在一個橫向擴展(或網格硬件)架構上構建一個全局的命名空間,這使得對象存儲非常適用在雲計算環境中使用。某些對象存儲系統還可支持升級、擴容過程中業務零中斷。

2、基於策略的自動化管理

  由於雲環境中的數據往往是動態、快速增長的,所以基於策略的自動化將變得非常重要。對象存儲支持從應用角度基於業務需求設置對象/容器的屬性(元數據)策略,如數據保護級別,保留期限,合規狀況,遠程復制的份數等。這使得對象存儲具備雲的自服務特征同時,有效的降低運維管理的成本,使得客戶在存儲容量從TB增長到ZB時,運維管理成本不會隨之飆升。

3、多租戶技術

  多租戶特性可以使用同一種架構,同一套系統為不同用戶和應用提供存儲服務,並分別為這些用戶和應用設置數據保護、數據存儲策略,並確保這些數據之間相互隔離。

擴展知識:多租戶技術介紹

多租戶架構淺析

  多租戶技術(英語:multi-tenancy technology)或稱多重租賃技術,是一種軟件架構技術,它是在探討與實現如何於多用戶的環境下共用相同的系統或程序組件,並且仍可確保各用戶間數據的隔離性。

  雲計算可以划分為以下幾個層次的服務——IaaS、PaaS和SaaS,而今天我們今天講的多租戶架構就是一種常見的 SaaS 軟件架構模式。多租戶技術是實現如何在多用戶環境下(此處的多用戶一般是面向企業用戶)共用相同的系統或程序組件,並且可確保各用戶間數據的隔離性。 簡單講:在一台服務器上運行單個應用實例,它為多個租戶(客戶)提供服務。從定義中我們可以理解:多租戶是一種架構,目的是為了讓多用戶環境下使用同一套程序,且保證用戶間數據隔離。那么重點就很淺顯易懂了,多租戶的重點就是同一套程序下實現多用戶數據的隔離。

對象存儲結構

Alt

對象存儲結構
 

  對象存儲結構由 對象、對象存儲設備、元數據服務器、對象存儲系統的客戶端 四部分組成。

1、對象(Object)

  對象(Object)是系統中數據存儲的基本單位,一個對象實際上就是文件的數據和一組屬性信息(Meta Data)的組合,每個對象是數據和數據屬性集的綜合體,數據屬性可以根據應用的需求進行設置,包括數據分布、服務質量等。在傳統的存儲系統中用文件或塊作為基本的存儲單位,塊設備要記錄每個存儲數據塊在設備上的位置。對象維護自己的屬性,從而簡化了存儲系統的管理任務,增加了靈活性。對象的大小可以不同,可以包含整個數據結構,如文件、數據庫表項等。在存儲設備中,所有對象都有一個對象標識,通過對象標識OSD命令訪問該對象。通常有多種類型的對象,存儲設備上的根對象標識存儲設備和該設備的各種屬性,組對象是存儲設備上共享資源管理策略的對象集合等。

在這里插入圖片描述

傳統塊存儲和對象存儲示意圖
 

在這里插入圖片描述

對象存儲中對象(Object)的組成
 

2、對象存儲設備

  每個OSD都是一個智能設備,具有自己的存儲介質、處理器、內存以及網絡系統等,負責管理本地的Object,是對象存儲系統的核心。OSD同塊設備的不同不在於存儲介質,而在於兩者提供的訪問接口。OSD的主要功能包括數據存儲和安全訪問。目前國際上通常采用刀片式結構實現對象存儲設備。OSD提供三個主要功能:

  1. 數據存儲。OSD管理對象數據,並將它們放置在標准的磁盤系統上,OSD不提供塊接口訪問方式,Client請求數據時用對象ID、偏移進行數據讀寫。
  2. 智能分布。OSD用其自身的CPU和內存優化數據分布,並支持數據的預取。由於OSD可以智能地支持對象的預取,從而可以優化磁盤的性能。
  3. 每個對象元數據的管理。OSD管理存儲在其上對象的元數據,該元數據與傳統的inode元數據相似,通常包括對象的數據塊和對象的長度。而在傳統的NAS系統中,這些元數據是由文件服務器維護的,對象存儲架構將系統中主要的元數據管理工作由OSD來完成,降低了Client的開銷。

在這里插入圖片描述

傳統模型與OSD模型示意
 

3、元數據服務器(Metadata Server,MDS)

  MDS控制Client與OSD對象的交互,為客戶端提供元數據,主要是文件的邏輯視圖,包括文件與目錄的組織關系、每個文件所對應的OSD等。主要提供以下幾個功能:

  1. 對象存儲訪問。MDS構造、管理描述每個文件分布的視圖,允許Client直接訪問對象。MDS為Client提供訪問該文件所含對象的能力,OSD在接收到每個請求時將先驗證該能力,然后才可以訪問。
  2. 文件和目錄訪問管理。MDS在存儲系統上構建一個文件結構,包括限額控制、目錄和文件的創建和刪除、訪問控制等。
  3. Client Cache一致性。為了提高Client性能,在對象存儲系統設計時通常支持Client方的Cache。由於引入Client方的Cache,帶來了Cache一致性問題,MDS支持基於Client的文件Cache,當Cache的文件發生改變時,將通知Client刷新Cache,從而防止Cache不一致引發的問題。

4、對象存儲系統的客戶端(Client)

  為了有效支持Client支持訪問OSD上的對象,需要在計算節點實現對象存儲系統的Client。現有的應用對數據的訪問大部分都是通過POSIX文件方式進行的,對象存儲系統提供給用戶的也是標准的POSIX文件訪問接口。接口具有和通用文件系統相同的訪問方式,同時為了提高性能,也具有對數據的Cache功能和文件的條帶功能。同時,文件系統必須維護不同客戶端上Cache的一致性,保證文件系統的數據一致。文件系統讀訪問流程:

  • 1)客戶端應用發出讀請求;
  • 2)文件系統向元數據服務器發送請求,獲取要讀取的數據所在的OSD;
  • 3)然后直接向每個OSD發送數據讀取請求;
  • 4)OSD得到請求以后,判斷要讀取的Object,並根據此Object要求的認證方式,對客戶端進行認證,如果此客戶端得到授權,則將Object的數據返回給客戶端;
  • 5)文件系統收到OSD返回的數據以后,讀操作完成。

對象存儲應用場景

  通常,無論是虛擬主機還是獨立雲主機,作為個人網站都會把所有的圖片都存儲在空間里,這樣有一下幾個問題:

  1. 隨着網站的運行,圖片越來越多,會導致主機的空間使用越來越多;
  2. 圖片的增多會導致網站頁面打開速度越來越慢,因為越來越多的圖片需要從服務器上下載到本地瀏覽器的緩存目錄,這樣需要越來越多的寬帶,而虛擬主機或雲主機通常的寬帶都是限定的;
  3. 網站遷移的成本越來越大。

  如果使用了雲存儲,這樣可以把圖片存儲在第三方,所有的圖片都不會再消耗虛擬主機的寬帶資源和磁盤資源,保證網站訪問速度不受影響,遷移網站只需要遷移數據庫和基本程序文件即可,基本上幾十M就可以打包所有的文件,所以雲存儲的好處顯而易見。

  • 應用場景一:

  如果您的網站有大量的圖片,如果都存儲在本地,需要大量的磁盤空間,雖然現在磁盤空間的價格已經很低,但是用戶訪問卻需要大量的寬帶,超過10G的圖片,主機寬帶10M是不夠的,而10M的雲主機每年的價格8000左右,隨着年限的增長,雲主機需要的硬件和寬帶需求會越來越多,那么網站基本成本支出也會越來越搞,如果把所有的圖片都存儲在雲存儲里,每年主機成本可以降低2/3,甚至更多。

  • 應用場景二:

  視頻存儲的問題,可以選擇把視頻存儲在專門的視頻網站,比如優酷,騰訊視頻,愛奇藝等,但是這樣的問題是,所有的視頻都會被視頻網站加上播放前的貼片廣告,這樣其實非常不友好,給客戶看的視頻,還要先看幾十秒甚至2分鍾廣告,這有點尷尬了,但是如果放網站上,會出現磁盤和寬帶不足的情況,如果上傳到雲存儲上,設置好偽靜態和防止BT軟件下載,這樣就非常好了。

    • 應用場景三:
        電商、互聯網金融、在線教育等行業的Web和移動應用,架構里有數據庫、應用服務器、負載均衡的應用,另外還需要存儲比如商品圖片,互聯網金融行業的用戶證件照,在線交易視頻等文件等,需要存儲,此前的做法是搭建文件服務器,文件服務器的擴展性、並發性都有問題,這時候就需要用到對象存儲。

    • 應用場景四:
        企業網盤,其后端就是對象存儲。企業遍布各地的各個部門文檔都在用企業網盤,分享和管理文件,企業網盤可以非常容易地分享給特定的個人,群組或部門。企業網盤是單獨的市場,與個人網盤有很大區別,企業對訪問權限認證的管理更細致,數據管理要求更高。

 

http://www.chinastor.com/a/jishu/OSD.html
https://blog.csdn.net/liuaigui/article/details/17973039
https://www.wopus.org/tools/4868.html
http://storage.chinabyte.com/145/12496645.shtml

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM