如何在沒有域的環境中搭建AlwaysOn(一)


       對DBA而言,不需要域就可以搭建SQL Server AlwaysOn是Windows Server 2016中最令人興奮的功能了,它不僅可以降低搭建的成本,而且還減少了部署和運維的工作量。

      該特性可以使用戶不必額外准備一台或者兩台(為了避免單點故障)AD域服務器,從而降低了部署的成本;對DBA而言,可以把更多的精力放在數據庫上,而不需要去了解AD域的知識,特別是對MySQL和Oracle轉型過來的DBA而言,這絕對是一個非常貼心的特性,要知道windows AD 域的復雜度足夠用幾本書來闡述,盡管在windows server 2016之前部署和運維AlwaysOn時不需要了解和關注AD域的方方面面,但基本的知識也夠得上研究一段時間了。

     下面我給大家介紹如何在Windows Server 2016中部署AlwaysON,整個過程分了兩部分,內容較多,我准備以兩篇博客來寫

      1.搭建故障轉移集群;

      2.搭建AlwaysOn;

image

一.搭建故障轉移集群

1.創建集群用戶

1.1.在每個節點上創建相同用戶名和密碼的用戶,且把此用戶加入到服務器本地管理員組;

     說明:考慮到操作系統已自帶了administrator,所以此步驟也可以忽略,但為了安全起見,建議還是自建一個集群專用的賬戶,專號專用,以便日后管理和安全。

1.2.配置注冊表

     把LocalAccountTokenFilterPolicy的值設置為1,配置方法:

     在powershell中執行如下命令:

new-itemproperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name LocalAccountTokenFilterPolicy -Value 1

     配置成功后的截圖:

clipboard

2.安裝故障轉移功能

   在所有的節點上安裝故障轉移功能:

   2.1.打開【服務器管理器】

   2.2.點擊右上角的【管理】,選擇【添加角色和功能】

clipboard

    2.3.按照向導,依次多次點擊【下一步】,直到【選擇功能】的頁面,勾選【故障轉移集群】;

         說明:在下圖截圖時我已經安裝了【故障轉移集群】,所以截圖紅色框中【故障轉移集群】前面已經勾選,且括號內顯示已安裝,而你在新安裝時是沒有勾選和已安裝的提示的,請知悉。

clipboard

    2.4.連續點擊【下一步】,直到完成安裝;

    2.5.在其他節點上重復步驟1-4;

3.每個節點配置主DNS后綴

    3.1.打開系統屬性界面;

         點擊【控制面板】,選擇大圖標查看方式,然后選擇【系統】

clipboard

   3.2.添加主DNS后綴

         在每個節點上,點擊【更改設置】,在彈出的【系統屬性】中選擇【更改】,然后在彈出的【計算機名/域更改】的界面中選擇【其他】,最后在彈出的【DNS后綴和NetBIOS計算機名】中,增加此計算機的主DNS后綴——如果你的環境中沒有DNS服務器,可以用example.com做測試用。

clipboard

clipboard

4.名稱解析

      將各個節點的計算機名和IP配置到DNS服務器中(也就是A記錄),如果沒有DNS服務器,則把各個節點的計算機名和IP配置到hosts文件中,

      配置hosts的方法:

      打開每個節點的C:\Windows\System32\drivers\etc\hosts,將所有節點的服務器名字和對應的IP寫到hosts文件中,如:

clipboard

5.創建集群

說明:只需在任意一個節點上執行即可。

New-Cluster –Name MyWGCluster -Node WIN-SRCOJDGEQ3I,WIN-JBRHIAJPMG2 -AdministrativeAccessPoint DNS -StaticAddress 10.5.103.217

參數說明:

–Name:集群的名字

-Node:節點,多個節點用英文逗號分隔

-StaticAddress:集群的公共IP

創建過程的截圖:

clipboard

clipboard

6.配置仲裁

基於工作組搭建的集群目前還不支持文件共享的方式做仲裁,官方建議使用磁盤做仲裁或者雲見證。我這次驗證的時候因為沒有條件,所以就沒有做仲裁了,在實際生產環境中,請大家利用故障轉移集群管理器創建仲裁。

 

FAQ

1.搭建故障轉移集群后,集群一直報錯,提示注冊DNS名稱失敗。

image

有兩個原因會導致這個問題:

1.1 在集群搭建時,修改主機名、創建集群網絡名稱都會嘗試到網卡中配置的DNS服務器上注冊A記錄,以便實現主機名、集群網絡名稱的IP解析,但當DNS服務器與集群在不同的域中時,注冊就會因為DNS權限配置問題而失敗,解決辦法是修改DNS服務器的配置,允許“非安全”的動態更新:

image

 

1.2 集群配置時用的hosts文件做的主機名和集群名的IP解析,沒有用到DNS服務器,所以當節點嘗試通過網卡中配置的DNS服務器去解析集群的網絡名稱時,會提示找不到。

 

下一節將為大家介紹SQL Server AlwaysOn的搭建過程,敬請留意,謝謝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM