計算發生了翻天覆地的變化,尤其是在過去十年中。 據 IDC 稱,網絡和移動應用程序的興起以及內容創建工具的商品化,使端點內容消費和內容創建增加了至少 30 倍。 因此,如今的公司希望從他們現在通常存儲的 PB 級數據中獲取更多價值。 在應用程序和基礎架構層運行的真正自助服務雲現在是價值數十億美元的業務。 傳感器網絡和其他機器對機器的交互預示著數據移動和存儲的另一個指數級飛躍。 然而,儘管數據和內容的使用發生了所有這些巨大的變化,除了容量和處理器能力的增加之外,通用存儲架構在過去二十年中基本保持不變。 我們正在嘗試使用為 TB 級設計的架構進行多 PB 級的計算。
企業營銷副總裁 Leo Leung, Scality
計算發生了翻天覆地的變化,尤其是在過去十年中。 據 IDC 稱,網絡和移動應用程序的興起以及內容創建工具的商品化,使端點內容消費和內容創建增加了至少 30 倍。 因此,如今的公司希望從他們現在通常存儲的 PB 級數據中獲取更多價值。 在應用程序和基礎架構層運行的真正自助服務雲現在是價值數十億美元的業務。 傳感器網絡和其他機器對機器的交互預示著數據移動和存儲的另一個指數級飛躍。 然而,儘管數據和內容的使用發生了所有這些巨大的變化,除了容量和處理器能力的增加之外,通用存儲架構在過去二十年中基本保持不變。 我們正在嘗試使用為 TB 級設計的架構進行多 PB 級的計算。
軟件定義存儲 (SDS) 承諾提供更靈活的存儲模型,其中存儲真正成為其他計算服務中的一項服務。 硬件獨立性是該架構的一部分,因為當應用程序發生變化以及系統擴展和縮小時,數據和服務必須更自由地流動。 SDS 不是將數據管理功能嵌入到專有的封閉設備中,而是將此功能與硬件分離 - 支持專注於數據的功能 - 並且自然地跨越硬件。 與隨著時間推移的其他基礎設施商品化模式(例如軟交換機)一樣,這種分離也暴露了當今存儲設備中包含的膨脹利潤 (60%)。
由於 SDS 通常會以數 PB 的規模進行部署,因此可用性必須非常高,並且不需要對已知故障場景進行干預。 應用程序界面必須對現有應用程序和較新的基於 Web 和移動的應用程序都友好。 性能應該很強,可以線性擴展,並且適合混合工作負載。 數據保護和數據恢復等服務必須針對相同級別的動態性和擴展性進行設計。
這與傳統存儲架構形成鮮明對比,傳統存儲架構完全依賴於物理硬件,並在專有設備的有限範圍內嵌入可用性、數據訪問、性能、管理和持久性功能。 這些遺留架構專為跨越上述每個維度的較小規模而設計。
SAN 仍然是低延遲訪問數據的好方法,但在大規模情況下表現不佳
SAN 被設計為通過專用本地網絡與存儲接口的最基本方式。 它控制小邏輯卷中的數據塊,但不知道數據是什麼的上下文,並且完全依賴於應用程序來組織、編目和構建數據。 根據設計,SAN 在規模、接口和範圍方面受到限制,而且由於專用網絡基礎設施,成本通常更高。
文件仍然占主導地位,NAS 是主力軍,但在規模上面臨挑戰
NAS 也被設計為一種與本地網絡存儲接口的方式,但以文件系統和文件的形式提供更多結構。 基於用於管理文件層次結構和文件訪問的本地內部結構,文件系統具有自然限制。 由於託管文件層次結構中的信息,系統中的內容具有更基本的意識,但它完全局限於物理存儲控制器。 同樣在設計上,NAS 系統在規模和範圍上受到限制。 集群 NAS 系統擴展了技術的可擴展性,但也有與物理控制器(編號為 10)和用於跟踪文件層次結構和文件的中央數據庫相關的自然限制。
對象存儲解決了規模問題,但在工作負載支持方面非常有限
對象存儲是一種創建額外抽象的技術,通常在本地文件系統之上和跨本地文件系統。 這意味著系統中的數據在全局命名空間中作為對象(而不是塊或文件)進行管理,每個對像都有唯一的標識符。 此命名空間可以跨越數百台服務器,從而比 SAN 或 NAS 模型更容易擴展容量。
然而,對象存儲在應用程序支持方面從根本上受到限制,因為它們需要將應用程序重寫為特定風格的 HTTP API,並且性能通常僅限於一次寫入,多次讀取 (WORM) 或一次寫入,從不讀取的場景。 這種性能不足是由於架構強制流量通過一組有限的元數據節點,這有時會通過糾刪碼等服務增加這些有限節點的開銷。
軟件定義的存儲是為大規模而整體設計的
軟件定義存儲是一種新方法,可將存儲功能與特定硬件完全分離,從而實現更靈活的部署、可擴展性、可訪問性和操作。
SDS 的解耦允許軟件獨立地利用硬件,根據用例獨立地擴展容量、性能和可訪問性。 這種類型的定制在最高端的傳統存儲之外是不可能的,傳統存儲具有為此目的專門構建的硬件組件,最終仍然限制了靈活性和總規模。
將存儲功能與硬件分離還可以更輕鬆地識別整個系統中的問題,而不必對將硬件和軟件異常處理結合到低信噪比堆棧中的設備進行故障排除。
除了軟件和硬件的基本分離之外,SDS 存儲服務還通過提供可以跨越物理邊界的容量、可用性、持久性和可訪問性服務來利用解耦。 SDS 的一個共同屬性是使用對象存儲來創建幾乎無限的唯一對象命名空間。 這超越了邏輯單元號 (LUN) 和文件系統的管理單元,它們在設計上具有基本的規模限制。 這允許 SDS 系統通過添加更多物理容量而無需添加新的管理單元即可擴展。
SDS 系統的可用性也可以非常優越,利用 SDS 節點之間的專用網絡空間。 不同於大多數 SAN 和 NAS 系統的有限主動/被動控制器安排,或橫向擴展 NAS 的集群安排,SDS 系統可以繼續擴展到一個域中的數千個地址。 此外,SDS 系統還可以利用先進的路由算法,即使在大規模拓撲和麵對多種故障情況下也能保證響應。 這遠遠超出了傳統存儲的簡單交換結構或菊花鏈,在傳統存儲中,整個陣列可能由於簡單的佈線錯誤而出現故障。
傳統存儲系統的耐用性旨在支持一兩個磁盤的偶爾故障,幾乎需要立即更換。 在 PB 級系統中,磁盤數量從數百個開始,通常會增長到數千個。 即使平均故障間隔時間 (MTBF) 很長,一些磁盤也會始終出現故障。 SDS 系統旨在應對許多故障和許多不同的故障域。 它們利用分佈式容量和處理的天然優勢來實現分佈式保護方案和極快的重建。 與擴展架構的雙控制器方案相比,這在規模上是必要的,後者在磁盤重建或其他存儲服務期間存在嚴重瓶頸。
可訪問性在傳統存儲系統中是次要問題。 應用程序服務器或大型機位於具有一些成熟協議的本地、特定於存儲的網絡上。 共享以太網網絡和混合公共和私有訪問現在已成為常態。 SDS 系統必須支持更廣泛的要求。 從基於 Web 到基於以太網的訪問,從基於網絡的存儲資源到作為本地資源部署在應用服務器上——SDS 必須支持所有這些。
正如本文通篇所指出的,傳統存儲是高度專業化的,導致典型的大型企業中存在許多功能和數據孤島。 這不僅從運營的角度來看效率非常低,而且不會產生規模經濟,並且極大地限制了數據共享和重用的機會。
SDS 旨在滿足大多數應用程序集成要求,協議從持久到無狀態,從簡單到高度交互和語義豐富。 這實現了一個通用環境,其中存儲可以是應用程序的通用服務,無論它們有小文件還是大文件、不同的保護要求和不同的協議需求。 這打破了 NAS、對象和磁帶存儲之間的當前界限,釋放了超大規模參與者多年來享有的影響力,並為連接已擴展到數十億端點的世界更新了存儲服務。
總之,應用程序和要求發生了巨大變化。 90% 的數據都是在過去兩年內創建的; 我們正處於拍字節時代,艾字節指日可待。 PB 級的痛苦和對提高數據價值的追求已經成為考慮新方法的催化劑,因為幾十年的傳統方法達到了它們的設計極限並且不堪重負。
關於作者
你可以關注 Leo Leung 在Twitter 或查看他的網站 techexpectations.org網站.