基於WinSrv2016(TP)構建的「超融合基礎架構」

最近發現一個很熱門的話題,國內的不少廠商也搞出了本身的「超融合基礎架構服務器」,那麼什麼是「超融合基礎架構」呢?前端

超融合基礎架構(Hyper-Converged Infrastructure,或簡稱「HCI」)也被稱爲超融合架構,是指在同一套單元設備(x86服務器)中不只僅具有計算、網絡、存儲和服務器虛擬化等資源和技術,並且還包括緩存加速、重複數據刪除、在線數據壓縮、備份軟件、快照技術等元素,而多節點能夠經過網絡聚合起來,實現模塊化的無縫橫向擴展(scale-out),造成統一的資源池。數據庫

        其實把計算資源,網絡資源,服務器虛擬化集成不是很難理解,但我這裏的存儲資源須要拿出來單獨說一下,這裏我不是說專業的存儲設備或者構建共享存儲,我採用的是利用服務器的本地硬盤構建的存儲資源(存儲池)來實現,這點不少廠商也能夠作到,例如VMware的VSAN,那麼微軟是否能夠作到呢?這裏就是我所關注的地方。後端

在開始測試以前,我須要應用「隔壁老王(王老師)」的一段話給你們普及下微軟的一些關鍵詞與羣集技術:緩存

        微軟在2012版本提出了一個SOFS的概念,所謂的SOFS,老王的理解就是File Server On CSV,就和當時的Hyper-V on CSV同樣,2008裏面的Hyper-V羣集,只能同時容許一個節點對虛擬機進行讀取操做,同時虛擬機會對羣集磁盤進行鎖定,虛擬機羣集組就會佔用一個羣集磁盤,你們都懂的,後來2008R2微軟看出來了這個問題,推出了CSV羣集分佈式文件系統,其實也並不能算徹底分佈式,可是能夠容許全部Hyper-V節點,同時讀取虛擬機資源,虛擬機沒必要獨佔一個羣集磁盤,其實幕後真正的數據文件,仍是存放在lun裏面,只不過CSV在每一個羣集節點的C盤作了一個mount文件夾作share volume,而後2008R2開始的羣集能夠感應到CSV,能夠把虛擬機文件存放在CSV裏面,CSV會經過羣集網絡,來同步CSV元數據,羣集數據庫變化信息,心跳檢測信息,當其中一個羣集節點出現故障,並不會實際上發生羣集磁盤徹底的離線再上線,後臺實際上發生的只是CSV節點從這個節點切換到另一個節點,大大的縮減了故障轉移的時間。服務器

        同理SOFS也是這個道理,微軟所說的SOFS AA模式,我想也是這個道理,個人SOFS是基於CSV創建起來的,CSV是分佈在不一樣的羣集節點,當發生故障的時候,實際上SOFS會作的,只是從一個節點,切換到另一個節點,並不會實際上發生故障轉移的過程(卸載羣集磁盤,掛載羣集磁盤)。SMB3.0實現的SOFS最終交付的是一個UNC路徑,不一樣的對象訪問SOFS,會根據訪問的共享對象,進行負載均衡,可能這一次SMB客戶端訪問SOFS UNC路徑是1節點提供鏈接,下一次SMB客戶端訪問就是2節點提供鏈接,當1節點出現故障,用戶自動鏈接至2節點。網絡

        SOFS又有不少形態組成,不少人覺得SOFS只能是存儲池的模型,其實不是的,所謂的SOFS只是一種AA模式的文件服務器概念,提供最短的故障轉移時間,能夠透明的添加,或縮減節點。架構

可是SOFS並不會限制底層的存儲,究竟是什麼,SOFS只是認CSV,提供CSV,SOFS就能夠基於CSV作 「File Server on CSV」負載均衡

        舉個例子,若是你有四個節點,前端兩個Hyper-V節點,後端兩個File Server節點分佈式

那麼個人File Server底層能夠接的是SAN,ICSI,還有這兩年很熱的JBOD,RBOD,SAS共享等等ide

        只是說,微軟從2012開始,推出了他的存儲池,存儲空間的概念,原來SAN控制器作的事情,如今微軟的2012也能夠作了,微軟提倡的是採用JBOD或者SAS共享的方式,直接把一堆磁盤陣列接給服務器,爲企業節約硬件成本,而後原來SAN控制器作的事情,如今微軟幫你作了,好比分層,存儲池,去重,緩存,等等。

        順便提一下,這裏的JBOD說的是純粹的磁盤陣列,JBOD只負責把磁盤裝在一個盒子裏,而RBOD則支持在陣列中進行羣集RAID的配置

只是按照微軟的最佳實踐來說,微軟推薦,底層是JBOD,接給文件服務器,文件服務器再作羣集,而後在羣集裏面作羣集存儲池,羣集存儲空間,羣集存儲空間上面再作CSV,CSV上面再作SOFS,最終交付UNC路徑出來,而後經過SCVMM去管理監控SOFS和羣集存儲池,SCOM去監控SOFS的運行狀態

       因此在作SOFS架構設計的時候,文件服務器底層並不必定受限於JBOD,底層也能夠是ICSI,RBOD,SAS共享,SAN

這裏順便提一下,有的人說有有SAN了,就不必用SOFS了,其實不是這個概念,咱們架構設計的時候,是爲了SOFS提供出來的AA模式文件共享,爲了使用SMB wintess的透明切換,這一點是SAN存儲所作不到的,要實現AA模式共享,只有操做系統level,羣集level才能夠實現,,而微軟偏偏就是最懂系統的人,硬件廠商是不擅長作這種事情的。只是說有了SAN,咱們就能夠直接享受SAN控制器提供的高級功能,不用再在2012上面配置存儲池,存儲分層,硬件控制器提供的功能,比系統級別更加的可靠穩定,這就是SAN的優勢,我認爲。

       順便再提下,微軟推薦的這種模型,我相信有一部分人仍是不太理解的,

微軟推薦底層是JBOD,接給文件服務器,文件服務器再作羣集,而後在羣集裏面作羣集存儲池,羣集存儲空間,羣集存儲空間上面再作CSV,CSV上面再作SOFS,這種model

剖析下來看,JBOD,接文件服務器,沒什麼好說的,文件服務器作羣集也沒什麼好說的,而後羣集存儲池呢,就是說個人羣集創建的時候,先不使用羣集磁盤,而後把羣集磁盤堆棧起來,留給羣集羣處吃,在羣集裏面構建羣集存儲池,在構建羣集存儲池的時候,羣集能夠把羣集節點上面存在的全部羣集磁盤添加進入羣集存儲池,而後再基於羣集存儲池作羣集存儲空間,羣集空間裏面能夠實現爲羣集磁盤容錯,羣集存儲控制器的容錯,舉個例子,羣集存儲空間裏面作鏡像的存儲空間,那麼一個節點的一塊磁盤快掉,另一個節點仍是能夠正常使用,這個實現爲羣集磁盤的容錯,好比我在羣集存儲空間配置了存儲分層,那麼一個羣集節點壞掉,個人羣集存儲空間依然能夠提供存儲分層的服務,這個就是實現出來的羣集存儲控制器的容錯,可是羣集存儲空間,實現的模式是A/P模式,一主一待,並不會同時提供服務,這就是羣集存儲空間和SOFS的區別。

      當你試着打破這個羣集存儲空間的時候,好比你刪除了這個羣集存儲空間,你會發現兩個羣集節點上面,添加過到羣集磁盤的磁盤,內容都是同樣的。

      羣集存儲空間再上一層,可使用CSV,而後作CSV讀緩存,還能夠在羣集存儲空間開啓存儲分層,回寫緩存,從而爲上層的SOFS交付最佳的性能。

      最後再提一下,cluster in a box的概念,這個也是各個廠商都在提的,微軟和CIB,Super micro合做,也推出了使用於微軟的方案

      即提供一個盒子或者說是機架,這個盒子裏麪包括存儲羣集節點和Hyper-v節點,任意一個存儲節點或者hyper-v節點宕機,並不會影響到整個業務的運營,存儲節點和Hyper-v節點都是能夠橫向擴展的,而且能夠提供存儲分層,去重,存儲池等高級存儲功能。

      那麼在微軟新的Windows Server 2016(TP)版本中,這塊有了什麼變化呢?老王接着說「2012R2和2016的區別就是,2012R2SOFS的底層必須是JBOD,RBOD,ISCSI,SAN,2016開始,不叫SOFS了,叫SDS。2016可使用服務器自己的服務器硬盤,來貢獻羣集存儲池」。

備註:RBOD一組冗餘的磁盤;JBOD:簡單磁盤捆綁。

      那今天我就來測試一把微軟在Windows Server 2016構建「超融合基礎架構」的效果吧,這裏個人測試重點網絡部份較弱,還請你們包含,重點體現計算資源、存儲資源、虛擬化資源。個人測試環境也由於受到一些限制,所以我這裏採用了Hyper-V嵌套虛擬化來盜夢空間(既然是這樣的測試環境,天然生產環境要更好,不能比擬喲)

對於Windows Server 2016的SOFS,你們能夠先看看我以前寫的這篇文章「WinSrv2016橫向擴展存儲(SDS)[無共享存儲]」,先了解下,那我此次採用的是以下架構:

clip_p_w_picpath001

你們能夠參考:

https://technet.microsoft.com/en-us/library/mt126109.aspx

https://technet.microsoft.com/en-us/library/mt693395.aspx

測試角色以下:

1臺DC,4臺WinSrv2016(tp4),上層構建Win7虛擬機。

4臺WinSrv2016每臺宿主機掛載了4塊10G的磁盤。

那麼部署的過程我就再也不詳細描述,我只會對特別的地方進行截圖給你們介紹,基本的步驟和「WinSrv2016橫向擴展存儲(SDS)[無共享存儲]」同樣。

clip_p_w_picpath002

#建立羣集和啓用S2D

clip_p_w_picpath003

#建立存儲池

clip_p_w_picpath004

clip_p_w_picpath005

clip_p_w_picpath006

#建立虛擬磁盤

clip_p_w_picpath007

能夠啓用機箱感知了

clip_p_w_picpath008

選擇磁盤類型

clip_p_w_picpath009

clip_p_w_picpath010

這裏我選擇Mirror類型

clip_p_w_picpath011

在大小處就是從可用的64G中建立虛擬磁盤,爲何是64G呢?由於咱們的存儲池總大小是144G,雙副本就是除以2就是大約64G(可能要消耗點磁盤的一些空間存儲信息吧,個人猜想)

clip_p_w_picpath012

#建立卷

clip_p_w_picpath013

clip_p_w_picpath014

clip_p_w_picpath015

#建立羣集共享卷

clip_p_w_picpath016

clip_p_w_picpath017

開啓嵌套虛擬化

clip_p_w_picpath018

4臺宿主機安裝Hyper-V

clip_p_w_picpath019

重啓2次後在一臺節點宿主機上建立一個Win7的虛擬機

clip_p_w_picpath020

這就是嵌套虛擬化喲:(怎麼作嵌套虛擬化你們能夠看看徐老師的博客:Microsoft 嵌套虛擬化技術(Nested Virtualization)

clip_p_w_picpath021

接下來把該虛擬機變成高可用的羣集虛擬機

clip_p_w_picpath022

clip_p_w_picpath023

OK。接下來我測試下故障轉移鏈接咱們的嵌套虛擬化裏的Win7掉幾個包,記得我這裏是測試環境,若是是生產環境應該會好更多。

clip_p_w_picpath024

固然在線遷移是不會讓個人Win7關機再重啓的,而是掉1個包就切換到其餘節點繼續運行

clip_p_w_picpath025

開始實時遷移節點

clip_p_w_picpath026

從Stor1節點到Stor2節點看只掉了一個包

clip_p_w_picpath027

clip_p_w_picpath028

若是某個服務器節點須要關機,那麼您能夠直接關機會自動觸發故障羣集轉移,讓Win7在線遷移到其餘節點繼續運行的

p_w_picpath

p_w_picpath

p_w_picpath

最後我關掉了3個節點,只剩下Stor4節點,Win7就掛了,緣由是存儲空間不足而讓存儲池脫機。(還剩2個節點時,Win7還能夠繼續正常運行)

clip_p_w_picpath001[4]

clip_p_w_picpath002[4]

 

個人能力有限,所以先給你們分享到這,歡迎你們拍磚指正,您的支持,個人動力!

相關文章
相關標籤/搜索