WSFC2012 爲何網絡名稱聯機失敗

各位朋友可能在WSFC2012上面安裝羣集角色時常常會遇見網絡名稱聯機失敗的問題,致使羣集應用沒有配置成功,最終應用不會正常對外提供服務,例如SQL Server,DTC,一些時候即使是重裝也不能解決,那麼到底爲何會產生這個問題,今天咱們就來從頭分析服務器


SQL Server Setup Error

The cluster resource ‘SQL Server’ could not be brought online due to an error bringing the dependency resource ‘SQL Network Name ’ online.網絡


提到這個典型錯誤,若是想完全理解,就不得不從CNO,VCO講起,本文老王將把這些概念再串起來說一次,力圖讓管理員可以完全理解dom


高可用羣集的一個最關鍵特色,就是要持續對外提供服務,所以須要實現一個邏輯對外名稱,背後由羣集邏輯進行協調,若是當前正在對外提供服務的某節點宕機,自動將用戶對邏輯對外名稱的訪問請求轉移至其它活着的節點上提供,讓用戶始終覺得羣集應用是活着的ide


這個邏輯對外名稱在微軟WSFC體系中實現爲客戶端訪問點,客戶端訪問點,一般有DNS,CNO,VCO三部分,DNS記錄用於客戶端訪問解析羣集及羣集應用,CNO用於支持羣集鏈接,羣集Kerberos驗證,VCO用於幫助特定羣集應用實現節點導向spa


對於一個羣集來講,完整的客戶端訪問點包括羣集DNS記錄+羣集CNO名稱,若是僅使用DNS記錄,例如工做組羣集,多域羣集,將不支持Kerberos驗證。orm

對於一個羣集應用來講,完整的羣集應用訪問點,包括應用DNS記錄+應用VCO名稱,具體採用什麼級別的應用訪問點,視應用狀況而定,例若有的羣集應用能夠共用羣集DNS+羣集CNO,則不須要再建立應用訪問點,或者僅須要DNS記錄,或者建立完整應用訪問點,若是羣集應用是完整的應用訪問點,那麼應該是羣集應用在身份驗證,或者故障轉移導向上面有所要求,須要使用單獨的計算機對象實現。對象


  CNO   Cluster Name Object於WSFC 2008被引入blog


  1.做爲羣集訪問標識的一部分,管理員或應用能夠鏈接到CNO訪問羣集ci

  2.負責管理VCO 虛擬機計算機對象的建立,密碼同步,VCO DNS記錄建立維護。資源

  3.CNO建立完成VCO後會在VCO ACL裏面寫入CNO的權限

  4.CNO會被寫入特定的SPN,應用程序會經過CNO來和羣集完成Kerberos驗證

  5.CNO會被建立和VCO之間的關聯關係,在羣集節點註冊表中能夠獲得查看

  6.誤刪CNO或VCO對象會致使羣集沒法正常聯機,應用沒法和羣集進行Kerberos驗證



簡單看了下概念以後下面咱們經過實際案例進一步理解,爲何網絡名稱沒法聯機在WSFC 2008時代不多見,而在WSFC 2012常常看到


最關鍵的答案是CNO對象建立位置原則


在WSFC 2008時代,不論咱們的羣集節點計算機對象,在那個OU下面,羣集CNO對象和VCO對象,都只會被建立在默認Computer容器下,除非咱們提早在其它OU下面預置了CNO,VCO對象


如圖所示,我已經按照規劃把羣集計算機節點放置在單獨OU下

2018-05-30_211918.png

可是當安裝羣集的時候,WSFC 2008依然會把CNO VCO放置在默認Computers容器2018-05-30_223820.png


又由於默認計算機容器每一個對象都有權建立計算機對象,所以只要建立羣集的帳戶具有Computers的建立計算機對象 及 讀取全部屬性權限 ,CNO對象和VCO對象就能夠被正常建立出來,即便CNO已移到不一樣的OU,VCO仍是會在默認計算機容器建立


所以,WSFC 2008時代基本上不會遇見網絡名稱沒法聯機的問題,網絡名稱沒法聯機,該問題一般就是指CNO或VCO對象,沒法在AD中被正常建立,權限不足


爲何 WSFC 2012以後常常碰見這個錯誤,答案就是CNO對象建立位置原則發生了改變


最關鍵的兩點


  1. WSFC 2012開始CNO對象將跟隨羣集計算機對象在同一個OU下建立

  2. CNO將跟隨VCO對象在同一個OU下建立

2018-05-30_221748.png

規則改變後帶來什麼影響,好的一面是能夠幫助AD計算機對象規範化,很差的一面就是帶來了額外的權限授予工做


設想一下,WSFC 2012中,若是咱們將羣集節點計算機對象移到一個新OU下,那麼羣集CNO也將在該OU建立


建立CNO的工做由羣集安裝帳戶完成,所以須要確保羣集安裝帳戶對節點所在OU具有建立計算機對象 及 讀取全部屬性權限  或直接加入domain admins組


CNO建立完成後,緊接着咱們須要在上面跑羣集應用,建立VCO,而VCO是由CNO負責建立維護,可是因爲不是默認計算機OU,因此CNO對於節點所在OU並無權限,所以建立VCO過程會失敗,進而羣集顯示網絡名稱沒法聯機。


錯誤呈現以下


2018-05-30_221233.png


2018-05-30_221315.png


解決辦法,針對單獨規劃的羣集OU,添加CNO計算機權限 建立計算機對象讀取全部屬性權限 ,不管是規劃好的全新安裝,或是先安裝好了羣集,而後CNO對象和羣集計算機對象移到了其它OU,都在當前CNO對象所在OU執行此操做。


2018-05-30_221458.png


2018-05-30_221509.png


權限授予完成後,再次啓動羣集角色,問題可解,羣集應用正常聯機


2018-05-30_221550.png


2018-05-30_221612.png


要規避此問題,解決辦法有二


  1. 不作規劃,羣集節點計算機就在默認計算機OU下,這樣CNO和VCO就能夠正常聯機,也無需添加CNO權限

  2. 一般狀況下企業裏面計算機對象不少,都放在默認計算機OU下面也很差看,不便於管理,所以老王建議爲羣集節點建立單獨OU是應該的,CNO,VCO對象會被建立在關聯的節點OU中也很好,惟獨就是安裝羣集角色時須要單獨授予CNO對象對於OU的權限,若是該OU下面會有不少個羣集的話,老王建議您能夠建立一個CNO計算機對象組,將全部剛安裝好的羣集CNO對象都自動加入到組裏面,而後針對於OU授予CNO組的權限,這樣每當建立應用的時候權限都是準備無缺的


還有一個問題,羣集名稱資源在DNS中註冊失敗,出於如下緣由,羣集網絡名稱資源'SQL Network Name(VirutalClusterName)'註冊一個或多個關聯的DNS名稱失敗


出現這個問題,是由於CNO對象對於DNS服務器沒有權限而致使,由於CNO對象負責維護VCO計算機對象和DNS記錄,所以VCO的DNS記錄也將由CNO對象去DNS中註冊建立,出現這個錯誤,就是CNO對象對於DNS區域沒有權限


手動爲CNO添加對DNS區域的 修改權限 建立權限便可,添加完成後,再次脫機聯機羣集角色,問題可解

wKioL1nLfVeC7CBdAAA3SWp8t9o810.png


小技巧,在WSFC中,若是咱們刪除羣集角色,則該VCO對象會變成禁用,銷燬羣集,CNO對象會變成禁用,若是咱們規劃好羣集OU,看見禁用的CNO和VCO對象,就能夠知道,它們是已經被刪除的羣集角色或羣集,能夠直接刪除,默認狀況下GUI界面銷燬羣集CNO對象爲禁用,若是使用命令Remove-Cluster -CleanupAD銷燬,則能夠銷燬過程直接刪除CNO

相關文章
相關標籤/搜索