天天看點

盤點對象存儲九大關鍵點

 有評論表示,對象存儲是一個相對新的市場部分,目前繼續穩步增長,并有更多值得采用的理由。

盤點對象存儲九大關鍵點

對于不了解的人來說,對象存儲用于儲存大量的非結構化資料,其中每個“對象”本質上是沒有特定格式的檔案(也稱為二進制檔案)。對象存儲可以儲存任何類型的資料,從人類可讀的小對象檔案到媒體(音頻和視訊)或其他行業特定的格式(石油和天然氣,醫學成像等)。

與傳統存儲相比,使用對象存儲的好處是多方面的。基于塊的系統(例如光纖通道和iscsi)不能很好地向外擴充,并且對存儲的資料沒有真正的了解。它們是以低延遲和高粒度提供内容的“啞”塊裝置。檔案系統将一些結構放在資料上,将檔案對象放入層次結構(檔案夾/目錄)中并将中繼資料附加到這些對象上。然而,中繼資料通常僅基于存儲檔案所需要的資訊(建立時間、時間更新、通路規則)。

對象存儲進一步進行并删除檔案夾層次結構。對象存儲有通常可高度搜尋的可擴充中繼資料。在規模方面,對象存儲可以增長到多個(即使不是幾百個)pb,通常對資料地理沒有限制。對象存儲的使用正在企業中被采用,因為平台提供了優于傳統形式的存儲優點。基于塊的存儲陣列不能很好地進行擴充,并且具有大量的hdd和ssd資料保護(例如raid)問題。

基于檔案的系統受到檔案系統本身可擴充性的限制,無論是在對象計數、并發或并行通路以及恢複時間方面,以檢查檔案系統結構的一緻性。對象存儲代表一種更簡單,更可擴充的解決方案,并且可以通過标準的基于網絡的協定輕松通路。

對于尋求采用對象存儲的it組織來說,最大的挑戰是選擇如何使用平台以及如何評估供應商的産品。對象存儲使用基于web的協定,是以需要一定程度的編碼才能使用。這正在發生改變,我們将在後面進行讨論。

從特性的角度來看,對象存儲有許多方面使得一個平台比另一個平台更合适。在本文的剩餘部分,我們将從識别、分類和描述方面對适合it組織的對象存儲平台進行尋找。

可擴充性 - 大和小

如已經讨論的,對象存儲被設計為比諸如橫向擴充nas的傳統資料存儲個更進一步的擴充。供應商産品具有多個pb級的功能,可以存儲數十億個對象。然而,實作高可擴充性不僅僅是簡單地測量對象計數和資料量。 注意事項包括:

對象大小。對象存儲如何處理小和大對象?如何處理小對象?

容量限制。容量是否有真正的限制? 容量增長是否需要添加更多的硬體或軟體節點? 我可以簡單地擴充存儲嗎?

分層和緩存。對象存儲如何管理資料分層?随着容量的增長,自然地大量資料将是非活動的,并且提供了存檔到更廉價的媒介的機會。在這一點上,分層成為一個關鍵的能力。閃存媒體還可用于在用作緩存或分層時提高性能。

中繼資料管理。随着對象存儲的增長,中繼資料管理得如何?對象存儲的大小是否影響搜尋的性能?

對象通路。随着對象存儲的增長,任何單獨對象的通路時間是否增加(希望不是所有)?

最後一點對于建構可以并行地提供對許多對象存儲/檢索請求的通路的對象存儲(例如用作cdn網絡的後端系統)特别重要。增加對象存儲中的對象數量,而不應顯著增加檢索時間,或更重要的是“到第一個位元組的時間”,這是從接收點開始将對象流回請求者所花費的時間請求。

當然,我們不應該忘記對象存儲可能啟動時需要的規模很小,不需要具有幾百tb或pb級的初始占用。 具有小型入門級功能的能力,有助于減少對象存儲采用的進入障礙,增加的需求是能夠以最小的操作影響提供從小到大的線性擴充。

資料保護

資料保護的概念涵蓋了對象存儲中的許多方面。與傳統的“主”存儲相比,對象存儲可能用于長期保留資料,是以資料持久性成為一個重要因素。我們可以将持久性視為需要確定由于一系列錯誤(包括硬體讀取失敗和資料損壞)而對正在存儲的資料不發生邏輯損壞。

與四分之一個世紀前使用的裝置相比,現代硬碟驅動器非常可靠。盡管如此,驅動器仍然遭受讀取錯誤和其他的瞬态問題。對象存儲應該執行一系列磁盤管理功能,包括資料清理、crc檢查和損壞或不一緻資料的重建。這些背景任務表示,在需要長期保留至關重要的情況下保持資料健康的過程。

第二個要考慮的是硬體故障保護。大多數現代存儲陣列實作raid(廉價磁盤備援陣列)作為從硬體故障導緻的丢失中恢複資料的方法,随着資料量開始上升,raid存在可擴充性問題。存儲供應商已實作雙重甚至三重奇偶校驗,以防止大型硬碟容量的多個驅動器故障。但是,延長的驅動器重建時間使得raid對于對象存儲中的大量資料不切實際。

替代方案是使用擦除編碼方案來保護資料。擦除編碼描述了将資料劃分和變換為多個備援片段的過程,其中恢複原始資訊所需為最小計數。例如,編碼方案可以将資料翻譯成12個,重建原始資料所需為任意8個。這12個可以分布在多個驅動器,伺服器/節點或甚至地理上以提供高彈性。在12/8方案中,跨越三個位置的分布資料意味着可以容忍任何一個位置的丢失。

對象存儲應根據客戶需要提供具有可變保護值的擦除編碼。由于擦除編碼具有能夠顯著的處理開銷,是以raid還可以用于保護較小的對象并改善通路性能。如果資料在地理上分布的情況下,重建對網絡的影響變得重要。是以,擦除編碼系統的具體實作(以及在wan上檢索資料的需要)将直接影響恢複時間和客戶sla(服務水準協定)。當本地lan延遲較高時,也會發生此問題 - 任何基于分布式網絡的恢複将始終受到網絡性能的影響。快速恢複非常重要,因為不受保護的資料需要快速重新保護,以避免潛在的資料丢失。

搜尋、索引和中繼資料

在對象存儲中搜尋和檢索資料的能力是最關鍵的要求之一。與結構化資料(如資料庫和檔案系統)相比,對象存儲将資料儲存在平面層次結構中,隻有少量的邏輯或實體分隔(例如存儲桶或池)。這意味着存儲的每個對象都需要有大量的資訊,以便于資料檢索。

對象存儲通常使用兩種方法之一存儲資料;最終使用者設定對象的名稱(可能看起來像标準檔案名),或者使用系統生成的對象id(oid)存儲和通路對象。 oid通常是字元和數字的長字元串,由對象存儲庫本身随機生成。

在使用oid的情況下,中繼資料是關鍵的。 對象存儲使用者還可以維護對象id及其使用的單獨資料庫。中繼資料提供關于對象本身(系統中繼資料)的資訊,例如對象大小、通路權限、建立對象的使用者等。使用者中繼資料擴充每個對象存儲的資訊,并且是用于傳遞搜尋和索引能力的應用程式特定資訊。

中繼資料搜尋的性能應該獨立于存儲在對象存儲本身中的資料量。這是管理可擴充性的關鍵要求。

性能

在我們對需求的讨論中,性能是實作可擴充性、資料保護和搜尋的主題。當對象存儲首次開發時,性能的想法不是一個關鍵考慮,因為許多對象存儲隻是用作長期存檔或備份存儲庫。越來越多的對象平台被用于更活躍的資料,作為活動存檔或用于媒體和其他流式内容的存儲庫。

結果是需要對象存儲平台提供高吞吐量、線性擴充性能和處理高水準的并發請求。在将對象平台用作cdn(内容傳遞網絡)或其他軟體即服務(saas)解決方案的後備存儲時,并發性的需要尤為重要。并發意味着能夠同時傳輸許多對象,并能夠每秒處理大量的單獨請求。在度量方面,典型的測量基于iops(每秒i / o)和吞吐量(mb/sec or gb/sec)。

安全

與任何資料存儲一樣,安全是一個關鍵特性。在對象存儲中,安全特性涵蓋了許多方面。

由于資料量可能保留在對象存儲中,多租戶變得非常重要。業務使用者(組織中的單獨部門或單獨的組織)希望知道他們的資料與其他人的通路隔離。這意味着具有單獨的安全憑證,并為每個客戶或對象提供加密密鑰。

對象存儲通常通過在對對象存儲本身的http調用上提供的認證密鑰來提供對資料的通路。這些密鑰是憑據,而不是典型的使用者/密碼組合,因為資料可以通過公共網際網路傳遞。管理憑證的更廣泛的任務是身份管理功能的一部分,也可以內建到标準平台,如ldap和microsoft active directory。

将通過通路控制清單配置設定對單個對象或存儲的通路,這些清單确定對資料的單個或組級通路。許多對象存儲将允許通過用于存儲和檢索資料的相同的基于web的rest接口來設定和管理通路控制。

除了管理身份之外,必須通過資料加密提供安全性,無論是在飛行還是在休息。通常,使用tls(例如https)在協定級實作飛行中保護。休息時,應對資料進行加密,以防止在實體伺服器級别或驅動器/裝置級别直接通路。加密的具體點或實作可以取決于最終使用者想要如何管理加密密鑰。資料可以在添加到對象存儲之前或同時進行加密。

合規性和審計

合規性是資料安全的另一個方面,重點是滿足特定受控行業(如醫療保健和金融)中保留資料的監管要求。 通常,相容系統需要能夠提供資料的不可變性,提供對象版本控制(是以可以跟蹤改變),實作對象鎖定或worm(一次讀取多次),再次用于不可變資料。與塊和基于檔案的系統相比,大多數對象庫不更新資料。這提供了一定程度的控制,符合合規性的要求。

審計對合規性進行了補充,提供了一個顯示資料如何存儲在對象存儲系統中的跟蹤。審計跟蹤還可以提供附加資訊,例如層之間的資料遷移,内容的校驗和驗證(以確定沒有篡改)以及對單個資料對象或桶的所有通路。

部署模型

對象存儲已經走向軟體定義存儲或sds的前沿。 大型橫向擴充部署的性質意味着對象庫與商品硬體和供應商提供的軟體的成本模型能夠進行很好地協作。 是以,我們看到許多基于軟體的對象存儲的實作。

使用商品硬體,當然不适合所有要求。許多潛在客戶可能不願或無法管理采購和建構定制對象存儲解決方案的過程,而甯願從供應商處擷取組合的硬體和軟體解決方案。在這種情況下,供應商需要提供裝置以滿足客戶的需求,可能與已經在客戶的資料中心中的伺服器和存儲供應商進行了合作。為什麼? 因為支援模型,内部技能和部署藍圖需要基于首選的硬體供應商。為了最大的靈活性,供應商可能提供三種選擇:

僅軟體 - 作為vsa(虛拟儲存設備)或本地部署到硬體上。

裝置 - 專用硬體裝置,建構為白盒或與主要硬體提供商之一所進行配合使用。

雲 - 作為公共雲中的執行個體部署。 對于每個選項,客戶應該期望完全的互操作性和一緻的管理接口。

協定支援和标準

初始對象存儲基于http(s)協定,使用基于rest的api調用來存儲和檢索資料。http的使用是靈活的,因為可以從網絡上的任何地方(局部或廣域)通路資料,然而,與通路存儲在橫向擴充檔案系統中的資料相比,應用程式必須被編碼以使用對象存儲。 是以,供應商已開始向其産品添加nfs和smb支援,允許通過标準的基于檔案的協定存儲和檢索資料。為了完全支援向外擴充功能,支援應包括并行檔案系統。

擴充協定支援意味着可以輕松地移植或修改現有應用程式,以便為其資料使用對象存儲。還值得考慮的是,與橫向擴充檔案存儲相比,通過使用模拟檔案存儲的對象存儲提供的體系結構之間的差異。 底層資料不是使用基于inode和目錄的結構存儲的,是以系統崩潰後fsck(檔案系統掃描)的概念不适用。與傳統檔案系統相比,這對支援檔案系統的對象存儲的可擴充性和性能有很大的影響。

協定支援還需要擴充到實際采用的情況或行業标準。對于對象存儲,這意味着使用s3和swift,這兩個已經獲得廣泛流行的"标準"。亞馬遜早在2006年就釋出了s3(簡單存儲服務)平台進入對象市場,使得s3 api成為許多供應商選擇遵循的标準,因為它已經成熟和全面。swift從openstack項目的對象存儲元件中進行開發。

總擁有成本

沒有對價格和tco的讨論,對象存儲的摘要是完不完整的。 最明顯的許可模式是基于容量的模式 - 向平台添加更多可用或原始容量,并以實際增量支付更多許可證。供應商還可以選擇為每個節點收費,這意味着最終使用者需要確定他們部署的硬體提供盡可能大的容量。

還有一個按功能收費的選項,雖然一些供應商将看到建立一個全面的收費結構,包括所有功能選項的機會。從終端使用者的角度來看,這顯然更具競争力,但是隐藏的額外成本可能是一個問題。

計算tco提出了一個關于對象存儲平台效率的有趣問題。 橫向擴充節點設計采用計算,系統記憶體和磁盤或閃存存儲來提供一定量的使用者容量。當建構白盒硬體時,軟體的效率與建構解決方案的成本直接相關。到目前為止,沒有實際的基準來比較對象存儲的效率,這仍然是一個需要一些發展的領域。

結論

我們強調了對象存儲的九個關鍵特性。供應商将以補充其産品架構的方式實作這些功能。在決定哪些平台是您的業務中使用的平台時,其中一些關鍵功能的評級将高于其他平台。 這裡列出的清單沒有特定的順序。 然而,作為一個潛在客戶,目标應該是通過這個清單,确定那些重要的功能,值得投入更多的調查。

 作者:佚名

來源:51cto

繼續閱讀