一 數據庫鏡像部署準備
1.1 數據庫鏡像支持
有關對 SQL Server 2012 中的數據庫鏡像的支持的信息,請參考:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2012/cc645993%28v%3dsql.110%29
1.2 其餘前置條件
- 須要安裝.NET 補丁,詳見:https://support.microsoft.com/zh-cn/help/2654347/an-update-introduces-support-for-the-alwayson-features-in-sql-server-2。
- 確保參與參與一個或多個可用性組的計算機不是域控,域控制器節點不支持可用性組。
- 確保每臺計算機都是 Windows Server 故障轉移羣集 (WSFC) 羣集中的節點,詳見:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2012/hh270278%28v%3dsql.110%29。
- 確保有足夠的WSFC節點,詳見:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2012/ff877884%28v%3dsql.110%29。
- 若要管理 WSFC 羣集,用戶必須是每一個羣集節點上的系統管理員。
注意:建議預留足夠的空間,在主數據庫增加時,其相應的輔助數據庫也增加相同量。
建議:建議您爲 WSFC 羣集成員之間的通訊和可用性副本之間的通訊使用相同的網絡連接。
1.3 其餘限制
- 可用性副本必須由一個 WSFC 羣集的不一樣節點承載:對於某個給定可用性組,可用性副本必須由在同一 WSFC 羣集的不一樣節點上運行的服務器實例承載。惟一的例外是在遷移到另外一個 WSFC 羣集時,此時一個可用性組可能會暫時跨兩個羣集。
- 惟一的可用性組名稱:每一個可用性組名稱在 WSFC 故障轉移羣集上必須惟一。可用性組名稱的最大長度爲 128 個字符。
- 可用性副本:每一個可用性組支持一個主副本和最多四個輔助副本。全部副本均可在異步提交模式下運行,或最多 3 個副本可在同步提交模式下運行。
- 不要使用故障轉移羣集管理器來故障轉移可用性組。 必須使用 Transact-SQL 或 SQL Server Management Studio。
注意:其餘更多相關條件限制見:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2012/ff878487(v%3dsql.110)。
二 部署規劃準備
2.1 服務器規劃
按照以下規劃配置主機名(domain前綴)及IP。
服務器名稱
|
描述
|
IP
|
DNS
|
操做系統
|
數據庫版本
|
dsserver.imxhy.com
|
DNS服務器
|
172.24.8.35
|
127.0.0.1
|
Windows Server 2012 R2 DC
|
|
nodea.imxhy.com
|
集羣節點A
|
172.24.8.36
|
172.24.8.35
|
Windows Server 2012 R2 DC
|
SQLServer 2012 Enterprise
|
nodeb.imxhy.com
|
集羣節點B
|
172.24.8.37
|
172.24.8.35
|
Windows Server 2012 R2 DC
|
SQLServer 2012 Enterprise
|
nodec.imxhy.com
|
集羣節點C
|
172.24.8.38
|
172.24.8.35
|
Windows Server 2012 R2 DC
|
SQLServer 2012 Enterprise
|
服務器名稱
|
描述
|
vip-cluster
|
SQL AlwaysOn VIP
|
nodea.imxhy.com
|
集羣節點A
|
172.24.8.100/24
|
172.24.8.101/24
|
nodeb.imxhy.com
|
集羣節點B
|
nodec.imxhy.com
|
集羣節點C
|
提示:爲便於測試,本環境將全部節點的專用、公用、域網絡的防火牆均關閉。
故障轉移集羣VIP(172.24.8.100):用於鏈接故障轉移集羣管理器的集羣
AlwaysOn VIP(172.24.8.101):用於鏈接AlwaysOn。
三 DNS服務器安裝
dsserver相關IP設置以下。
服務器管理器 -> 添加角色和功能,選擇DNS 服務器,下一步:
等待安裝完成。
以下相關服務已安裝完成。
四 安裝 Active Directory 域服務
服務器管理器 -> 添加角色和功能,選擇Active Directory 域服務。
等待安裝完成。
以下相關服務已安裝完成。
將此服務器提高爲域控制器,進入域控制器服務嚮導。
彈出 Active Direcotry 域服務配置嚮導,選擇 "添加新林」,輸入域名imxhy.com,這個需慎重,FQDN配置完畢以後修改相對麻煩且有風險,並點擊 "下一步" 按鈕:
注意:若是是第一次搭建也是你整個內網中的第一臺域控制器,那麼須要選擇第二項 "在新林中新建域",第一項是內網中已經存在 AD 環境再想搭建額外域控制器的時候使用的。
設置DSRM密碼,默認林中的第一棵域樹的根域的域控制器必須擔當全局編錄服務器和必須安裝DNS服務,不能是隻讀域控制器。
設置"域還原密碼",此密碼至關的重要,後續作數據庫遷移、備份、整理、恢復的時候均可能用到,須要謹記:
建立DNS委派,跳過便可。
NetBIOS名稱,默認便可。
進入AD 域的數據庫文件、日誌文件和共享文件位置設置頁面,此處保持默認設置,點擊 "下一步" 按鈕:
進入 "摘要" 界面,顯示以前設置的摘要信息,點擊 "下一步" 按鈕:
先決條件檢查,經過後便可進行安裝。
安裝嚮導進入安裝過程。
提示:安裝完成後,建議重啓服務器。
此時,AD 域服務已經安裝完成。ADDS域控制器已經安裝完成,在完成域控制器的安裝後,系統會自動的將該服務器的用戶帳號轉移到 AD 數據庫中。
域控制器 DC 會將本身扮演的角色註冊到 DNS 服務器內,以便讓其餘計算機可以經過 DNS 服務器來找到這臺域控制器,所以先檢查 DNS 服務器內是否已經存在這些記錄。
首先檢查域控制器是否已經將其主機名與 IP 地址註冊到 DNS 服務器內,本域控制器也扮演DNS服務器,則進入DNS中查看,此處應該會有一個名稱爲 imxhy.com 的區域,主機(A)記錄表示域控制器 dsserver.imxhy.com 已經正確地將其主機名與 IP 地址註冊到 DNS 服務器內。DNS 客戶端所提出的請求大可能是正向解析,即經過 hostname 來解析 IP 地址對應與此處的正向查找區域;經過 IP 來查找 hostname 即爲反向解析,對應於此處的反向查找區域。
若是域控制器已經正確地將其扮演的角色註冊到 DNS 服務器,則還應該有對應的 _tcp、_udp 等文件夾。在單擊 _tcp 文件夾後能夠看到以下所示的界面,其中數據類型爲服務位置(SRV)的 _ldap 記錄,表示 dsserver.imxhy.com 已經正確地註冊爲域控制器。其中的 _gc 記錄還能夠看出全局編錄服務器的角色也是由 dsserver.imxhy.com 扮演的。
DNS 區域內包含這些數據後,其餘要加入域的計算機就能夠經過經過此區域來得知域控制器爲 dsserver.imxhy.com。這些加入域的成員(域控制器、成員服務器、Windows 八、Windows 七、Windows Vista、Windows XP Professional 等)也會將其主機與 IP 地址數據註冊到此區域內。
五 域用戶建立及加入
5.1 域用戶建立
控制面板 -> 管理工具 -> Active Directory 用戶和計算機
設置相關sqluser帳號及密碼。
設置符合必定密碼複雜度要求的密碼。
將sqluser加入到administrators管理組中。
5.2 加入域控
nodea相關IP設置以下。
高級 -> DNS -> 此鏈接的 dns 後綴,添加域控的完整名稱。
計算機右鍵 -> 屬性 -> 高級系統設置 -> 計算機名 -> 更改
修改計算機名nodea,修改隸屬於域:imxhy.com
點肯定以後彈出一個輸入在域控中創建的用戶的用戶名和密碼。
提示加入成功,加入成功後建議重啓計算機。
注意:nodea.imxhy.com、nodeb.imxhy.com、nodec.imxhy.com都須要配置相關DNS爲172.24.8.35,而後加入域「imxhy.com」,具體方法參考如上便可。
5.3 服務器配置域賬戶管理員
在nodea.imxhy.com、nodeb.imxhy.com、nodec.imxhy.com計算機繼續使用本地管理員administrator登陸,分別將「imxhy\sqluser」賬戶添加爲本機管理員,如圖所示:
註銷本地administrator,使用sqluser@imxhy.com用戶登陸,確認已具備管理員權限。
注意:nodea.imxhy.com、nodeb.imxhy.com、nodec.imxhy.com參考如上配置便可。
四 安裝WSFC和建立羣集
四種集羣的仲裁配置:
多數節點:此配置不會用到仲裁磁盤,而所謂多數節點就是在正常節點數量佔多數的狀況下,集羣纔會提供服務,不然就中止服務。這種配置適用於奇數節點的集羣,例如5個節點的集羣,其正常節點數量必須至少3個,集羣纔會提供服務。
多數節點和磁盤:適用於偶數節點的集羣,他在計算法定數量時會將仲裁磁盤計算進來,例如,4個節點+1個仲裁磁盤節點的集羣,能夠將其視爲5個節點的集羣,這時正常節點數量必須至少3個,集羣纔會提供服務。
多數節點和文件共享:它和(多數節點和磁盤)相似,不過仲裁磁盤改成共享文件夾內的文件。
沒有多數:只有磁盤,只要仲裁磁盤脫機,集羣就會中止提供服務(不建議使用)。
注意:域控不須要安裝故障轉移集羣服務和SQL Server,也不須要加入到故障轉移集羣;
SQL Server 2012 AlwaysOn只支持最多一個主副本和四個輔助副本,最多容許三個同步提交的可用性副本(包括主副本),最多容許兩個自動故障轉移副本(包括主副本)。
4.1 安裝故障轉移集羣
服務器管理器 -> 添加角色和功能,選擇故障轉移羣集。
確認相關信息。
等待安裝完成。
4.2 驗證配置
服務器管理 -> 工具 -> 故障轉移羣集管理器,建立羣集以前建議驗證一次全部配置。
在「選擇服務器或羣集」界面中,單擊「瀏覽」按鈕將全部要加入羣集的服務器添加進來,而後單擊「下一步」按鈕。
提示:域控不須要加入到羣集中。
在驗證配置嚮導中最好選擇運行全部測試,進行所有檢測就能夠查看到服務器之間創建羣集的全部設置,包括網絡、共享磁盤、操做系統等。
確認相關測試項。
注意:測試須要必定時間,測試完畢後建議查看報告,報告中可詳細查看具體的告警項,對於存儲的警告,因爲當前沒有添加任何的存儲設備,可忽略。對於網絡警告,因爲各個節點只有一個網卡(心跳和業務共用),可忽略。
4.3 建立WSFC
服務器管理 -> 工具 -> 故障轉移羣集管理器 -> 建立羣集。
進入建立羣集嚮導。
輸出羣集名稱:SQLCLUSTER
注意:此IP爲集羣的管理名稱和管理IP,跟AlwaysOn無關。
因爲咱們當前尚未任何存儲,因此不勾選將全部符合條件的存儲添加到羣集。
等待建立羣集完畢。
建立羣集完成。
五 查看驗證羣集建立
5.1 查看相關信息
經過故障轉移羣集可查看相關信息。
5.2 域控進行查看
在dsserver域控節點,控制面板 -> 管理工具 -> Active Directory 用戶和計算機。
提示:生產環境強烈建議將業務網絡和心跳網絡進行獨立。
六 配置羣集
6.1 配置羣集仲裁設置
進入配置羣集仲裁嚮導。
選擇高級仲裁配置,即手動配置仲裁。
選擇全部節點。
不配置仲裁見證。
提示:對於本環境3個羣集節點的狀況,不須要仲裁磁盤,而所謂多數節點就是在正常節點數量佔多數的狀況下,集羣纔會提供服務,不然就中止服務。這種配置適用於奇數節點的集羣,例如5個節點的集羣,其正常節點數量必須至少3個,集羣纔會提供服務。
配置完成。
七 安裝SQLServer 2012
參考《003.SQLServer數據庫鏡像高可用部署》第六步便可。
注意:安裝SQLServer 2012建議臨時將DNS改成外網DNS,如223.5.5.5,安裝過程須要更新相關補丁;
服務器配置,保持默認,安裝完畢後修改成域帳號便可;
同時建議使用本地用戶Administrator登陸這三個集羣節點進行安裝,不要用域用戶sqluser登陸,若是一開始使用域用戶sqluser來登陸集羣節點機器,在安裝SQL Server的過程當中SQL Server安裝程序會鏈接故障轉移集羣,可是實際上單機安裝SQL Server不須要鏈接故障轉移集羣,其餘操做同樣。
7.1 配置SQLServer以域賬戶運行
註銷本地administrator用戶,使用域帳戶登陸,在全部節點的「管理工具」中打開「服務」(或者用「SQL Server 配置管理器」),修改SQL Server實例的屬性,將登陸身份改成「imxhy\sqluser」。修改以後,重啓SQL Server實例。
如圖所示服務設置爲自動,並登陸身份使用域帳戶。
提示:安裝過程當中服務器配置已添加域帳戶可跳過此7.1步驟。
說明:全部節點都須要如上配置。
八 受權域帳戶相關權限
8.1 授予域帳號sysadmin角色
使用sa用戶登陸。
添加域帳戶。
授予sysadmin和public權限便可。
注意:nodea.imxhy.com、nodeb.imxhy.com、nodec.imxhy.com參考如上配置便可。
九 配置AlwaysOn可用性組
9.1 啓用AlwaysOn可用性組
使用域帳號IMXHY\sqluser登陸數據。
進入SQL Server配置管理器,SQL Server服務開啓AlwaysOn高可用性。
注意:集羣節點必定要能進行通訊,若是集羣節點之間斷開通訊,那麼啓用AlwaysOn的時候會報錯。
重啓SQL Server。
若是AlwaysOn啓用成功,在服務器屬性裏HADR狀態置爲True。
注意:nodea.imxhy.com、nodeb.imxhy.com、nodec.imxhy.com參考如上配置便可。
在集羣任意節點的SQL Server中驗證各節點的投票數,命令以下:
SELECT * FROM sys.dm_hadr_cluster_members;
十 測試數據庫準備工做
略,參考《003.SQLServer數據庫鏡像高可用部署》第七步。
注意:本過程須要將nodea用於測試的MDB還原至nodeb、nodec節點。
十一 新建可用性組
11.1 進入新建可用性組嚮導
簡介,下一步。
輸入可用性組名稱,如USAG。
選擇須要添加的數據庫,數據庫必需要是完整恢復模式而且要先進行一次完整備份。
使用添加副原本將其餘節點添加到可用性組中,設置爲可讀,並選擇自動故障轉移節點和同步提交節點。
端點和備份首選項默認便可。
提示:端點URL也可以使用IP的方式,若服務器存在多個網卡(業務和心跳分開),使用FQDN長名的方式可能不能保證端點數據經過心跳網卡來傳送。
配置偵聽器,參考以下:
數據庫同步,經過第十步已經將數據庫MDB同步至全部節點,選擇僅聯接便可。
確認相關驗證。
點擊「下一步」來檢查並確認以前的配置信息,若無誤,點擊「完成」。同時也可保存創建可用性組腳本,以便分步診斷故障之用。
等待配置完成。
十二 確認驗證
12.1 數據庫驗證
查看主庫,數據庫變爲已同步。
查看輔助副本,輔助副本是可讀的,在主副本上對MDB數據庫作的更改都能同步到輔助副本上的MDB庫。
12.2 故障轉移集羣驗證
控制面板 -> 管理工具 -> 故障轉移羣集管理器
可用性組成爲一個集羣角色。
12.3 AlwaysOn可用性面板驗證
AlwaysOn高可用性 -> 右鍵顯示面板
12.4 域控制器驗證
在域控節點控制面板 -> 管理工具 -> Active Directory 用戶和計算機查看相應的偵聽器。
12.5 功能驗證
任意節點經過偵聽器地址:172.24.8.101登陸數據庫。
登陸成功則表示AliwaysOn可用性組配置成功。
注意:加入到AlwaysOn可用性組的數據庫必須符合下面要求
- 數據庫的恢復模式必須是「完整」恢復模式
- 數據庫已進行了一次完整備份
- 須要是用戶庫,系統庫不能加入可用性組
- 數據庫能夠讀寫,只讀庫不能加入到可用性組
- 數據庫處於多用戶模式
- 數據庫沒有使用AUTO_CLOSE
- 不屬於任何其餘的可用性組
- 數據庫沒有配置數據庫鏡像