以前部署集群需要的共享存儲條件非常高铅鲤,老一代用SCSI沐序,還有昂貴的FC SAN棺弊,后來有了iSCSI用IP SAN的方式瞬間把共享存儲的門欄降低了帆啃,實驗環(huán)境甚至要求不高的生產(chǎn)環(huán)境很容易的部署iscsi存儲溯泣。
Windows server操作系統(tǒng)很早就開始支持作為iscsi目標服務(wù)器虐秋。如果需要性能好一點選擇不是太差的raid卡,多加幾塊硬盤垃沦,再加上萬兆以太網(wǎng)卡客给,萬兆交換機目前來說也不是很難實現(xiàn)。如果正好有萬兆的帶光纖口交換機肢簿,可以上以太網(wǎng)光纖網(wǎng)卡靶剑,甚至可以選擇性能更好的IB光纖網(wǎng)卡(SMB直通),RDMA技術(shù)在兩個或者多個計算機進行通訊的時候使用DMA池充, 從一個主機的內(nèi)存直接訪問另一個主機的內(nèi)存桩引。這些配件淘寶二手都比較便宜。
SMB3.0是SMB最新版本收夸,提供了許多新功能阐污,如:SMB透明故障轉(zhuǎn)移,SMB多通道疊加咱圆,SMB直連(SMB Direct)等笛辟。SMB3.0能夠在以太網(wǎng)上實現(xiàn)不錯的文件訪問速度,從而能匹敵DAS的性能序苏。因而在Windows網(wǎng)絡(luò)環(huán)境中手幢,SMB可以作為替代iSCSI的另一個選擇。
上面簡單的介紹了幾種共享存儲的方式忱详,相關(guān)知識點網(wǎng)絡(luò)上都有围来,部署安裝教程也很多。最近在研究hyper-v over SMB ,下面簡單講一下個人在部署當(dāng)中碰到的問題监透。
我們知道hyper-v虛擬機可以存儲在本地磁盤桶错,但為了能夠?qū)崿F(xiàn)高可用性,需要把數(shù)據(jù)存儲在共享存儲上面胀蛮,下圖可以看出SAN和hyper-v over SMB之間的本質(zhì)區(qū)別
雙節(jié)點SMB故障轉(zhuǎn)移集群共享需要部署Windows文件服務(wù)器角色院刁,單節(jié)點只需設(shè)置共享文件夾即可,之前一直不明白這個文件服務(wù)器是如何使用的粪狼,上圖windows file server node是2個Windows文件服務(wù)器節(jié)點退腥,這2個Windows節(jié)點也要組成集群,可以和上面hyper-v server node在一個集群再榄,也可以獨立建一個集群狡刘,文件服務(wù)器角色本身也是需要接共享存儲才能使用可以是DAS,F(xiàn)C SAN 困鸥。
這里可能有個疑問嗅蔬,既然是共享存儲為什么不直接使用上圖左邊SAN這種方式,這里講一下文件服務(wù)器角色的好處
Hyper-V over SMB是微軟特有的存儲解決方案有幾個好處:
節(jié)約成本疾就,重用舊有資產(chǎn)购城,使用便宜硬件。如果無需實現(xiàn)文件服務(wù)器的高可用性虐译,那么任何一臺連接的存儲設(shè)備的PC都可以充當(dāng)Hyper-V集群的共享存儲的提供者,文件服務(wù)器的存儲可以采用任何形式的存儲模式(DAS吴趴、NAS和SAN漆诽,),因而甚至可以是PC中的本地磁盤锣枝。如果實現(xiàn)文件服務(wù)器的高可用性厢拭,文件服務(wù)器故障轉(zhuǎn)移集群本身也需要共享存儲,因而文件服務(wù)器集群要么采用SAN撇叁,要么采用共享SAS連接JBOD供鸠,F(xiàn)C SAN所需要交換機非常昂貴,或者你的SAN沒有那么多的物理接口給多個hyper-v主機使用陨闹,那么SMB共享也不是不錯的選擇楞捂。推薦如下圖所示通過共享SAS連接JBOD,JBOD比傳統(tǒng)的RAID存儲陣列便宜趋厉,它沒有控制器寨闹,沒有RAID的高可用性,但配合Windows Server存儲空間特性君账,可以在文件服務(wù)器集群中實現(xiàn)高可用性和擴展性繁堡。
擴展性。文件服務(wù)器集群的節(jié)點可擴展。另外存儲空間可擴展椭蹄,如下圖各個文件服務(wù)器節(jié)點可連接2個以上JBOD闻牡,配合存儲空間特性實現(xiàn)大容量虛擬磁盤(存儲空間特性需要微軟驗證的JBOD才支持,可以在此查閱通過驗證的JBOD產(chǎn)品)绳矩。
兼容性罩润。多一層文件服務(wù)器或文件服務(wù)器集群,上層應(yīng)用只需訪問文件服務(wù)器而無需知道底層存儲的實現(xiàn)細節(jié)埋酬,因而可以兼容不同型號的產(chǎn)品哨啃。如下圖兩個JBOD可以來自不同廠家。
其他好處写妥,Hyper-V和其他微軟產(chǎn)品的完美配合以及微軟的產(chǎn)品簡單易用拳球。
另外一個問題,在設(shè)置SMB共享文件夾的時候權(quán)限問題困擾了我好久珍特,搜索了很多教程都沒有重點提出這個問題祝峻,如果使用默認權(quán)限的話虛擬機是可以啟動,但是無法做熱遷移扎筒,就是把虛擬機從一個節(jié)點遷移到另外一個節(jié)點莱找,會報錯提示權(quán)限問題,無論是設(shè)置委派還是添加域管理員權(quán)限都不能實現(xiàn)遷移嗜桌,最后添加了一個Everyone完全控制權(quán)限就成功了奥溺,但是這樣肯定不符合安全設(shè)置,除非存儲的網(wǎng)絡(luò)是物理隔離的骨宠,但還是不建議這樣操作浮定,有時間再研究一下這個權(quán)限問題。
----------------更新------------------
在測試環(huán)境中創(chuàng)建雙節(jié)點文件服務(wù)器角色運行成功层亿,在我自己的生產(chǎn)環(huán)境中創(chuàng)建角色運行失敗桦卒,一直沒有找到原因,下面是錯誤日志(SMB是我的文件服務(wù)器角色名稱匿又,HYVM是群集名稱)
在以下過程中方灾,群集網(wǎng)絡(luò)名稱資源“SMB”無法在域“hx.x”中創(chuàng)建關(guān)聯(lián)的計算機對象: Resource online。
相關(guān)錯誤代碼文字為:
無法完成此功能碌更。
請與域管理員合作以確保:
- 群集標識“HYVM
”相同的容器中創(chuàng)建的痛单。
- 尚未達到計算機對象配額击费。
- 如果存在現(xiàn)有的計算機對象,請使用“Active Directory 用戶和計算機”工具驗證群集標識“HYVM$”是否具有該計算機對象的“完全控制”權(quán)限桦他。
終于找到相關(guān)資料:https://docs.microsoft.com/zh-cn/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/dn466519(v=ws.11)
由于我在生產(chǎn)環(huán)境AD域當(dāng)中創(chuàng)建了一個HY的組織單位OU蔫巩,把所有集群主機谆棱、集群名稱計算機對象都移動到了HY下面,導(dǎo)致創(chuàng)建SMB文件服務(wù)器角色的時候因為沒有權(quán)限失敗圆仔,默認加入到域的計算機對象是在Computers這個OU下面垃瞧。創(chuàng)建文件服務(wù)器角色需要集群名稱計算機對象HYVM有 “創(chuàng)建計算機對象” 的權(quán)限(HYVM所在的OU),下面是權(quán)限設(shè)置方法:
在AD用戶和計算機里面打開高級功能
打開HY屬性安全選項卡坪郭,選擇高級
點擊添加角色
在彈出的頁面當(dāng)中選擇主體个从,對象類型勾選計算機,查詢HYVM集群名稱
勾選創(chuàng)建計算機對象
設(shè)置完權(quán)限之后再次創(chuàng)建文件服務(wù)器角色就成功運行了歪沃,在HY下面多了一個文件服務(wù)器角色名稱的計算機嗦锐。也可以把HYVM移回到Computer 創(chuàng)建完角色之后再移動到其他OU。