Alwayson无域安装测试
一、 IP及名稱規劃
| IP | 名稱 | 說明 |
| 192.168.1.111 | WIN16-TEST.test.com | 節點1 |
| 192.168.1.112 | WIN16-TEST02.test.com | 節點2 |
| 192.168.1.113 | test-cluster | Windows群集名 |
| 192.168.1.114 | lsnr-test | SQL Server偵聽器名 |
二、 安裝windows server 2016操作系統
系統選擇,一定要選擇帶【桌面體驗】的,不然就會安裝了沒有GUI界面
區別參考
Windows Server 2016 Standard 和 Datacenter 版本的比較 - GJJ2019 - 博客園
安裝完會自動重啟,然后設置管理員密碼
好了,可以用了
參考 ?windows server 2016怎么安裝教程-百度經驗
配置主機ip及DNS
克隆一臺機器作為從庫
三、 配置Windows故障轉移群集
2. 配置計算機名和DNS后綴
每個節點的計算機不需要加入域,但需要添加DNS后綴,且每個節點的后綴必須要相同(例如:test.com,需重啟生效),如下圖:
3. 將DNS服務器地址改為本地
如果是直接分配好的機器,需要修改DNS地址為本地
4. 添加sqlserver管理用戶
在每個節點上都添加一個本地用戶(mssql.admin),且用戶名及密碼每個節點都一致,使2臺服務器能訪問共享文件夾,也作為sqlserver管理員用戶。
5. 配置主機名解析
在每個節點的 hosts 文件中添加每個節點的服務器IP地址和主機名稱、群集IP地址和名稱、偵聽器IP地址和名稱:
hosts文件路徑:C:\Windows\System32\drivers\etc
6. 設置允許應用或功能通過防火墻
所有節點均要設置,按照下面圖中紅框設置,注意選項后面打勾的位置。
7. 啟用所需服務并且改成自啟動
注意computer browser服務依賴于workstation和Server服務,需要先啟動,否則computer browser服務會啟動失敗。
8. 創建故障轉移群集
可以用administrator或者添加到管理員組的普通用戶來創建,兩節點用戶名密碼必須相同;如果是后者,還需要在兩節點注冊表添加?LocalAccountTokenFilterPolicy為1
以管理員模式打開powershell,執行:
new-itemproperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name LocalAccountTokenFilterPolicy -Value 1https://support.microsoft.com/zh-cn/help/942817/how-to-change-the-remote-uac-localaccounttokenfilterpolicy-registry-se
否則添加第二臺機器時會遇到以下報錯
開始創建
直接輸入服務器名稱然后點添加,通過瀏覽來查找可能會報錯
注意不要勾下面這個,否則磁盤會從本地offline
7. 配置群集仲裁設置
由于我們是兩個節點的故障轉移集群,所以需要配置群集仲裁設置,如果是奇數節點,這一步是不需要做的
也可以點擊瀏覽直接新建一個共享文件夾
四、 兩節點安裝sqlserver軟件及SSMS
略,參考單實例安裝手冊,注意兩邊版本和選擇安裝的功能要一樣
注:sqlserver 2016 SP2開始可以不安裝.NET Framework 3.5
SQL Server 2016 & 2017: Hardware & software requirements - SQL Server | Microsoft Learn
五、 啟用SQL Server AlwaysOn AG特性
所有節點均操作
兩邊用戶名和密碼要設成一樣
重啟SQL Server服務
六、 配置證書認證
以下將開始數據庫中操作,可以先打個虛擬機快照備份
所有節點均需操作
節點1
USE master;
GO
--創建主密鑰
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'xxxx';
--創建證書? 這里有兩個"CERT1",建議每臺機器都改成不同的名稱以作區分
CREATE CERTIFICATE CERT1 WITH SUBJECT = 'CERT1', START_DATE = '2017-01-01',EXPIRY_DATE = '2099-12-30';
--把剛才創建的證書備份到文件 這里也有兩個CERT1要改
BACKUP CERTIFICATE CERT1 TO FILE = 'C:\cert\CERT1.cer';
--創建終結點,設為證書驗證 這里第二行有1個CERT1要改
CREATE ENDPOINT [group0_endpoint] AUTHORIZATION [sa] STATE=STARTED AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
?FOR DATA_MIRRORING (ROLE = ALL,AUTHENTICATION = CERTIFICATE CERT1, ENCRYPTION = REQUIRED ALGORITHM AES)
GO
節點2(注意修改相關內容)
USE master;
GO
--創建主密鑰
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'xxxx';
--創建證書? 這里有兩個"CERT1",建議每臺機器都改成不同的名稱以作區分
CREATE CERTIFICATE CERT2 WITH SUBJECT = 'CERT2', START_DATE = '2017-01-01',EXPIRY_DATE = '2099-12-30';
--把剛才創建的證書備份到文件 這里也有兩個CERT1要改
BACKUP CERTIFICATE CERT2 TO FILE = 'C:\cert\CERT2.cer';
--創建終結點,設為證書驗證 這里第二行有1個CERT1要改
CREATE ENDPOINT [group0_endpoint] AUTHORIZATION [sa] STATE=STARTED AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
?FOR DATA_MIRRORING (ROLE = ALL,AUTHENTICATION = CERTIFICATE CERT2, ENCRYPTION = REQUIRED ALGORITHM AES)
GO
證書通過共享文件互相復制粘貼
載入其它節點證書(不用載入自己的證書)
節點1
CREATE CERTIFICATE CERT2 FROM FILE = 'C:\gdmk\CERT2.cer';
GO
節點2
CREATE CERTIFICATE CERT1 FROM FILE = 'C:\gdmk\CERT1.cer';
GO
七、 新建可用性組
在節點1建一個測試庫并進行全備
可以選備份配置
配置偵聽器(建完ag后配也可以)
八、 數據同步測試
九、 自動故障轉移測試
關閉節點一 sqlserver服務,可以看到節點2變成了主庫
重新啟動節點一服務,開啟后主從不會自動再次切換
測試數據同步
十、 手動故障切換測試
可以看到角色發生了變化
?
參考
sql server 2016 AlwaysOn實現無域高可用全教程_WSD_csdn的博客-CSDN博客_sqlserver2016 allwayson
Implement SQL 2016 Availability Group without Active Directory Part 1
Implement SQL 2016 Availability Group without Active Directory Part 2
總結
以上是生活随笔為你收集整理的Alwayson无域安装测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pandas.core.base.Spe
- 下一篇: 浅谈RFID资产管理-RFID资产可视化