本文講的是<b>Torus登場:CoreOS打造的新一代分布式存儲系統</b>,【編者的話】最近CoreOS推出來重量級産品Torus,專門為容器叢集量身打造的分布式存儲系統,可以為通過Kubernetes編排和管理的容器叢集提供可靠可擴充的存儲。讓我們來感受下新産品給我們的叢集分布式存儲帶來了多大的優勢。
在容器叢集的基礎設施中,持久化存儲是目前計算機界讨論最熱的問題之一。微服務生産和消耗的海量資料我們該如何存儲?尤其是對于部署一成不變、離散的應用時如何能做到持久化存儲?随着容器在企業中的大規模應用,如何用一種能夠讓開發者在任何環境中能順利使用的方式存儲這些資訊?怎樣在容器不斷動态疊代中保證資料的一緻性和持久性?
過去可靠的分布式存儲問題比分布式具有更多的挑戰,但是現狀确實也是這樣的。在實作分布式存儲的算法中,如果出現錯誤後果将會很嚴重。一般情況下分布式存儲的資料巨大,一旦實作中出現錯誤,錯誤會以驚人的速度傳播,而且這種錯誤也很難被檢測到。資料的瘋長也會改變我們建立備份、歸檔和其他故障安全措施保障應用程式安全的做法。
Tour提供存儲應該具有的原始特性:可靠、分布式、簡單。它旨在解決今天開發團隊運作分布式應用程式中遇到的一些主要問題。雖然傳統的存儲結構可以連接配接到我們現在的底層容器,但是這兩個模型之間的不比對促使我們開發這種新的解決方案來解決容器叢集之間的存儲。現在被認可的分布式存儲算法也是出了名的困難的。Torus使用etcd為數以千計的生産部署提供部署服務、中繼資料的管理以及一緻性的維護等。這也使得Torus能夠把關注的焦點從新穎的解決方案上轉移到存儲部分方程上。
容器叢集比以往的設計更具有動态性,能在遇到自動擴容的場景時做到及時的更新,能夠完成持續傳遞,能夠及時應對元件加載失敗友善更換的場景。確定能提供以容器微服務的方式為持久化存儲提供啟動、停止、更新,叢集節點之間的資料遷移不像簡單的為一個單一伺服器運作獨立的應用程式甚至是甚至多個虛拟機提供備份儲存那麼的簡單。
現代化叢集的存儲必須在網絡端維持統一的可用性,随着資料在不同容器中處理還需要在一緻性基礎上保證管理通路,就算隻是在一個應用程式内部使用,随着應用版本的增長也需要做到這幾方面。
Torus在架構的設計上通過下列幾個特性解決了這些問題:
擴充性:與etcd類似,Torus也是一種建構塊,可以實作包括分布式塊裝置(Distributed block device)或大型對象存儲在内不同類型的存儲。Torus使用Go語言編寫并使用gRPC協定,使用者可以友善地用任何語言建立Torus用戶端。
易用性:專門針對叢集和Kubernetes等叢集流程平台(Cluster orchestration platform)設計的Torus可用簡單的方法部署和運維,并可随時縮放。
準确性:Torus使用etcd分布式鍵值資料庫存儲并檢索檔案或對象中繼資料。etcd為必須快速可靠執行的分布式系統核心運作提供了一個堅實、經得起考驗的基礎。
縮放性:Torus目前可縮放至數百個節點,并可将多個共用磁盤以單一存儲池的方式使用。
"我們認識到市場對分布式存儲有明确的需求,它可以解決使用動态化的容器應用,可以利用快速發展到硬體環境。”Packet的CEOZachary Smith說“我們很興奮的看到CoreOS釋出第一個真正意義上的分布式存儲解決方案。"
像core一樣,Torus的核心是一個将接口以傳統檔案方式呈現的庫,這個庫使得存儲系統能夠順利實作易于了解的基本檔案操作。借助etdc的一緻過程進行協調和檢查點操作,這個分布式檔案可以通過多種方式暴露給使用者的應用程式。目前Torus支援通過網絡塊裝置(NBD)。将這個檔案以面向塊(Block-oriented)的存儲進行暴露。Torus為Kubernetes的pod提供了簡單的固定存儲。這樣的設計還可在不遠的未來支援加密和高效率的Reed-Solomon糾錯功能,借此為整個系統提供更有保障的資料有效性和保密性。

Torus可通過Kubernetes快速簡單的部署和管理。目前釋出的Torus包含用于在任何Kubernetes叢集上以應用程式方式配置和運作Torus的Kubernetes清單。這使得Torus的安裝、管理和更新變成一種簡單,完全在雲端完成的操作。一旦叢集中的應用spun up,Torus會把固定的容量以插件的形式放入Kubernetes的動态存儲中。為了使應用程式能夠運作在pod,Torus要表現為傳統的檔案形式存儲。從現在釋出的版本包括示範運作在固定容量Kubernetes上的 PostgreSQL 資料庫伺服器,使用Torus作為備份存儲。釋出的内容有簡明的操作文檔,使用etcd部署Torus,以及Kubernetes叢集,供外部測試使用。
分布式系統工程師兼Go kit創始人Peter Bourgon認為:“分布式存儲一直被視作雲原生應用程式難以解決的問題,我對于Torus的潛力感到很滿意,很希望知道CoreOS和這個社群最終将取得怎樣的輝煌成果!”
Tour是一個專門為cloud-native提供的簡單可靠的現代分布式存儲解決方案,也是全球範圍企業級Kubernetes使用的基礎。
原文釋出時間為: 2016-06-15
本文作者:ylzhang
本文來自雲栖社群合作夥伴DockerOne,了解相關資訊可以關注DockerOne。
原文标題:Torus登場:CoreOS打造的新一代分布式存儲系統