難言之隱,分布式存儲軟硬件解耦究竟難在哪里?
說到分布式存儲,我們可能都會聯想到軟件定義存儲(Software Defined Storage,即SDS)。代表全球存儲廠商的權威協會SNIA(全球網絡存儲工業協會)對SDS定義:軟件定義存儲包括管理面的標準接口和自動化,以及數據面Scale-out的塊、文件和對象存儲服務。
來源:https://www.snia.org/sites/default/files/SNIA_Software_Defined_Storage_%20White_Paper_v1.pdf
業界很多分析師和廠商都認為“SDS”應該和硬件解耦,可以部署在容器、虛擬機、標準裸金屬服務器上。但在上述SNIA發布的SDS白皮書中,SNIA并不認同這種觀點,而是更關心SDS實現管理面的自動化和數據面的彈性。
分布式存儲“軟硬件解耦”之錯覺來源
或許我們需要把鏡頭投向21世紀初期,Google提出分布式存儲架構的概念并予以實踐,在其強大的技術和維護團隊支撐下,實現了基于在標準服務器上部署自研分布式存儲軟件,構建成大規模存儲集群,以應對其互聯網搜索業務帶來的海量數據流。
正所謂一石激起千層浪,其他互聯網企業紛紛效仿“老大哥”Google的方式,使得軟硬件解耦的概念在互聯網行業盛行起來,迎來了一大幫研究者對其價值進行分析,并總結出如下四點價值:
·標準x86服務器的低成本;
·歸一數據中心硬件為標準服務器,實現統一硬件運維;
·Infrastructure as Code,存儲納入軟件定義數據中心自動化調度框架;
· 用戶可以在企業數據中心、邊緣或者公有云獲得一致的數據服務。
可以說,分布式存儲在互聯網浪潮中橫空出世的樣子太過于絢爛,以至于大家忘記了存儲系統本身應該有的模樣。冷靜者更喜歡用辯證的思維分析問題,所以,我們也看到很多用戶對“軟硬件解耦”表現出擔憂,認為軟硬件解耦的分布式存儲在可靠性、性能、運維等方面存在諸多待改進點。
分布式存儲軟硬件解耦之難點剖析
難言之隱,分布式存儲軟硬件解耦究竟難在哪里?總結起來有如下幾點:
·難點一:可靠性
存儲承載了千行百業用戶數據資產,一旦因存儲故障出現數據丟失,將給企業帶來無法挽回的巨大損失。存儲的核心部件是硬盤。業界流傳著一句話:SDS就是把不可靠的標準化服務器變成了可靠的存儲系統。這句話的背后技術基礎是SDS通過跨節點的冗余算法,可以容忍服務器節點故障。但這句話真的完全正確嗎?某些用戶在實踐中發現,其采用的標準服務器偶爾出現批量硬盤/SSD卡故障,冗余算法失效,導致數據丟失。
通過和軟硬件一體的廠商深入交流,用戶發現軟硬件一體存儲硬件和標準服務器的質量控制流程有較大差異。標準服務器的成本低廉,生產流程質量控制多數限于CPU、內存、硬盤三大件的簡單功能測試。而專業存儲硬件增加了避免批量硬盤故障的嚴苛保障措施,例如:
·TOP存儲廠商會在硬盤供應商規劃、設計新款產品時,對其特性、規格、方案做嚴格的評審,以確保新款硬盤和存儲產品深度契合。
·新款硬盤上市之前,TOP存儲廠商會基于大批量樣盤進行長達數月的系統兼容性和穩定性測試,以確保一塊硬盤在3到5年生命周期內正常運行。
·硬盤批次變更、Firmware變更,存儲廠商會重新執行上述穩定性測試。
·某些TOP存儲廠商甚至會指定供應商的硬盤產線。
數據是企業的核心資產,軟硬件一體存儲的附加值其實來自于平常不為人知的背后故事。
·難點二:性能SLA保障
隨著企業數字化轉型的深入,分布式存儲由最初的開發測試、桌面云等非關鍵應用,逐步走向生產應用。生產應用除了上述可靠性SLA要求之外,對分布式存儲的性能,尤其是數據訪問的穩定低時延提出了更嚴苛的要求。
軟硬件解耦的分布式存儲在性能設計上存在兩大天然缺陷:
·標準服務器不具備機房突然斷電時保護內存數據的電池(BBU),所以只能用SSD卡/盤來做數據緩存。SSD的時延遠高于內存,導致業界絕大多數的軟硬解耦的分布式存儲時延無法和生產存儲媲美。
·單獨采購的分布式存儲軟件無法和第三方服務器的SSD盤緊密配合,從而無法像業界先進的全閃存存儲一樣實現全局垃圾回收,控制數量眾多的SSD盤各自的垃圾回收導致的生產應用時延波動。
軟硬件一體的分布式存儲有機會克服如上兩大缺陷。我們看到業界先進的分布式存儲產品,采用了類似于全閃存存儲的電池保護(BBU)、系統級全局垃圾回收,達到了媲美傳統生產存儲的高并發壓力下的1ms穩定時延,從而為分布式存儲進入企業生產應用提供了性能的SLA保障。
·難點三:運維風險
軟硬件解耦給用戶帶來大量的維護負擔,例如幾乎無法實現有效的自動化部署與深度巡檢。而且使用期間出現問題時,供應商容易互相推諉,軟件和硬件廠家責任界面不清晰,用戶反而可能淪為問題定位的第一責任人。
軟硬件一體存儲可以提前設計自動化部署技術方案,從端到端全生命周期構建自動化運維的能力,從而提升交付、運維效率,降低業務風險。
·難點四:長期總擁有成本
軟硬件解耦宣稱的降低采購成本本質是認為標準服務器便宜。然而,存儲的附加增值更多是軟件、質量控制、技術支持。用戶花了很大力氣分離采購回來軟硬件部署上線后,慢慢發現省的錢相對于DIY的后期投入不值一提。原因很簡單,在相同質量要求下,規模化工業生產永遠比DIY綜合成本低。采購成本是顯性的,但綜合成本不是簡單的硬件采購成本,還要考慮使用和維護成本。
根據行業場景各取所需,實現魚和熊掌兼得
對于廣大著急踏上數字化轉型高速列車的行業用戶來說,到底是選擇軟硬解耦還是專業存儲廠家預集成的軟硬件一體產品呢?在商業的世界里,或許沒那么多路線和理念之爭。軟硬件解耦的優勢在于采購成本,軟硬件一體的長處在于可靠性和性能。所以,根據用戶場景的數據重要性,選擇最合適自己的方案才是明智之道,魚和熊掌其實可以兼得。
·軟硬件一體已成共識的行業場景:HPC/HPDA(能源勘探、衛星遙感、基因測序、自動駕駛、氣象海洋、教育科研、動漫渲染、超算平臺等)、平安城市視頻監控/交通卡口、超高清視頻制作/媒資庫、運營商IPTV等。
·更適合用軟硬件一體的行業場景:政務云;運營商BOM域云化、5G電信云;金融網銀、手機銀行、前置系統Web應用、票據影像等;大數據分析(政務、運營商、平安城市、金融等)以及各行業備份歸檔系統。以中國移動為例,早年大量購買分布式存儲軟件,搭配集采的標準服務器使用。近兩年,不管是分布式塊還是文件的集采,都已經全面轉向軟硬件一體模式。
·可以解耦的行業場景:各行業開發測試、桌面云。這部分場景數據的重要性略低于生產場景,IT預算緊張的用戶,可以嘗試。當然,預算足夠的用戶可以更加穩妥。
無論如何波折,分布式存儲未來可期
正所謂不管白貓、黑貓,抓到老鼠的就是好貓。我們相信在較長一段時間內,分布式存儲軟硬件一體和軟硬件解耦會長期共存。總體而言,筆者認為隨著數據價值的增高,場景對數據可靠性的要求隨之會越來越嚴苛,市場的天平就會更多偏向軟硬件一體;與此相反,場景對數據可靠性的敏感度越低、短期成本敏感度越高,市場的天平就會更多的偏向軟硬件解耦。
分布式存儲的發展歷程無論如何波折,我們更愿意相信它最終會是部正劇,在整個存儲市場中占據海量數據承載的主力軍位置,鏗鏘而立,并給人以無窮回味!