今天老王來和你們聊聊WSFC 2016裏面的工做組部署模型,正如老王剛開始在WSFC 2016系列開篇所講,對於WSFC 2016 咱們會從維護管理,排錯優化,部署遷移幾個點分別講起,基本上咱們對於WSFC 2016維護管理的新功能已經講的差很少,優化和部署還有幾篇未完
sql
在講到工做組部署模型以前呢,咱們首先來看看歷史問題,爲何要有工做組部署模型shell
早起在2003時代,若是咱們要創建一個羣集,每一個羣集都須要使用一個CSA(Cluster Service Account),即一個域帳號,用於支持羣集服務啓動和羣集資源的運行服務器
這樣的模型運行了一段時間後,有的管理員開始抱怨,一旦不當心修改了這個帳號的密碼,或者應用上了一些帳號管理策略,羣集沒法啓動了,等等。網絡
因而在2008時×××始,微軟改變了這種羣集帳戶模型,引入了CNO和VCO模型架構
CNO Cluster Name Object負載均衡
1.做爲羣集訪問標識的一部分,管理員或應用能夠鏈接到CNO訪問羣集ide
2.負責管理VCO 虛擬機計算機對象的建立,密碼同步,VCO DNS記錄建立維護。優化
3.CNO會被寫入特定的SPN,應用程序會經過CNO來和羣集完成Kerberos驗證ui
4.CNO會被建立和VCO之間的關聯關係,在羣集節點註冊表中能夠獲得查看加密
基本上當咱們建立羣集的時候,輸入的羣集名稱,羣集就會拿着使用咱們當前建立羣集的帳戶,聯繫到AD,在指定OU下生成CNO計算機對象,所以咱們建立羣集的帳戶須要能夠在OU上面建立計算機對象的權限,建立完成CNO後,還會拿着咱們的帳號去DNS裏面建立CNO的DNS記錄。計算機對象和DNS記錄合起來算做一個CAP,管理或應用都依賴於這個CAP去訪問羣集。
建立完成CNO以後,所謂VCO 虛擬計算機對象,便是指,咱們在羣集上面跑的羣集應用,一般狀況下大部分羣集應用都會要單獨的訪問名稱和IP,嚮導完成後,羣集就會拿着咱們輸入的訪問名稱,去AD裏面建立VCO,以及VCO的 DNS記錄,這裏VCO的計算機對象和DNS記錄,就是由CNO負責維護的了,CNO建立完成VCO後會在VCO ACL裏面寫入CNO的權限。
基本上你們能夠看到,在2008時代以後,羣集和AD域的關係變的愈來愈緊密,若是你要部署Windows Cluster,那麼就必定要有一個AD,那對於不少企業來講可能就面臨一些問題
我企業裏面只有幾個SQL DBA,咱們須要SQL羣集,可是又不懂AD,部署羣集須要AD,AD出現問題,SQL DBA沒辦法解決AD層面的問題
帶來額外的管理成本
一旦AD域服務器進行維護,羣集將沒法啓動
上面咱們說到羣集會在AD中建立CNO,VCO計算機對象,它們和其它計算機對象也是同樣的,也須要進行密碼同步,啓動時也須要聯繫到AD進行驗證,在2012以前,假設這時AD服務器正在維護重啓,這時候若是羣集正在進行故障轉移,手動切換,或冷啓動,羣集須要聯機上線時,你會發現羣集網絡名稱資源時沒辦法鏈接的,由於聯繫不到AD,CNO和VCO沒法進行驗證,所以羣集會關閉,只有等AD從新啓動時,羣集才能啓動,這樣就致使了額外的停機時間
其關鍵仍是羣集與AD太過於緊密了,每次聯機都須要和AD進行驗證,並且Kerbros驗證也須要通過AD
因此有的企業若是沒有AD域環境的需求,可能就在想能不能不用AD域,或者減輕羣集對於AD域的依賴
微軟在WSFC 2012時代更新了這方面的技術,主要有兩個
無Active Directory集羣啓動
在一些虛擬化場景下,可能域控制器也進行了虛擬化,就在羣集中,那麼就極可能會陷入一個循環問題,羣集啓動,可是虛擬機在羣集裏面,而域控虛擬機沒啓動羣集又始終啓不來,WSFC 2012微軟在虛擬化域控制器的場景下,能夠支持域控制器沒啓動下,先讓羣集節點啓動。
Tip:雖然微軟宣稱有了這項技術,但仍是建議你們額外部署一臺域控在羣集外,或始終保留一臺物理機域控
2.無Active Directory依賴羣集
2012開始支持無AD依賴羣集,即不須要建立CNO與VCO對象的羣集,羣集管理員再也不須要過多關心AD,也不須要擔憂CNO VCO對象被刪除,致使羣集沒法使用的狀況,在2012時代,此技術仍須要羣集節點加入到域,但建立羣集的時候不須要聯繫AD管理員分配AD寫入權限,羣集管理員徹底就能夠自行建立羣集
這種所謂的無AD依賴羣集,看起來很好,結合無AD羣集啓動技術,能夠把對於AD的依賴降到最低,可是隨之也有它的弊端,No Computer Object No Kerberos,您不能對無AD依賴羣集進行Kerberos的驗證,雖然在羣集內通訊可使用Kerberos,可是從外面訪問羣集名稱要作驗證,只有經過NTLM
如下爲羣集負載對於無AD依賴環境的支持狀況
集羣工做負載 | 支持/不支持 | 更多信息 |
SQL Server | 支持 | 咱們建議您使用SQL Server身份驗證進行Active Directory獨立的羣集部署。 |
File server | 支持,但不推薦 | Kerberos身份驗證是服務器消息塊(SMB)流量的首選身份驗證協議。 |
Hyper-V | 支持,但不推薦 | 支持快速遷移,不支持實時遷移,由於它具備對Kerberos身份驗證的依賴。 |
Message Queuing (also known as MSMQ) | 不支持 | 消息隊列存儲屬性在AD DS |
除上述資源外:Bitlocker羣集磁盤加密,自動更新的CAU也不被支持
基本上最適合的負載就是SQL Server了,SQL DBA如今能夠部署一個SQL羣集或SQL Always on,而後使用SQL身份驗證,AD服務器重啓維護短期也不會影響到SQL羣集的正常運行。
2012時代建立一個無AD依賴羣集步驟以下
#建立無AD依賴羣集
New-Cluster SQLCluster -Node sql01,sql02 -StaticAddress 10.0.0.80 -NoStorage -AdministrativeAccessPoint Dns
#查看羣集管理點模式
(Get-Cluster).AdministrativeAccessPoint
命令中的AdministrativeAccessPoint即羣集的管理點模式,默認狀況下是由CNO計算機對象+DNS記錄共同構成,若是您不須要羣集依賴於AD,不須要CNO,那麼您單獨指定僅DNS做爲管理點便可
須要注意,WSFC 2012建立無AD依賴羣集,沒有GUI的方式,只有經過Powershell操做
一旦建立完成後羣集部署架構已定,沒法更改,除非摧毀重建羣集
建立完成無AD依賴羣集後,您須要爲羣集配置共享存儲,見證模型,在工做組羣集或多域羣集中,羣集見證僅支持多數節點,磁盤見證,雲見證
這是2012時代的模型,好像國內對於這項功能關注的朋友並很少,事實上老王以爲一些SQL DBA卻是應該瞭解下,至少能夠減小你SQL羣集對於AD域的一部分依賴
也maybe是無AD依賴環境仍是存在一些問題,例如仍然仍是須要AD,而AD又一般和DNS在一臺,若是這臺服務器維護,一段時間事後羣集也可能出現問題。
到了WSFC 2016時代,微軟完全如你們所願,如今能夠在一個徹底工做組的環境下部署WSFC羣集,連域成員身份也不須要了,完全擺脫AD,直接使用工做組就能夠部署羣集,這對於企業沒有AD域環境,又想要部署羣集,或者想要部署羣集可是又不一點也想管理AD域的管理員來講就太方便了
可是和2012時代無AD依賴同樣,No Computer Object No Kerberos,支持的負載依然同樣,最適合的負載仍是SQL 羣集&AG 使用SQL身份驗證
實驗驗證WSFC 2016工做組模式羣集
環境介紹
DNS&iscsi
lan:10.0.0.2 255.0.0.0
iscsi:30.0.0.2 255.0.0.0
HV01
MGMET:10.0.0.9 255.0.0.0 DNS 10.0.0.2
ISCSI:30.0.0.9 255.0.0.0
CLUS:18.0.0.9 255.0.0.0
HV02
MGMET:10.0.0.10 255.0.0.0 DNS 10.0.0.2
ISCSI:30.0.0.10 255.0.0.0
CLUS:18.0.0.10 255.0.0.0
工做組模式羣集先決條件
全部節點操做系統必須爲Windows Server 2016
全部節點必須使用已經認證的標識硬件
全部節點必須安裝故障轉移羣集功能
工做組模式羣集需在各節點使用相同密碼相同用戶,該用戶須要是本地管理組成員,若是是非administrator用戶還需額外修改註冊表鍵值
對於工做組模式羣集,要求每一個節點須要有主DNS後綴
操做流程
在各節點建立相同密碼本地用戶
添加用戶進入各節點本地管理員組
設置用戶密碼,並勾選密碼永不過時
修改註冊表鍵值
因爲咱們沒有使用默認的administrator用戶,因此咱們須要修改各節點註冊表鍵值
進入註冊表以下位置HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
新增DWORD鍵值LocalAccountTokenFilterPolicy,設定值爲1
爲各節點新增DNS主後綴,修改完成後需重啓
先決條件都準備完成後,咱們能夠經過GUI或Powershell建立工做組羣集,Powershell命令和2012無AD依賴羣集相同
這裏咱們選擇經過GUI界面進行建立,打開故障轉移管理器,建立羣集,添加節點名稱,正常狀況下輸入後應該能夠看到帶DNS後綴的節點
羣集驗證,這裏咱們暫時選擇否
輸入羣集名稱,這裏若是咱們部署的是傳統的AD域模型,會拿着咱們這個名稱去建立CNO和DNS管理點,可是這裏因爲咱們是工做組模型,所以只會建立DNS管理點
點擊下一步確認,能夠看到,羣集建立嚮導識別出咱們當前是工做組羣集,自動幫咱們確認爲僅DNS註冊
建立完成後能夠看到,羣集當前正常工做,且自動幫咱們選擇大於512MB的最小磁盤做爲見證,WSFC 2016 不管是工做組羣集或是多域羣集,都不支持文件共享見證。
這時若是執行羣集驗證嚮導,能夠看到關於AD配置的警告,警告指出咱們當前是工做組模式部署,須要爲全部節點更新相同的補丁,確保DNS名稱被複制到羣集節點的權威DNS服務器
Tip:別忘記,生產環境下執行羣集驗證,若是勾選存儲驗證,會致使應用脫機聯機
工做組羣集建立完成後,下面咱們能夠開始作基於羣集的應用部署,按照微軟的建議,依然是使用SQL身份驗證的SQL羣集&AG爲最佳場景,但老王認爲不須要Kerberos驗證,又不須要寫入AD域對象的應用,也嘗試工做組部署模型。
WSFC 2016新功能大部分也均可以用於工做組模式羣集 ,例如
故障域站點感知
站點運行情況檢測
Cloud Winess
Cluster Log 優化
簡單的SMB多通道
羣集VM負載均衡 ( No LiveMigration Only QuickMigration )
VM彈性與存儲容錯 ( No LiveMigration Only QuickMigration )