訂閱
糾錯
加入自媒體

容器連接存儲 vs.軟件定義存儲:哪種更好?

2021-08-10 13:46
51CTO
關(guān)注

硬件抽象涉及編程層的創(chuàng)建,該層允許計算機操作系統(tǒng)在通用級別而不是特定級別與硬件設備進行交互。該層涉及將硬件用于任何軟件程序的邏輯代碼實現(xiàn)。而存儲設備的抽象為用戶訪問共享存儲提供了統(tǒng)一的接口,從而對操作系統(tǒng)隱藏了硬件的實現(xiàn)。這允許在用戶機器上運行的軟件從存儲設備獲得盡可能高的性能。它還允許采用獨立于設備的程序,因為存儲硬件抽象使設備驅(qū)動程序能夠直接訪問每個存儲設備。

Kubernetes本質(zhì)上與基礎(chǔ)設施無關(guān),因為它依賴于插件和卷抽象來將存儲硬件與應用程序和服務進行分離。另一方面,容器是短暫的,當它們終止時會立即丟失數(shù)據(jù)。Kubernetes使用卷和持久卷將容器化應用程序創(chuàng)建和處理的數(shù)據(jù)保存在物理存儲設備上。這些抽象通過各種類型的硬件抽象層(HAL)實現(xiàn)連接到存儲硬件。Kubernetes集群的兩種常用硬件抽象層(HAL)的存儲實現(xiàn)是容器附加存儲(CAS)和軟件定義存儲(SDS)。

本文深入探討了容器附加存儲(CAS)和軟件定義存儲(SDS)的根本區(qū)別、各自的優(yōu)勢以及典型硬件抽象層(HAL)存儲實現(xiàn)的典型用例。

Kubernetes采用抽象存儲來實現(xiàn)可遷移、高可用和分布式存儲。Kubernetes  API支持通過CSI接口連接的各種容器附加存儲和軟件定義存儲的解決方案。以下了解一下抽象模型的功能以及每個模型在Kubernetes集群中解決存儲的目的。

容器附加存儲引入了一種為Kubernetes集群中的有狀態(tài)工作負載以持久保存數(shù)據(jù)的新方法。使用容器附加存儲,存儲控制器作為Kubernetes集群的一部分在容器中進行管理和運行。這保證了存儲的可遷移性,因此這些控制器可以在任何Kubernetes平臺上運行,無論是在個人電腦、內(nèi)部部署數(shù)據(jù)中心還是公共云上。由于容器附加存儲利用微服務架構(gòu),存儲解決方案與綁定到物理存儲設備的應用程序保持密切關(guān)聯(lián),從而減少了I/O時間。

(1)容器附加存儲的架構(gòu)

容器附加存儲利用Kubernetes環(huán)境來實現(xiàn)集群數(shù)據(jù)的持久性,使得存儲解決方案在容器中運行存儲目標。這些目標是可以復制以進行獨立擴展和管理的微服務。為了增強自主性和敏捷性,這些基于微服務的存儲目標可以使用像Kubernetes這樣的平臺進行編排。

容器附加存儲集群使用控制平臺層進行存儲管理,而數(shù)據(jù)平臺層可以運行存儲目標/工作負載?刂破脚_中的存儲控制器提供卷、啟動存儲目標副本,并執(zhí)行其他管理相關(guān)任務。數(shù)據(jù)平臺組件執(zhí)行來自控制平臺元素的存儲策略和指令。這些指令通常包括文件路徑、存儲和訪問方法。數(shù)據(jù)平面還包含存儲引擎,負責實現(xiàn)文件存儲的實際輸入輸出路徑。

(2)容器附加存儲的好處

容器附加存儲為有狀態(tài)的容器化應用程序提供靈活的存儲。這是因為它遵循基于微服務的模式,允許無縫升級存儲控制器和目標副本。存儲軟件的容器化意味著管理團隊可以為每個卷動態(tài)分配和更新存儲策略。對于容器附加存儲,其低級存儲資源使用Kubernetes自定義資源定義表示。這允許存儲和云原生工具之間的無縫集成,從而實現(xiàn)更輕松的管理和監(jiān)控。容器附加存儲還確保存儲與供應商無關(guān),因為有狀態(tài)的工作負載可以從一個Kubernetes部署環(huán)境移動到另一個環(huán)境,而不會中斷服務。

(3)容器附加存儲的用例

容器附加存儲使用存儲目標復制來保證高可用性,避免傳統(tǒng)分布式存儲架構(gòu)的一些限制。這使得容器附加存儲成為云原生應用程序的首選存儲選擇。容器附加存儲也適用于希望在多個云平臺中協(xié)調(diào)存儲的組織。這是因為容器附加存儲可以部署在任何Kubernetes平臺上。

容器附加存儲支持簡單的存儲備份和復制,非常適合需要橫向擴展存儲的應用程序。它也非常適合希望改善持續(xù)集成(CI)和持續(xù)交付(CD)管道的讀寫時間的開發(fā)團隊。

Kubernetes的主要容器附加存儲解決方案提供商包括:

軟件定義存儲架構(gòu)依靠數(shù)據(jù)程序?qū)⑦\行的應用程序與存儲硬件解耦。這通過將存儲設備抽象為虛擬分區(qū)來簡化存儲設備的管理,然后在承載命令和控制功能的數(shù)據(jù)管理接口(DMI)上啟用管理。

(1)軟件定義存儲的特點

采用軟件定義存儲,數(shù)據(jù)/服務管理界面托管在主服務器上,主服務器控制由共享存儲池組成的存儲層。這使得存儲的配置和分配變得簡單而靈活。以下是軟件定義存儲的一些主要功能:

(2)軟件定義存儲的好處

使用軟件定義存儲的一些好處包括:

(3)何時使用軟件定義存儲

軟件定義存儲為希望以更低的成本提高存儲靈活性的團隊提供了多種好處。軟件定義存儲的一些常見用例包括:

(1)相同之處

容器附加存儲和軟件定義存儲都支持物理存儲硬件和正在運行的應用程序之間的解耦。在這樣做的同時,這兩種技術(shù)都從數(shù)據(jù)存儲資源中抽象了數(shù)據(jù)管理。這兩個硬件抽象層(HAL)實現(xiàn)共享一些共同的功能,其中包括:

(2)不同之處

軟件定義存儲支持分布式存儲管理并減少硬件依賴性,而容器附加存儲允許使用任何容器編排平臺運行的分解存儲。這就帶來了軟件定義存儲和容器附加存儲之間的各種差異,包括:

容器附加存儲和軟件定義存儲都允許集群管理員利用硬件抽象的優(yōu)勢為Kubernetes中的有狀態(tài)應用程序持久化存儲數(shù)據(jù)。容器附加存儲允許使用Kubernetes進行基于微服務的存儲編排,從而實現(xiàn)對存儲控制器的靈活管理。另一方面,軟件定義存儲允許使用可編程數(shù)據(jù)控制平面抽象存儲硬件。

容器附加存儲具有典型軟件定義存儲提供的所有功能,盡管是為容器工作負載量身定制的,并使用最新的軟件和硬件原語構(gòu)建。

原文標題:Container Attached Storage (CAS) vs. Software-Defined Storage - Which  One to Choose?,作者:Sudip Sengupta

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處】

來源:51CTO李睿

聲明: 本文系OFweek根據(jù)授權(quán)轉(zhuǎn)載自其它媒體或授權(quán)刊載,目的在于信息傳遞,并不代表本站贊同其觀點和對其真實性負責,如有新聞稿件和圖片作品的內(nèi)容、版權(quán)以及其它問題的,請聯(lián)系我們。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關(guān)注公眾號
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯
    x
    *文字標題:
    *糾錯內(nèi)容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網(wǎng)安備 44030502002758號