WSFC2012 羣集存儲空間

從2008R2到2012R2 2016 再到即將發佈的2019,彷彿就在彈指一瞬間,在這個演變過程當中不少技術都發生了變化,有不少新鮮的場景涌現出來,不少好的技術在演變過程當中國內沒有人提到,尤其惋惜,今天老王來爲你們補遺一個羣集存儲池的技術場景前端

2018-07-17_124758_meitu_1.jpg

上來先來看圖 左側是傳統的SAN架構,右側是微軟軟於Windows Server 2012引入引入的簡單存儲管理架構,微軟提出來一個存儲空間的架構,用來替換掉原來價格昂貴的SAN,經過爲服務器接入簡單的JBOD或RBOD架構,而後,經過2012新推出的存儲池,存儲空間功能,來完成存儲上控制器的工做,存儲池化,磁盤分層,精簡磁盤,磁盤去重,磁盤鏡像奇偶校驗,將SAN上面控制器實現的功能,如今經過2012OS自己的存儲功能實現,底層只須要接入一個沒有控制器的JBOD磁盤捆綁,或者有RAID控制器的RBOD便可,適配器層使用微軟OS自帶的ISCSI,SMB3.0,NFS協議直接鏈接存儲,全部對於存儲的配置再也不須要由存儲管理員完成,系統管理員就能夠直接在OS上面進行存儲配置,簡單管理,節約SAN成本,存儲虛擬化,靈活分配存儲,這是微軟存儲池,存儲空間所解決的目的node


常有人將存儲空間,SOFS的概念搞混,覺得SOFS就是存儲空間,老王這裏特意和你們解釋下這幾個概念的區別
windows


存儲空間是爲了解決經過簡單存儲+OS配置,軟件實現硬件存儲陣列的容錯,存儲池,存儲分層,去重功能後端

SOFS是基於SMB3.0,DNS輪詢,WSFC CSV的連續性共享功能,利用SOFS共享能夠得到,AA模式的訪問交付,橫向擴展優化,透明故障轉移能力服務器

Windows Server 2016的SDS是一種超融合交付存儲資源池的模型,經過SDS能夠支持由各節點本地共享磁盤,造成跨服務器的存儲池,結合WSFC與存儲空間實現端到端存儲故障域感知網絡

SOFS底層能夠是JBOD存儲空間,SAN,SDS,ISCSI    ,    SOFS SDS 存儲空間三者之間並沒有必然聯繫 架構

QQ圖片20180717192436.jpg


上面和你們介紹了下單機上面存儲池,存儲空間的概念,其實對於新上手2012的人可能會對存儲空間這個名詞有點陌生,我在管理工具裏面看不見存儲空間,只能看見存儲池,那個是存儲空間?其實存儲空間就是基於存儲池上面建立的虛擬磁盤,當咱們建立虛擬磁盤時會配置分層,精簡,容錯,這個過程其實就是在建立存儲空間ide


那麼你們看到微軟這套簡單存儲管理架構裏面,最關鍵的是那部分,無疑是第一張圖裏面存儲控制器的部分,經過這部分實現存儲池,存儲空間,可是你們都只知道這是單臺架構,若是隻能用於單臺服務器,那企業最多隻是用來解決存儲虛擬化,節約SAN成本的問題,可是距離真正的企業級應用仍是有一點距離工具


所以還有另一個技術場景,羣集存儲空間,若是我將存儲控制器這一層實現的存儲池,存儲空間,經過高可用羣集實現,默認狀況下有一個服務器承載,這臺服務器宕機,由另一臺存儲服務器繼續承載存儲控制器,是否更加貼合實際應用了呢,這樣的話咱們就能夠利用這樣一套簡單存儲+Windows羣集的架構,來真正的爲業務提供存儲使用佈局


須要注意的是羣集存儲空間的概念,與ISCSI target服務器羣集的概念不同,若是我在羣集裏面提供了ISCSI target角色,那麼我其實是作的存儲前端適配器這一層的容錯,便是說我對外面用戶訪問個人ISCSI協議進行了高可用,若是一臺節點鏈接不上ISCSI,其它節點還能夠鏈接,而羣集存儲空間是存儲池+存儲空間的高可用


經過羣集存儲空間,咱們會在WSFC2012上面構建羣集存儲池,再基於羣集存儲池建立羣集存儲空間,建立羣集磁盤卷,被建立的羣集磁盤卷,將直接做爲羣集磁盤,羣集磁盤能夠直接轉爲CSV提供給自身Hyper-V使用,或構建後端SOFS羣集,提供給前端Hyper-V羣集使用,但不論如何,這個CSV的底層是由一個高可用的存儲空間而來,咱們對這個存儲空間進行容錯或分層設置,即使當前節點失敗,轉移到另外節點,CSV底層磁盤仍然是保留咱們的設置


雙端架構上能夠選擇


前端單臺Hyper-V,後端羣集存儲空間SOFS

前端多臺單機Hyper-V,後端羣集存儲空間SOFS

前端Hyper-V羣集,後端單臺存儲空間

前端Hyper-V羣集,後端羣集存儲空間SOFS


不一樣的選擇也將得到不一樣的彈性,高可用性,可是須要注意的一點是,若是您是這種前端Hyper-V,後端存儲空間架構,那麼Hyper-V鏈接到存儲時會採用SMB3.0協議,去掉傳統SAN的代價是網絡改造,建議爲前端虛擬化到後端存儲之間準備10GB網絡,以保證存儲性能,最好網卡可以支持RDMA技術


除了這四種場景外,還有一種微軟在國內不多說起的場景,Cluster in a box解決方案


這種解決方案是什麼意思呢,你們能夠把它想象成一個開箱即用的盒子,這個盒子裏面有兩個計算節點,SAS Expander鏈接JBOD存儲,盒子買來會直接幫咱們配置好硬件容錯,配置好羣集,配置好羣集存儲池,羣集存儲空間,咱們只須要上電使用就能夠了,一般這種盒子是由廠商OEM提供,它們會把盒子設計成故障域架構,始終幫咱們保證有一個計算節點和存儲可用,對於中小企業或分支機構不失爲一個不錯的方案,據老王所知Dataon 富士康如今在提供這種盒子

2018-07-17_131608.png


實際環境下若是要配置羣集存儲空間您能夠結合本身公司的場景選擇合適的架構,並不必定非要是這種CIB,若是是構建一組羣集存儲空間服務器,那麼只要各節點SAS Expander接入JBOD存儲便可,JBOD能夠是一個,也能夠是多個配置冗餘


下面說下羣集存儲空間的先決條件


  1. Windows server 2012/R2 標準版,數據中心版,或Windows Storage Server 2012 Standard

  2. 微軟認證的SAS JBOD機箱 JBOD官方認證列表

  3. 故障轉移羣集中建立存儲池至少須要三個物理驅動器,每一個驅動器的容量至少爲4GB,更多取決於列數和彈性。雙奇偶校驗存儲空間至少須要七個驅動器

  4.  羣集存儲池必須由SCSI(SAS)鏈接的物理磁盤組成。不支持使用內部RAID卡或帶有RAID控制器的RBOD

  5.  存儲池磁盤必須爲固定格式,不支持精簡磁盤



須要注意

在2012時代,羣集存儲池還不支持底層由SATA構成的磁盤加入,2016 SDS能夠支持SATA磁盤

在2012時代若是想要利用SATA磁盤建立高可用的存儲池,建議藉助Starwind產品


實驗場景


08DC 10.0.0.2 255.0.0.0 

30.0.0.2 255.0.0.0


12node1 

10.0.0.5 255.0.0.0 10.0.0.2 

18.0.0.5 255.0.0.0

30.0.0.5 255.0.0.0


12node2 

10.0.0.6 255.0.0.0 10.0.0.2 

18.0.0.6 255.0.0.0

30.0.0.6 255.0.0.0


在個人環境中因爲我沒有JBOD,因此我用DC模擬ISCSI服務器提供給兩臺存儲節點


經過ISCSI分配給羣集存儲空間節點3個4GB磁盤

2018-07-17_103619.png


打開故障轉移羣集管理器管理控制檯(cluadmin.msc),在面板左側,展開「 存儲」,右鍵單擊「 池」,而後點擊「新建存儲池」

2018-07-17_204115.png

指定存儲池的名稱,選擇擁有羣集存儲空間的存儲子系統,點擊下一步

2018-07-17_103716.png

配置羣集磁盤物理磁盤架構,自動或熱備用,若是須要配置分層,稍後建立完成後能夠手動更新MediaType標籤

2018-07-17_103741.png

建立完成界面以下,當前已經構建了羣集存儲池,能夠勾選下面按鈕繼續建立存儲空間,或稍後手動建立

2018-07-17_103824.png

建立完成後手動選擇存儲池界面下的新建虛擬磁盤,此步驟便是開始建立羣集存儲空間

2018-07-17_104308.png

輸入虛擬磁盤名稱,即羣集存儲空間名稱,若是須要配置存儲分層,應該在建立完成羣集存儲池以後去更新標籤

2018-07-17_104342.png

選擇配置羣集存儲空間容錯佈局,在2012時代羣集存儲空間僅支持簡單和鏡像,2012R2開始羣集存儲空間支持奇偶校驗佈局

2018-07-17_104357.png

建立完成羣集虛擬空間後,自動彈出新建卷嚮導,選擇基於羣集存儲空間磁盤建立卷

2018-07-17_104442.png

建立出來的卷,將自動顯示在羣集可用存儲中

2018-07-17_104657.png

能夠將由羣集磁盤添加上來的再添加爲CSV,上面咱們提到的四種場景都是說的Hyper-V與存儲分離,咱們也能夠嘗試一種超融合的架構,這種超融合架構能夠看到從2012時代就開始了,例如咱們就四個節點,能夠構建起來羣集,先用着四個節點構建羣集存儲空間,最終到這一步構建出羣集共享卷,而後再這四個節點上面安裝Hyper-V,就跑在由羣集存儲空間構建出來的CSV上。有人說這樣性能很差,可是爲了保證存儲到計算端到端容錯,這也何嘗不是一種合適的架構。


那麼到了2016這種架構是否是就消失了呢,2016的羣集存儲池既能夠用2012延續的JBOD這種方式構建,也能夠用SDS構建,在2012若是使用這種超融合架構咱們須要好好設計仲裁以及維護操做,以確保架構穩定運行,2016咱們能夠進一步利用站點感知和故障域感知技術。


2018-07-17_104856.png

或者咱們也能夠將羣集作成基於羣集存儲空間上層的SOFS,而後經過這個SOFS爲上層的SQL羣集或Hyper-V羣集使用

2018-07-17_105648.png

測試存儲控制器故障轉移,當前羣集存儲池由12node1承載

2018-07-17_105708.png

暫停12node1節點,存儲池架構直接在12node2上面聯機

2018-07-17_110712.png

羣集虛擬空間,以及羣集共享卷,聯機上線正常使用,存儲控制器配置信息即使轉移到另外節點也獲得保留

2018-07-17_110732.png

在羣集運行中也支持手動故障轉移羣集存儲池

2018-07-17_111034.png


這裏須要爲你們指出的一個問題是採用羣集存儲空間後的羣集仲裁設置,最開始老王犯了一個錯誤,讓羣集直接使用羣集存儲空間的仲裁磁盤,這就有可能會存在一個問題,假設我羣集只剩下兩個節點+羣集存儲空間構建出來的見證磁盤,假設見證磁盤背後存儲池所在的節點宕機,爲何是羣集存儲池,由於一切羣集磁盤都是經過羣集存儲池建立的,羣集存儲池節點若是宕機,那麼一切也就不存在了。假設剩下兩個節點,或關鍵票數節點的時候,羣集存儲池節點土壤宕機,致使見證磁盤,來不及調整投票,致使須要強制啓動羣集,以後要手動聯機存儲池,存儲空間


所以最優設計,應該是在最初設計JBOD磁盤的時候,單獨留出來一塊磁盤,不加入羣集存儲池,這塊磁盤做爲羣集仲裁,不受羣集存儲池節點映像,第二設計是採用文件共享仲裁


其它須要注意的地方


  1. 已經分配給羣集存儲池的磁盤不能再添加到其它存儲池使用

  2. 若是要部署具備更多節點的羣集,則可能還須要SAS交換機以使全部節點可以鏈接到JBOD中的全部磁盤

  3. 若是須要將羣集配置爲SOFS,須要爲每一個節點安裝文件服務器角色

  4. 若是須要爲羣集磁盤或羣集共享卷啓用重複數據刪除,需在每一個節點安裝重複數據刪除功能

  5. 內部RAID卡或RBOD雖然在羣集存儲空間架構不被支持,可是單機上面能夠支持


存儲空間的管理能夠經過羣集管理器或2012服務器管理器,不管是單機存儲空間,或是羣集存儲空間,均可以在服務器管理器裏面配置,利用存儲空間,存儲池配置的磁盤將得到靈活彈性,磁盤享受存儲空間的容錯配置,分層配置,若是磁盤大小不夠能夠由存儲空間給予在線擴展,若是存儲空間不夠,能夠經過增長磁盤擴展,存儲池能夠配置爲自動修復機制,自動替換備用磁盤


若是咱們有SCVMM架構的話,也能夠利用SCVMM集中幫咱們管理羣集存儲池,羣集存儲空間,SOFS


將存儲池羣集做爲Providers添加進入存儲基礎結構

2018-07-17_210855.png

管理羣集存儲池陣列

2018-07-17_210743.png

將添加進來的羣集存儲池,經過建立邏輯unit的方式劃分,而後分配給計算節點

2018-07-17_211327.png

若是羣集配置有SOFS,能夠將SOFS與羣集存儲池一塊兒加入SCVMM管理,構建端到端的存儲管理


但願能夠經過這篇文章讓你們瞭解羣集存儲空間的概念,爲你們帶來思考與應用 

相關文章
相關標籤/搜索