首先,關於什麼是超融合
我們可以參考維基百科中的如下定義:超融合基礎架構(hyper-converged infrastructure)是一個軟體定義的 IT 基礎架構,它可虛擬化常見“硬體定義”系統的所有元素。HCI 包含的最小集合是:虛擬化計算(hypervisor),虛擬儲存(SDS)和虛擬網路。HCI 通常執行在標準商用伺服器之上。
超融合架構出現的原因,是傳統儲存解決不了現在企業資料中心的問題。據麥肯錫研究顯示,全球的 IT 資料每年在以 40% 的速度增加中。資料正在逐步影響商業,企業透過資料的分析來做決策與管理。完成快速的分析決策和管理,就需要藉助強大的資料中心。下圖為傳統 SAN 儲存:
但是,光靠越來越快、核數越來越多的 CPU 是不夠的,瓶頸在於傳統儲存的硬碟太慢了,CPU 大部分計算能力都空閒或者說在等待儲存資料傳輸過來。傳統儲存容量和效能不具備和計算能力匹配的可擴充套件性,不能滿足企業進行資料訪問的需求。
這個問題並不是現在才有。Google 很早遇到這個問題。那麼 Google 是如何做的呢?
作為一個給全世界網際網路網民提供資料檢索的企業,Google 考慮過 EMC、IBM,還有當年的 SUN 儲存產品,但是都解決不了它的問題。無論是容量還是效能,這些公司的產品都無法滿足 Google 的規模需求。於是 Google 只能自己建立一個適合自己的資料搜尋的儲存結構了。
Google 優秀的計算機科學家們,打破了傳統的儲存思維,利用伺服器的本地硬碟和軟體構建了一個容量和效能不斷可擴充套件的分散式檔案系統,並在其上構建了其搜尋和分析的計算引擎:
不用把資料從儲存端取出來,然後透過網路傳輸到計算端,而是將計算直接分發到儲存上執行,將 “計算” 作為傳輸單元進行傳輸,這樣大量的儲存資料都是本地訪問,不需要再跨網路上傳輸了,自然訪問很快。於是乎,自然而然地,“計算” 和 “儲存” 執行(“融合”)在了一個伺服器上,這裡也看到超融合架構的一個優勢就是,本地訪問資料,不必跨網路。
現代企業的資料量越來越大,應用越來越多,他們開始面臨當年 Google 遇到的問題,CIO 要考慮怎麼更高效的構建自己的計算和儲存的基礎架構,來滿足應用的資料訪問需求。
虛擬化為更容易的管理應用而生,它解決了 CPU、記憶體資源閒置的問題。但隨著虛擬化的大規模應用,虛擬機器越來越多,虛擬機器在傳統儲存上執行卻越來越慢了。“慢” 造成 “體驗差”,“體驗差” 成為了限制虛擬化應用的最大的瓶頸。這裡面的最重要原因自然是,儲存的 I/O 效能不夠,大量的虛擬機器和容器同時執行,I/O 的混合,使得隨機讀寫急劇增加,傳統儲存的結構無法承受大量的隨機 I/O,超融合恰恰是為了解決這個問題,才被帶到了虛擬化和容器領域。同時,業內也存在不同的解決 I/O 問題的方法,我們先嚐試分析下其他的解決方法:
解決方法一:在儲存裝置採用 SSD 做 Cache,加速 I/O。這在一定的規模下可能有效,但是儲存裝置的 SSD Cache 通常比例較小,不足 5% 的容量比的情況下,自然滿足不了使用者的熱資料的快取需求。另外,仍然無法隨需擴充套件,所有的資料仍然要從集中的儲存控制器流出,這個集中的 “收費站” 勢必堵塞 “高速公路”。
解決方法二:使用伺服器側 SSD 做 Cache,加速 I/O。這種類似的解決方案,通常缺乏高可靠性軟體的支撐,伺服器端的 Cache 如果用做寫 Cache,存在單點失效的問題,需要在多個伺服器的 Cache 裝置上,做副本來提供可靠性,可以說這是一個閹割版的超融合架構,將 Cache 放到伺服器端,仍然使用傳統儲存,當 Cache 滿,需要被寫回傳統儲存的時候,仍然被傳統儲存的 “控制器” 限制整體效能。
我們看到,上面的兩種方案都是受限於傳統儲存的結構。超融合儲存則不一樣,透過完全去掉傳統儲存,利用分散式檔案系統來提供 “不可限量” 的效能和容量,在這個基礎上,再透過 Cache 進行加速,甚至全部使用快閃記憶體(全快閃記憶體產品)來構建都是自然而然,不被限制了。
因此,超融合架構不是為了讓單臺伺服器的儲存飛快,而是為了讓每增加一臺伺服器,儲存的效能就有線性的提升,這樣的儲存結構才不限制企業業務的執行,並保證業務的可靠性。
正因為這種擴充套件性很好的共享儲存,使得整個 Google 的業務得以順暢地運轉。SmartX 在做的就是這樣的更好的、更穩定的基礎服務。
另外,超融合近幾年得以快速發展的原因,這要歸功於硬體裝置。CPU 核數越來越多,伺服器的記憶體容量越來越大,SSD 裝置和網路網際網路裝置越來越快,這意味著:
首先,關於什麼是超融合
我們可以參考維基百科中的如下定義:超融合基礎架構(hyper-converged infrastructure)是一個軟體定義的 IT 基礎架構,它可虛擬化常見“硬體定義”系統的所有元素。HCI 包含的最小集合是:虛擬化計算(hypervisor),虛擬儲存(SDS)和虛擬網路。HCI 通常執行在標準商用伺服器之上。
超融合架構出現的原因,是傳統儲存解決不了現在企業資料中心的問題。據麥肯錫研究顯示,全球的 IT 資料每年在以 40% 的速度增加中。資料正在逐步影響商業,企業透過資料的分析來做決策與管理。完成快速的分析決策和管理,就需要藉助強大的資料中心。下圖為傳統 SAN 儲存:
但是,光靠越來越快、核數越來越多的 CPU 是不夠的,瓶頸在於傳統儲存的硬碟太慢了,CPU 大部分計算能力都空閒或者說在等待儲存資料傳輸過來。傳統儲存容量和效能不具備和計算能力匹配的可擴充套件性,不能滿足企業進行資料訪問的需求。
這個問題並不是現在才有。Google 很早遇到這個問題。那麼 Google 是如何做的呢?
作為一個給全世界網際網路網民提供資料檢索的企業,Google 考慮過 EMC、IBM,還有當年的 SUN 儲存產品,但是都解決不了它的問題。無論是容量還是效能,這些公司的產品都無法滿足 Google 的規模需求。於是 Google 只能自己建立一個適合自己的資料搜尋的儲存結構了。
Google 優秀的計算機科學家們,打破了傳統的儲存思維,利用伺服器的本地硬碟和軟體構建了一個容量和效能不斷可擴充套件的分散式檔案系統,並在其上構建了其搜尋和分析的計算引擎:
不用把資料從儲存端取出來,然後透過網路傳輸到計算端,而是將計算直接分發到儲存上執行,將 “計算” 作為傳輸單元進行傳輸,這樣大量的儲存資料都是本地訪問,不需要再跨網路上傳輸了,自然訪問很快。於是乎,自然而然地,“計算” 和 “儲存” 執行(“融合”)在了一個伺服器上,這裡也看到超融合架構的一個優勢就是,本地訪問資料,不必跨網路。
現代企業的資料量越來越大,應用越來越多,他們開始面臨當年 Google 遇到的問題,CIO 要考慮怎麼更高效的構建自己的計算和儲存的基礎架構,來滿足應用的資料訪問需求。
虛擬化為更容易的管理應用而生,它解決了 CPU、記憶體資源閒置的問題。但隨著虛擬化的大規模應用,虛擬機器越來越多,虛擬機器在傳統儲存上執行卻越來越慢了。“慢” 造成 “體驗差”,“體驗差” 成為了限制虛擬化應用的最大的瓶頸。這裡面的最重要原因自然是,儲存的 I/O 效能不夠,大量的虛擬機器和容器同時執行,I/O 的混合,使得隨機讀寫急劇增加,傳統儲存的結構無法承受大量的隨機 I/O,超融合恰恰是為了解決這個問題,才被帶到了虛擬化和容器領域。同時,業內也存在不同的解決 I/O 問題的方法,我們先嚐試分析下其他的解決方法:
解決方法一:在儲存裝置採用 SSD 做 Cache,加速 I/O。這在一定的規模下可能有效,但是儲存裝置的 SSD Cache 通常比例較小,不足 5% 的容量比的情況下,自然滿足不了使用者的熱資料的快取需求。另外,仍然無法隨需擴充套件,所有的資料仍然要從集中的儲存控制器流出,這個集中的 “收費站” 勢必堵塞 “高速公路”。
解決方法二:使用伺服器側 SSD 做 Cache,加速 I/O。這種類似的解決方案,通常缺乏高可靠性軟體的支撐,伺服器端的 Cache 如果用做寫 Cache,存在單點失效的問題,需要在多個伺服器的 Cache 裝置上,做副本來提供可靠性,可以說這是一個閹割版的超融合架構,將 Cache 放到伺服器端,仍然使用傳統儲存,當 Cache 滿,需要被寫回傳統儲存的時候,仍然被傳統儲存的 “控制器” 限制整體效能。
我們看到,上面的兩種方案都是受限於傳統儲存的結構。超融合儲存則不一樣,透過完全去掉傳統儲存,利用分散式檔案系統來提供 “不可限量” 的效能和容量,在這個基礎上,再透過 Cache 進行加速,甚至全部使用快閃記憶體(全快閃記憶體產品)來構建都是自然而然,不被限制了。
因此,超融合架構不是為了讓單臺伺服器的儲存飛快,而是為了讓每增加一臺伺服器,儲存的效能就有線性的提升,這樣的儲存結構才不限制企業業務的執行,並保證業務的可靠性。
正因為這種擴充套件性很好的共享儲存,使得整個 Google 的業務得以順暢地運轉。SmartX 在做的就是這樣的更好的、更穩定的基礎服務。
另外,超融合近幾年得以快速發展的原因,這要歸功於硬體裝置。CPU 核數越來越多,伺服器的記憶體容量越來越大,SSD 裝置和網路網際網路裝置越來越快,這意味著:
伺服器的資源除了執行業務以外,仍然可以預留出來足夠的CPU,記憶體資源來執行儲存軟體。將儲存軟體和業務執行到一塊,既減少了裝置量,減少了電力使用,本地讀取也提高了 I/O 的存取效率。這在幾年前是做不到的,因為 CPU 和記憶體太有限了。網路互聯越來越快,無論是萬兆,40Gb 乙太網,還是 Infiniband(無限寬頻技術),使得我們的軟體能夠將獨立的儲存裝置進行互連,透過分散式檔案系統形成共享的儲存池,供上層應用使用。如果說 SSD 等硬體廠商讓單個儲存裝置跑的更快,我們的軟體的意義在於,讓超大量的這些儲存裝置,一起工作,提供無止境的整體效能和容量。