當前有且僅有兩個可用的開源對象存儲項目:OpenStack Swift 和Ceph。
OpenStack Swift有很好的宣傳,在市場上似乎更有知名度。很多廠商都表示他們支持OpenStack,然而這讓人費解,因為OpenStack是一系列的開源項目。此開源項目中最具知名度的就是計算組件Nova,通過OpenStack Cinder或Swift訪問存儲。Cinder是塊和文件API,面向外部存儲,主要是商業SAN、直連存儲或NAS系統。而Swift是OpenStack對象存儲API。實質上,很少有廠商支持OpenStack Swift。
Ceph是作為開源對象存儲競爭產品出現的,以其更豐富的功能和卓越的性能見長。它也支持與OpenStack Nova的集成,但其受歡迎程度明顯低于Swift。
開源對象存儲實現:技術清單
實施Swift或Ceph開源對象存儲不能兒戲。兩者都是開源的,但也也都有其短板。評估兩種技術選項,你要做些功課:
確定對象存儲項目目標。你需要去定義:項目實現的藍圖?它如何實現?內部期待是什么?性能、數據持久性、可擴展性、地理分布、管理、運營成本、宕機時間等需求都是什么?
優先考慮內部需求。將需求分成必要、重要和想要。明確每個開源產品的性能、特點、功能并于內部需求匹配。
評估內部技能。對象技能的評估包含腳本、編碼的經驗、排錯的能力、質量的保證和文檔的規范。如果一個特性丟失了,很有可能需要內部的重寫、測試、排錯、質量保證和歸檔。
評估可能涉及的風險。如果開源軟件受限或數據丟失了怎么辦?數據保護如何實施?誰將負責確保軟件的正常工作和管理?
預測實際的成本。開源對象存儲并不需要許可,但它有成本。成本就包括運行軟件的硬件基礎設施、服務器、硬盤、電力和制冷、存儲機架、管理員成本、培訓等都將成為開源存儲的成本。
對以上做足功課,你就能對開源對象存儲是否能滿足你的需求作出準確的判斷和決策。