SQL 2014 AlwaysOn 搭建
AlwaysOn底層依然采用Windows 故障轉移群集的機制進行監測和轉移,因此也需要先建立Windows Cluster,只不過可用性組中的數據庫不一定非要再存放在共享存儲上了。可以是存儲在本地磁盤上。
下面,先看一下AlwaysOn的關鍵特性:
1. 同故障轉移群集一樣,也需要一個虛擬網絡名稱用於客戶端的統一連接。
2.一個主服務器可以最多對應四個輔助服務器,總數達到五個,而且輔助服務器支持只讀功能。
3.輔助服務器可以獨立執行備份和DBCC維護命令。通過配置,可以實現客戶端的只讀請求可以被自動定向到輔助服務器。
4.主服務器和輔助服務器之間的數據會被加密和壓縮,以提高安全性和網絡傳輸效率。
5..支持自動、手動和強制三種故障轉移方式。
6.有儀表盤用於監控AlwaysOn的運行狀態。
7.可以實現多站點的部署,即主站點和輔助站點可以跨物理網絡。
AlwaysOn最多可以支持五個副本,有兩種類型的可用性副本:一個“主副本”和一到四個“輔助副本”。但只有一個可用性副本上運行的數據庫是處於可讀寫狀態。這個可讀寫的數據庫被稱為主數據庫(PrimaryDatabase),同時這個可用性副本被稱為主副本(primaryreplica)。其余的副本都被稱為輔助副本(secondaryreplica),輔助副本上的數據庫可能是不可訪問的,或者是只能接受只讀操作(取決於可用性組的配置),這些數據庫被稱為輔助數據庫。一但發生故障轉移,任何一個輔助副本都可以成為新的主副本實例。主副本會不斷地將主數據庫上的數據變化發送到輔助副本,來實現副本間的數據庫同步。
摘自:http://dufei.blog.51cto.com/382644/1384210/
搭建
參考http://www.cnblogs.com/lyhabc/p/4678330.html
環境准備
1、服務器:准備4台虛擬機。DomainServer 10.58.8.98 DB1 10.58.8.99 DB2 10.58.8.102 DB3 10.58.8.103
2、操作系統:windows2008 R2 SP2或者以上版本。
3、數據庫:Sqlserver 2014。
DomainServer
DB1 DB2 DB3
步驟1:建立域服務器:
在DomainServer服務器上建立域服務alwayson.com,並將DB1、DB2、DB3的DNS設置為10.58.8.98,然后加如域alwayson.com。
然后下一步,下一步安裝完成。
安裝完成后,單擊域服務安裝向導
檢查AD域服務和Netlogon服務是否正常啟動
創建域管理賬戶
將這個域用戶加入到域計算機組和域管理員組
將DB1/DB2/DB3加入到域服務器
步驟2:DB1 安裝故障轉移集群
安裝完成后DB1創建群集管理
如果出現 OpenService “RemoteRegistry” 失敗 錯誤
解決方法如下:1.域賬戶登錄 2.三台機器時間必須一致
如果集群安裝失敗,或者節點退出不了,可以參考 http://www.cnblogs.com/woxpp/p/5604488.html
步驟3:配置群集仲裁
DomainServer 配置共享文件夾
步驟4:配置sqlserver 2014賬戶
修改DB1/DB2/DB3數據庫 SQL代理服務和SQL 引擎服務為域賬戶
注銷集群節點計算機,然后使用域用戶登錄,然后設置SQL Server的啟動賬戶為域用戶
打開服務管理器,先修改SQL代理的啟動賬戶為域用戶,然后再修改SQL 引擎的啟動賬戶為域用戶
如果啟動不了參見:http://www.cnblogs.com/woxpp/p/5607908.html
添加域賬戶為sql登錄用戶,並給予sysadmin權限
用sa登錄后添加SQL登錄用戶,跟SQL 服務添加啟動賬戶的步驟一樣,將域用戶添加為登錄用戶
步驟5:配置sqlserver AlwaysOn
DB1/DB2/DB3 SQL Server配置管理器,啟用AlwaysOn可用性組
關閉DB1/BD2/BD3防火牆
查看有效性
SELECT * FROM sys.dm_hadr_cluster_members;
DB1創建數據庫TestDB
DB1創建AlwaysOn高可用性
添加副本
將輔助副本設置為可讀,能夠自動故障轉移,同步提交模式
“備份首選項”和“偵聽器”不需要設置,保持默認就行
點擊“是”
選擇初始數據同步
點擊“下一步”來驗證配置,對應偵聽器配置警告可以忽略,后期來添加偵聽器
如果出現以下錯誤
DB1/DB2/DB3 禁用AlwaysOn 然后 重新啟動服務 再開啟AlwaysOn再重啟服務即可
如果出現這個錯誤,將數據庫重現還原
再看一下故障轉移集群管理器
步驟6:添加偵聽器
在AD里的Computers容器里會添加一個故障轉移集群虛擬網絡名稱賬戶
在故障轉移集群管理器里的角色節點,可以看到客戶端訪問名稱和IP地址,客戶端通過這個訪問名稱進行訪問數據庫
使用偵聽器名稱進行登錄SQL Server
至此SQL 2014 AlwaysOn 搭建完成,修改主數據庫的數據,兩個副本會同步相關數據
步驟7:手動故障轉移