軟體定義儲存服務( SDSS)
我們的雲端計算資源池是從2011年開始建設,承載了很多核心業務平臺。為了防止“雞蛋放在一個籃子裡”,2013年建成了超遠距離雙活的資源池體系。但是,配置效率、資源靈活性、擴充套件性等問題是資源池發展的瓶頸。2013年我們在資源池內部署了SDN,並提出了基於X86伺服器+SATA硬碟+軟體定義的分散式儲存設想,並和廠商成立聯合實驗室,研究和測試SDS。2014年正式商用SDN和SDS,也是業界首個商用的SDS。目前資源池內有10000多臺的虛擬機器,運行了600多個業務平臺,有軟體定義的SRVSAN儲存7P,其中塊儲存4.5P,物件儲存2.5P。2015年根據業務需求,我們自己開發了全面實現軟體定義的管理平臺,建立起軟體定義、雙活、“內外一朵雲”的使用者自定義雲端計算資源池體系。但是近2年的實踐,軟體定義,特別是軟體定義儲存還存在很高的門檻,需要解決。
為什麼要SDx
由於計算資源的大量閒置,導致了計算虛擬化成為一個迫切的需要。但是計算虛擬化僅僅解決了通過軟體定義計算能力,但是網路和儲存並沒有真正實現“虛擬化”,只是通過“共享”物理裝置來實現雲端計算資源池對這些資源的需求。共享的物理裝置必定會導致配置集中、複雜、自動化程度低、門檻高等問題;物理網路、裝置無法和已經虛擬化的計算資源形成一張完整的拓撲架構,導致維護困難;受到硬體裝置的限制,不能快速響應資源池對網路和儲存的快速需要,缺乏線性擴容的能力;最關鍵的只能由不熟悉應用的資源池系統管理員和不熟悉資源池的應用方不斷磨合導致配置時間長、響應時間長,雙方都不滿意。在實際生產中發現:網路的配置是資源池配置的瓶頸、而儲存的卻是一個難點。資源池需要通過軟體來定義網路、軟體定義儲存,重新構建一張虛擬的網路和虛擬的儲存。
軟體定義
軟體定義流程就是先將物理資源抽象和虛擬化,提高資源的利用率;然後在將抽象的網元進一步標準和服務化,降低技術門檻;再進行簡化和自動化,簡化配置流程提高配置準確性,通過工作流實現各種管理和配置;最後階段實現動態優化混合IT,真正實現資源的按需分配。目前只能實現前3步,最後一步動態調整還在不斷的積累和探索中。
軟體定義是為了實現隨選網路、敏捷開通,降低配置門檻,可以讓“使用者”到“資源超市”根據需求選擇各種資源,並自己構建出一張獨特的應用拓撲。網路是主線,串聯的是相對不變的計算和儲存資源。計算資源被虛擬化以後就是vCPU和記憶體的組合。而儲存一直被廠商“壟斷”,很神祕卻又特別簡單,導致絕大部分人對儲存的主要理解是“容量”,配置的主要屬性也就是“容量”。實際上資源池最浪費、最不按需分配的就是儲存。使用者不知道怎麼選擇不同型別的儲存;不理解儲存效能的指標,對於儲存的需求,越大越好,效能越快越好。資源池記憶體儲的建設成本在資源池中其實最高,花的代價也最大。
SDN解決網路瓶頸
資源池配置的瓶頸是網路,對一個熟練的系統配置員,可以幾分鐘完成計算資源和儲存資源的配置,但網路的配置平均需要2周,主要時間用來和應用方的溝通和磨合,將應用開發者的語言翻譯成為網路拓撲。實際上網路知識已經普及,門檻已經不高,大部分人都能理解網路的基本知識。軟體定義網路主要解決的使用者快速配置的問題:
1、給使用者一張可以隨心所欲定製的獨立網路;
2、讓虛擬的網路資源從物理裝置上抽象出來,成為一個一個獨立的、可以簡單圖形化配置的網元。
資源池的SDN
主要採用“疊加網路”。用VXLAN構建一張既共享又獨立的網路,使用者可以最大限度的配置網路;根據不同的網路功能,抽象出虛擬交換機、虛擬路由器、虛擬防火牆、虛擬負載均衡、虛擬的防病毒和溝通虛擬網路和物理網路的邊界閘道器,讓使用者選擇、組合。
所以,SDN是通過抽象成為“網元”來解決資源池的瓶頸。
SDS解決儲存本身的難題
資源池內的儲存是一個共享的儲存,從網路架構上來個是資源池內唯一一個存在“單點”故障的裝置。虛擬機器都共享儲存。儲存出現故障,就會導致資源池整體發生故障,所以儲存的可靠性、安全性要求進一步提高;從容量和效能上需要同時承接多系統的併發,要求也進一步提高。所以採用X86伺服器為基礎,通過儲存軟體來構建的分散式儲存能滿足資源池對儲存的需要。同時考慮實際的效能需要和成本,採用SSD作為快取+SATA作為持久化資料層就能滿足絕大多數的需要。目前所定義的“軟體定義儲存”,解決的是儲存本省的問題:撩開了儲存的神祕面紗,用最常用的硬體,熟悉的作業系統和軟體定義出一個儲存。降低的是儲存維護的門檻,對使用者來說和傳統儲存沒有差別。但是我們要解決的根本問題是解決使用者對儲存的使用問題,SDS遠遠沒有達到要求。
SDSS解決儲存的難題
對於資源的使用者,光SDS的遠遠不夠的,對於他們來說,軟體定義以後的儲存和原來的儲存根本也沒有區別。當然從側面也說明了SDS的分散式儲存取得了巨大的成功,可以替代傳統的中高階儲存了。對於使用者說“raid”、“io”、“IOPS”、“QoS”、“快照”、“檔案系統”、“EC”、“副本”等技術名詞是很難理解,對於“檔案儲存”、“物件儲存”、“塊儲存”也區分不出來使用場景的不同。所以我們需要把儲存繞過技術層面直接抽象成為“儲存服務”,讓使用者來選擇服務就容易多了。這種抽象可以通過在原有各種儲存的基礎上增加“控制器”來實現,也可以通過儲存本身的整合提供臺“統一儲存服務”來實現。將儲存進一步虛擬化、儲存服務化、服務普遍化、網路融合化來真實降低使用者的門檻、實現儲存的按需分配和快速配置,從而大幅度的降低儲存成本。
基於控制器的軟體定義儲存服務
基於統一儲存的軟體定義儲存服務
軟體定義儲存服務
分析目前資源池內對儲存的需求,主要是虛擬機器的磁碟、虛擬機器的共享儲存、視訊儲存、圖片儲存、檔案儲存、視訊監控和大資料儲存等7個維度;結合對儲存的要求,如可靠性、安全性、成本、容量和效能;再結合儲存原生的建立、掛載、銷燬、備份、快照、擴容、操作等基本操作,通過“儲存控制器”來提供儲存的基礎儲存服務和增值儲存服務,進而結合計算和網路構建一個快速、按需分配的軟體定義的資源池體系。
儲存的基礎服務主要是提供基礎API介面,可以讓“控制器”結合工作流進一步的封裝,並圖形化使用,從而遮蔽技術難點。
儲存的增值服務是儲存“加”,概念和目前流行的“網際網路加”一樣。比如物件儲存+全球眼就可以提供視訊監控儲存服務;檔案儲存+備份供給提供備份儲存服務;塊儲存+資料庫成為資料庫儲存服務等等。還可以結合各種網路、計算資源提供如內容分發、異地雙活、圖片處理、大資料等服務。
文章出處:顧炯的雲世界(訂閱號ID:gujiongcloud)