軟件定義存儲,當下存儲行業最火熱的話題,沒有之一。從最開始的軟件定義數據中心,到軟件定義網絡與網絡功能虛擬化(SDN和NFV),這場浪潮最終燒到了數據中心最核心也是最復雜的組成部分——存儲。于是,軟件定義存儲的理念隨之而來。
在這一理念下,軟件應當在企業存儲系統中發揮重要的作用,它可以建立、管理、控制和協調存儲資源,而不僅僅是存儲系統的附屬品或是邊緣。
與此同時,有一個經久不衰的話題持續存在,那就是“雙活”。作為保障業務連續性最堅實的基礎,越來越多的企業開始付諸行動,正如某業內媒體所撰寫的那樣:“2014年,一個最顯著的變化是,雙活數據中心跨越了概念炒作的階段,被很多企業用戶所接受。”
存儲系統的雙活解決方案長期以來就是數據中心雙活架構中的重點,這其中的原因不僅是因為存儲系統中存儲了企業最核心的生產數據,是“萬萬馬虎不得”的核心系統,更因為與服務器(主機端)雙活、應用程序雙活(如Oracle RAC)相比,存儲系統的雙活不僅架構復雜、實施復雜,而且往往存在這樣或那樣的問題,
在“臨門一腳”的時候,往往“活不過來”。
但即便是這樣,存儲系統的雙活解決方案仍然在企業客戶的數據中心遍地開花,可是,許多企業客戶發現,在軟件定義存儲的大思路之下,數據中心內的存儲雙活方案,卻成了軟件定義存儲的攔路虎、擋路石。
“嗨!我們還能不能好好的在一起玩耍了?”軟件定義存儲對存儲雙活說到。
存儲雙活 阻礙軟件定義存儲的發展?
軟件定義存儲和存儲雙活,看起來是八竿子打不著的事情,這兩者之間怎么就產生了互相影響?憑什么說“(某些)存儲雙活解決方案,阻礙了軟件定義存儲的發展”?這事兒還要從業界主流的幾種存儲雙活架構說起。
存儲雙活的架構設計,從不同的供應商的產品特點出發,大致可以歸納為幾類:主機卷鏡像、虛擬化存儲網關、外置雙活存儲網關和存儲內嵌雙活+CDP等幾種架構,其中絕大多數存儲雙活選擇,由于其架構設計,在實現存儲雙活后,主機端與存儲(功能)端被人為的分割開來,從而無法利用陣列本身軟件,軟件定義存儲也就無從談起了。
為什么會發生這樣的事情呢?還要從其中幾種架構的設計思路說起。
主機卷鏡像的方式是早期存儲雙活方案選擇較多的方式,企業客戶通過采購主機卷鏡像軟件,保證數據從主存儲鏡像到備存儲,這一方案不依賴于具體的存儲品牌,支持存儲雙活,但由于卷鏡像軟件只將存儲系統作為一個“硬盤池”來使用,無法利用存儲陣列本身的軟件。
除此以外,這一方案還存在額外采購鏡像軟件安裝在所有主機端所造成的成本和消耗主機資源、存儲系統/主機操作系統/虛擬化平臺多平臺兼容性等問題。
更進一步,業內一些存儲廠商提出了虛擬化網關的存儲雙活解決方案,這一方案利用兩層SAN交換機內的存儲網關,將后端存儲進行虛擬化,變成虛擬化資源池來使用其容量,將主機端的IO通過SAN交換機分發給兩套存儲系統,從而達到存儲“雙活”的目的——在這一架構中,存儲系統只是被虛擬化的資源池,同樣無法利用陣列本身的軟件。
但更為關鍵的是,在付出了額外購買存儲網關的成本、接受了新增網關層可能存在的性能瓶頸問題以及網關往往不能跨代混用等問題之后,虛擬化存儲網關的存儲雙活卻并不能夠真正支持存儲雙活——以x86服務器為基礎的虛擬化存儲網關雙活控制器集群,雙活的只是網關內的控制器,而不是虛擬化存儲網關。
基于對虛擬化存儲網關進一步優化,外置雙活存儲網關架構被設計出來,它采用外置雙活存儲網關,在采購至少兩對(四個)網關的前提下,這一方案確實可以提供行業內可靠性幾近最佳的存儲雙活支持,但是,由于存儲系統仍然是依靠存儲網關實現數據的分配和系統的利用,它仍然無法利用陣列本身的軟件。
在這一方案中,決不可忽略的是成本問題。相對于之前談到的兩個方案,由于架構設計的問題,每對網關對應一套存儲系統,這意味著必須采購兩對也就是四個外置存儲網關,“四引擎,八個控制器”的采購成本,幾乎是此前兩個方案的兩倍之多。
傳統的三種雙活方式,不僅存在架構復雜、陣列軟件不能復用等問題,且只對物理故障有效。
那么,有沒有什么辦法,既能夠保證存儲雙活,又能夠利用陣列本身軟件,不破壞“軟件定義存儲的良好愿景”呢?
當然有了!你把存儲網關取消掉,讓主機端直接連接存儲系統不就得了?!
存儲內嵌雙活+CDP:這才是軟件定義存儲的思路
讓存儲雙活回到軟件定義存儲的思路上來,其實并不像想象中的那么難,一方面,存儲雙活與軟件定義存儲不是對立的,即便是剛才談到的幾種解決方案,都是以軟件為核心的,軟件怎么會“為難”軟件呢?另一方面,之前幾種方案之所以無法釋放陣列的軟件能力,核心原因在于其只是將存儲作為容量池使用,而是將復雜的軟件功能交付給了存儲網關或是主機端,從這個角度來說,“直連”不就得了?
但主機端直接連接存儲,實現存儲雙活是有條件的,這個條件就是:存儲系統必須要內嵌雙活,也就是將原本存儲網關干的事情納入到存儲系統中去,這就是我們在前文中提到的“存儲內嵌雙活+CDP”的模式——咦?為什么要CDP?這件事情我們暫時按下不表,先把話題集中到雙活架構上來。
戴爾Live Volume的“存儲內嵌雙活+CDP”架構
在戴爾Compellent存儲系統中,有一項內嵌技術叫做LV,這不是LOUIS VUITTON,而是Live Volume,以這一技術為核心的雙活解決方案是“比純粹數據復制更高級的數據中心級別的雙活保護方案”:Live Volume以流動、虛擬化的方式,維持戴爾Compellent SC系列存儲系統之間的數據關系,數據卷可以在系統之間以非中斷方式在線數據遷移,或者說叫“漂移”。
在雙活架構中,主存儲的每一次IO操作,都通過FC或iSCSI鏈路以同步(遠程站點可以選擇異步)復制的方式,投射到備(從)存儲上,使兩邊的數據保持高度的一致性。
當主存儲站點或是通向其的路徑發生故障,主機端的IO無法到達主存儲時,戴爾Compellent SC存儲系統會感知到來自主機端IO的下降甚至是丟失,在滿足一定的條件時,即完成從動態的交換路徑到自動進行動態角色交換等一系列動作,也就是說,原有的主存儲和備(從)存儲之間交換了身份。
Live Volume的站點交換過程,可以完全保證數據的同步。
這一“交換身份”的過程,對主機來說就像是讓卷動態漂移到了新的主存儲(也就是原來的備份(從)存儲)那里,其技術實現和應用體驗就像是VMware上實時在線遷移一臺虛擬機——Live Volume就像是在主存儲/備(從)存儲系統中創造一個類似VMware的Hypervisor虛擬化層的存儲抽象層——讓卷可以就像是VMotion一樣,自由的在存儲系統之間漂移。
在這樣的架構下,主機端所分配的卷,就像是在兩套存儲系統之間“漂移”,對主機端來說,主卷永遠存儲在主存儲上,從未改變。哪怕主存儲和備(從)存儲之間的角色在1分鐘前剛剛發生了改變,這正是作為“存儲Hypervisor”的Live Volume的核心技術優勢之一。
虛擬化環境中,戴爾Compellent SC系列存儲系統基于其應用和數據流量感知技術,可以感知虛擬機的在線遷移,在虛擬機遷移之后,主機端IO出現變化時,“以最靠近的一套存儲自動進行動態角色交換”,讓虛擬機永遠連接的都是“主存儲系統”。
更進一步:兩地三中心和邏輯故障的雙活
說到數據中心的故障,IDC有一個大致的統計數字,邏輯故障占53%,硬件故障占47%,這也就意味著,大多數情況下存儲雙活面對的問題,不是系統宕機或是站點損毀,而是數據壓根兒就是錯的——這往往是邏輯故障所造成的。
對于高端存儲應用來說,傳統的備份技術已經不能滿足實時恢復邏輯故障的需求,因此,CDP技術應運而生,成為企業客戶避免存儲系統邏輯故障的重要解決方案:CDP技術通過對數據進行大量的、高頻率的“拍照”,讓管理員可以選擇將數據恢復到任意時間點(往往是分鐘級)。
這就是戴爾Compellent SC存儲的“LV”之所以被稱為“存儲內嵌雙活+CDP”存儲雙活技術的原因,通過在Live Volume中內嵌CDP技術,一旦發生存儲雙活系統的邏輯故障,管理員可以從內嵌的CDP“設備(空間)”將數據恢復到主存儲并快速同步到備(從)存儲——與外置CDP不同,這是在存儲系統內部進行復制,傳輸速度、延遲和可恢復性的水平更高。
基于戴爾Live Volume的兩地三中心解決方案示意圖。
兩地三中心解決方案是存儲雙活解決方案的擴展,通過在遠程站點增加一套存儲系統,極大的提高了地域接近(大部分情況下就是在同一個數據中心)的雙活存儲在應對災難災害時的應對能力,Live Volume的兩地三中心方案,可以簡單的通過級聯(近線DR站點異步復制連接遠程DR站點)和混合(主站點與近線DR站點同步復制,與遠程DR站點異步復制)兩種模式建立,完全不需要調整原有的雙活架構,只需要為主存儲增加一個遠程連接的外部站點即可。
這就是以Live Volume為基礎的戴爾Compellent SC系列存儲所構建的支持硬件故障和邏輯故障的高可用性存儲雙活和兩地三中心災難恢復功能的組合,作為一款可以感知主機端IO和虛擬機位置變化的解決方案,它可以支持動態性能調整、零停機存儲維護、跨數據中心數據遷移以及虛擬機(微軟、VMware或是其他Hypervisor)動態遷移等多種對存儲系統頗有點考驗的需求。
原生存儲雙活:架構簡單 功能強大
戴爾Live Volume為企業客戶實現存儲雙活及兩地三中心高可用性,提供了一整套完整的解決方案,滿足了企業客戶在邏輯故障和物理故障兩個層面對存儲系統高可用性的需求,但在企業級IT市場,最終實現的結果只占企業客戶實際意義的百分之五十,另有百分之五十在意的,是實現的過程——是否簡單?是否風險小?是否具有良好的延續性?
這正是戴爾Live Volume技術廣泛受到戴爾Compellent系列存儲用戶歡迎的原因,在全球主流存儲廠商中第一個將存儲雙活高可用性技術加入到存儲系統的軟件平臺中,戴爾必然是經過深思熟慮的(被戴爾公司收購以前,Live Volume就是Compellent流動數據跨越多套存儲構建存儲云的核心技術)。
一方面,在前面我們就提到過,作為“存儲內嵌雙活+CDP”,戴爾Live Volume既不需要從外部設備恢復數據,也不需要經由復雜的路徑進行數據復制和恢復,這意味著更好的效率,更快的傳輸速度和更低的恢復風險。
另一方面,在一個經典的計算、存儲、網絡三層模型中,戴爾Live Volume “原生雙活”的實現架構中避免了增加外置虛擬化網關或其他IT設備,避免了對數據中心存儲架構的后天改造,更降低了方案的復雜性——既然存儲系統自帶“原生雙活”,為什么還要去選擇復雜的非原生方案?
第三,戴爾Live Volume的雙活解決方案具有極高的靈活性和經濟性,在鏈路選擇方面,企業客戶可以選擇FC或是IP路徑連接,復用裸光纖iSCSI遠程復制這樣的架構“容忍度”,可以幫助企業客戶節省昂貴的FC直連費用;另一方面,無論是本地站點還是遠程站點,戴爾的方案都支持同步或異步兩種方式,且支持動態調整,在鏈路狀況不穩定(這種事情在中國非常常見)的情況下,企業客戶可以選擇不同的復制方式。
第四,也是最重要的,Live Volume不是以“屏蔽”存儲陣列自身的軟件為條件的雙活甚至多活方案,豐富的存儲軟件功能是戴爾存儲在市場上的核心競爭力之一,如果為了增加一項功能而放棄整個“森林”,不僅企業客戶不會答應,對于將數據中心業務重點放在存儲上的戴爾公司來說,也是一個絕對不能夠承受的損失。
試想,如果未來真的實現了“控制平面與數據平面分離”的軟件定義存儲,控制平面具有極強的存儲軟件甚至是多融合平臺軟件能力(這從當前新的企業級高端存儲特性就能看出),難道就要如此白白放棄這部分昂貴的價值么?
做云時代的存儲雙活
在本文最后的這一部分,我們終于涉及到討論存儲雙活話題時經常會提到的一個概念:“(第三站點)仲裁”,在部分供應商的解決方案中,“(第三站點)仲裁”作為一個判定雙活切換的“裁判”角色,得到了非常重要的位置。
但是,這樣一個“裁判”真的必不可少,或者是,必須要以一個站點的形式存在么?
一方面,以中國企業客戶的實際情況來看,獨立的第三方仲裁(站點)幾乎不可能,在一個雙活數據中心(構建存儲雙活)之外,建立獨立的數據中心站點容納仲裁端,絕大多數企業都是承受不起的,而如果將“裁判”置于任何一方(站點),在發生數據中心鏈路或其他物理故障時,不過是徒勞無用。
另一方面,隨著云計算技術的普及,存儲雙活站點判定正常狀態的“Pulse(心跳)”,完全可以脫離開實際的物理站點,進入到一個可靠、可信、具備高速鏈路的云平臺上——位于云的仲裁站點通過判斷來自不同存儲系統的“Pulse”信號——以更具有經濟性和可靠性的方式,保障存儲雙活站點的高可用性。
軟件定義的甚至是云定義的“(第三方站點)仲裁”才是企業客戶最需要的,傳統的基于物理設備的存儲雙活判斷方式,是無法滿足企業客戶的需要的,它不僅昂貴,而且受限于物理空間的限制,而以存儲系統軟件功能形態存在的戴爾Live Volume則完全不存在于任何的限制——讓數據最終流動到云端,正是戴爾存儲業已成型的流動數據架構的價值。
另外,除了支持不同型號Compellent存儲系統的雙活解決方案,還有支持跨越不同的網絡接口協議來實現的雙活切換,小編先埋個伏筆,很快就會有后續文章詳細介紹哦!