決定如何為容器實現持久存儲的第一步是確定您將使用的存儲系統的基礎類型。在這方面, 通常有三種主要選項:文件系統存儲、塊存儲和對象存儲。
文件系統存儲
文件系統存儲是將數據存儲為文件,這一存儲形式已存在數十年了。每個文件都有一個文件名, 并且通常具有與其關聯的屬性。一些常用的文件系統包括NFS和NTFS。
當涉及到配置容器以持久存儲數據時,文件系統存儲是實現持久存儲數據的最普遍的方法之一。
容器駐留在主機服務器上。這個主機服務器包含它自己的操作系統和它自己的文件系統??梢詫⑷萜髋渲脼樵谥鳈C服務器的文件存儲的專用文件夾內存儲持久數據。
普通主機持久性引起的主要問題是,它完全破壞了容器的可移植性。當使用主機持久性時,依賴項資源(持久存儲)駐留在宿主服務器的原生文件系統的容器外。為了解決此問題, 已經創建了其他的主機持久性。
結論
文件系統存儲可能是最笨拙的方法,因為文件系統在設計之初并沒有把可移植性納入考慮范圍。有一些方法可以實現容器友好型的文件存儲系統,而這通常要通過跨多個服務器分布文件系統來實現。
塊存儲
塊存儲是容器的另一個存儲選項。塊存儲存儲塊中的數據塊。塊僅通過其地址識別。塊沒有文件名,也沒有自己的元數據。只有當塊與其他塊組合形成完整的數據塊時,它們才具有意義。
由于其性能,塊存儲通常用于數據庫應用程序。塊存儲也通常用于提供快照功能,它允許將volume回滾到特定時間點,而無需還原備份。
對于容器,塊存儲有時以容器定義的存儲的形式實現。容器定義的存儲是一種軟件定義的存儲形式,但專門用于容器化環境中。此存儲通常在專用存儲容器內部實現。
存儲系統可以包含多個塊存儲volumes,并且這些volumes中的每一個只能由單個主機加載。在這種情況下,將塊存儲控制器劃分為大量較小的塊存儲控制器,每個存儲控制器都可以映射到不同的塊存儲volume。如果所有這些塊存儲volumes都駐留在物理磁盤的公共池中,那么將允許編排引擎根據需要創建塊存儲volumes。
結論
塊存儲比文件系統存儲更靈活,這樣更容易適應容器環境的塊存儲。唯一的挑戰是確保塊存儲數據在由多臺主機組成的環境中可用。這可以通過分布式存儲來解決。
對象存儲
對象存儲與文件系統存儲或塊存儲不同。它不是通過塊地址或文件名引用數據,而是將數據存儲為對象并由對象ID引用。對象存儲的優點在于它具有很強的伸縮性,并且在將屬性與對象相關聯方面具有高度的靈活性。使用對象存儲的缺點是它執行起來不如塊儲存。
由于對象存儲主要是為實現可伸縮性而設計的,因此它是公共云提供商的熱門選擇。而典型的應用程序可能被設計為通過文件系統或SCSI調用訪問數據,對象存儲需要基于HTTP的REST調用,例如Get或Put。因此,應該將對象存儲保存在需要大規??缮炜s存儲的應用程序或需跨地域的存儲上。
結論
由于依賴于REST調用,對象存儲可能更復雜。但對象存儲提供的可伸縮性使它成為一個很好的選擇, 因為在容器環境中,大規??缮炜s性常常是大家優先考慮的。
-
存儲
+關注
關注
13文章
4453瀏覽量
86811 -
文件系統
+關注
關注
0文章
293瀏覽量
20194 -
容器
+關注
關注
0文章
503瀏覽量
22301 -
對象存儲
+關注
關注
0文章
69瀏覽量
12153
原文標題:塊存儲、對象存儲和文件系統,它們對容器而言意味著什么
文章出處:【微信號:cunchujie,微信公眾號:存儲界】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論