溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

發(fā)布時(shí)間:2020-08-01 17:22:09 來(lái)源:網(wǎng)絡(luò) 閱讀:6549 作者:王占興 欄目:MySQL數(shù)據(jù)庫(kù)

Windows 2012 always on 讀寫(xiě)分離集群搭建配置。

Always on簡(jiǎn)介

AlwaysOn 可用性組 (SQL Server)

AlwaysOn 可用性組功能是一個(gè)提供替代數(shù)據(jù)庫(kù)鏡像的企業(yè)級(jí)方案的高可用性和災(zāi)難恢復(fù)解決方案。SQL Server 2012 中引入了 AlwaysOn 可用性組功能,此功能可最大程度地提高一組用戶數(shù)據(jù)庫(kù)對(duì)企業(yè)的可用性?!翱捎眯越M”針對(duì)一組離散的用戶數(shù)據(jù)庫(kù)(稱為“可用性數(shù)據(jù)庫(kù)”,它們共同實(shí)現(xiàn)故障轉(zhuǎn)移)支持故障轉(zhuǎn)移環(huán)境。一個(gè)可用性組支持一組讀寫(xiě)主數(shù)據(jù)庫(kù)以及一至八組對(duì)應(yīng)的輔助數(shù)據(jù)庫(kù)。(可選)可使輔助數(shù)據(jù)庫(kù)能進(jìn)行只讀訪問(wèn)和/或某些備份操作。

可用性組在可用性副本級(jí)別進(jìn)行故障轉(zhuǎn)移。故障轉(zhuǎn)移不是由諸如因數(shù)據(jù)文件丟失而使數(shù)據(jù)庫(kù)成為可疑數(shù)據(jù)庫(kù)、刪除數(shù)據(jù)庫(kù)或事務(wù)日志損壞等此類(lèi)數(shù)據(jù)庫(kù)問(wèn)題導(dǎo)致的。

Always on 優(yōu)點(diǎn)

AlwaysOn 可用性組提供了一組豐富的選項(xiàng)來(lái)提高數(shù)據(jù)庫(kù)的可用性并改進(jìn)資源使用情況。主要組件如下:

· 支持最多九個(gè)可用性副本。“可用性副本”是可用性組的實(shí)例化,此可用性組由特定的 SQL Server 實(shí)例承載,該實(shí)例維護(hù)屬于此可用性組的每個(gè)可用性數(shù)據(jù)庫(kù)的本地副本。每個(gè)可用性組都支持一個(gè)主副本和最多八個(gè)輔助副本

支持替代可用性模式:

· 異步提交模式。此可用性模式是一種災(zāi)難恢復(fù)解決方案,適合于可用性副本的分布距離較遠(yuǎn)的情況。

· 同步提交模式。此可用性模式相對(duì)于性能而言更強(qiáng)調(diào)高可用性和數(shù)據(jù)保護(hù),為此付出的代價(jià)是事務(wù)延遲時(shí)間增加。一個(gè)給定的可用性組可支持最多三個(gè)同步提交可用性副本(包括當(dāng)前主副本)。

支持幾種形式的可用性組故障轉(zhuǎn)移:自動(dòng)故障轉(zhuǎn)移、計(jì)劃的手動(dòng)故障轉(zhuǎn)移(通常簡(jiǎn)稱為“手動(dòng)故障轉(zhuǎn)移”)和強(qiáng)制的手動(dòng)故障轉(zhuǎn)移(通常簡(jiǎn)稱為“強(qiáng)制故障轉(zhuǎn)移”)。

· 支持幾種形式的可用性組故障轉(zhuǎn)移:自動(dòng)故障轉(zhuǎn)移、計(jì)劃的手動(dòng)故障轉(zhuǎn)移(通常簡(jiǎn)稱為“手動(dòng)故障轉(zhuǎn)移”)和強(qiáng)制的手動(dòng)故障轉(zhuǎn)移(通常簡(jiǎn)稱為“強(qiáng)制故障轉(zhuǎn)移”)。有關(guān)詳細(xì)信息,請(qǐng)參閱故障轉(zhuǎn)移和故障轉(zhuǎn)移模式(AlwaysOn 可用性組)。

· 使您能夠?qū)⒔o定的可用性副本配置為支持以下一種或兩種活動(dòng)輔助功能:

利用只讀連接訪問(wèn),與副本的只讀連接可以在此副本作為輔助副本運(yùn)行時(shí)訪問(wèn)和讀取其數(shù)據(jù)庫(kù)。有關(guān)詳細(xì)信息,請(qǐng)參閱活動(dòng)輔助副本:可讀輔助副本(AlwaysOn 可用性組)

當(dāng)副本作為輔助副本運(yùn)行時(shí),對(duì)副本的數(shù)據(jù)庫(kù)執(zhí)行備份操作。有關(guān)詳細(xì)信息,請(qǐng)參閱活動(dòng)輔助副本:輔助副本備份(AlwaysOn 可用性組)。

通過(guò)使用活動(dòng)輔助功能,可更好地利用輔助硬件資源,從而提高 IT 效率并降低成本。此外,通過(guò)將讀意向應(yīng)用程序和備份作業(yè)轉(zhuǎn)移到輔助副本,有助于提高針對(duì)主副本的性能。

· 支持每個(gè)可用性組的可用性組偵聽(tīng)器。“可用性組偵聽(tīng)器”是一個(gè)服務(wù)器名稱,客戶端可連接到此服務(wù)器以訪問(wèn) AlwaysOn 可用性組的主副本或輔助副本中的數(shù)據(jù)庫(kù)??捎眯越M偵聽(tīng)器將傳入連接定向到主副本或只讀輔助副本。偵聽(tīng)器在可用性組故障轉(zhuǎn)移后提供快速應(yīng)用程序故障轉(zhuǎn)移。有關(guān)詳細(xì)信息,請(qǐng)參閱可用性組偵聽(tīng)器、客戶端連接和應(yīng)用程序故障轉(zhuǎn)移 (SQL Server)

· 支持靈活的故障轉(zhuǎn)移策略以便更好地控制可用性組故障轉(zhuǎn)移。

· 支持用于避免頁(yè)損壞的自動(dòng)頁(yè)修復(fù)。

· 支持加密和壓縮,這提供了安全且高性能的傳輸方式。

· 提供了一組集成的工具來(lái)簡(jiǎn)化部署和管理可用性組,這些工具包括:

用于創(chuàng)建和管理可用性組的 Transact-SQL DDL 語(yǔ)句。有關(guān)詳細(xì)信息,請(qǐng)參閱AlwaysOn 可用性組的 Transact-SQL 語(yǔ)句概述 (SQL Server)

SQL Server Management Studio 工具,如下所示:

§ 新建可用性組向?qū)?/span> 創(chuàng)建和配置可用性組。在某些環(huán)境中,此向?qū)н€可以自動(dòng)準(zhǔn)備輔助數(shù)據(jù)庫(kù)并且為每個(gè)數(shù)據(jù)庫(kù)啟動(dòng)數(shù)據(jù)同步。有關(guān)詳細(xì)信息,請(qǐng)參閱使用“新建可用性組”對(duì)話框 (SQL Server Management Studio)

§ 將數(shù)據(jù)庫(kù)添加到可用性組向?qū)?/span> 向現(xiàn)有可用性組添加一個(gè)或多個(gè)主數(shù)據(jù)庫(kù)。在某些環(huán)境中,此向?qū)н€可以自動(dòng)準(zhǔn)備輔助數(shù)據(jù)庫(kù)并且為每個(gè)數(shù)據(jù)庫(kù)啟動(dòng)數(shù)據(jù)同步。有關(guān)詳細(xì)信息,請(qǐng)參閱使用“將數(shù)據(jù)庫(kù)添加到可用性組”向?qū)?(SQL Server)。

§ 將副本添加到可用性組向?qū)?/span> 向現(xiàn)有可用性組添加一個(gè)或多個(gè)輔助副本。在某些環(huán)境中,此向?qū)н€可以自動(dòng)準(zhǔn)備輔助數(shù)據(jù)庫(kù)并且為每個(gè)數(shù)據(jù)庫(kù)啟動(dòng)數(shù)據(jù)同步。有關(guān)詳細(xì)信息,請(qǐng)參閱使用“將副本添加到可用性組向?qū)А?SQL Server Management Studio)。

§ 故障轉(zhuǎn)移可用性組向?qū)?/span> 啟動(dòng)對(duì)可用性組的手動(dòng)故障轉(zhuǎn)移。根據(jù)您指定為故障轉(zhuǎn)移目標(biāo)的輔助副本的配置和狀態(tài),該向?qū)Э梢灾付ㄓ?jì)劃的手動(dòng)故障轉(zhuǎn)移或強(qiáng)制手動(dòng)故障轉(zhuǎn)移。有關(guān)詳細(xì)信息,請(qǐng)參閱使用故障轉(zhuǎn)移可用性組向?qū)?/span> (SQL Server Management Studio)

AlwaysOn 面板 監(jiān)視 AlwaysOn 可用性組、可用性副本和可用性數(shù)據(jù)庫(kù),并且評(píng)估 AlwaysOn 策略的結(jié)果。有關(guān)詳細(xì)信息,請(qǐng)參閱使用 AlwaysOn 面板 (SQL Server Management Studio)。

“對(duì)象資源管理器詳細(xì)信息”窗格顯示有關(guān)現(xiàn)有可用性組的基本信息。關(guān)詳細(xì)信息,請(qǐng)參閱使用對(duì)象資源管理器詳細(xì)信息監(jiān)視可用性(SQLServer Management Studio)。

PowerShell cmdlet。有關(guān)詳細(xì)信息,請(qǐng)參閱AlwaysOn 可用性組PowerShell Cmdlet 概述 (SQL Server)。

文檔出處,詳見(jiàn):https://msdn.microsoft.com/zhcn/library/hh610230(v=sql.120).aspx

 

測(cè)試環(huán)境:

4臺(tái)Windows 2012 R2 服務(wù)器。

服務(wù)器功能

服務(wù)器IP

系統(tǒng)

服務(wù)

AD節(jié)點(diǎn)

10.92.37.2

Windows 2012 R2

AD

Sql 2012節(jié)點(diǎn)

10.92.37.3

Windows 2012 R2

故障轉(zhuǎn)移+sql2012

Sql 2012節(jié)點(diǎn)

10.92.37.4

Windows 2012 R2

故障轉(zhuǎn)移+sql2012

Sql 2012節(jié)點(diǎn)

10.92.37.5

Windows 2012 R2

故障轉(zhuǎn)移+sql2012

、安裝故障轉(zhuǎn)移

Always on 集群需要故障轉(zhuǎn)移集群支持。首先需要搭建故障轉(zhuǎn)移集群。

10.92.37.2安裝域。打開(kāi)服務(wù)器管理器,打開(kāi)-管理-添加角色和功能。

 

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置


勾選Active Directory 服務(wù)。

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置


等待所有安裝完成。

 

 

配置域控服務(wù)器。點(diǎn)擊下圖是所示按鈕。

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

選擇“添加新林域名填入名稱。

 Windows 2012 always on 讀寫(xiě)分離集群搭建配置

輸入還原密碼。

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

下一步

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

等待系統(tǒng)分配NetBIOS名稱。然后一直下一步。等待完成,重啟服務(wù)器。重啟完成注意需要域賬號(hào)登陸。例如jianjian\administrator

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

安裝

Windows 2012 always on 讀寫(xiě)分離集群搭建配置 

配置好之后會(huì)自動(dòng)把網(wǎng)卡dns改成127.0.0.1,或者您安裝域控前手動(dòng)改成127.0.0.1,sql節(jié)點(diǎn)的dns為了加入域需要改成控的地址10.92.37.2

Sql 節(jié)點(diǎn)服務(wù)器加入域。

配置sql節(jié)點(diǎn)服務(wù)器的網(wǎng)卡(和域控在同DNS為域控的地址。確保可以解析域名稱。

開(kāi)始我的電腦右鍵屬性à更改設(shè)置à更改à選擇域,填入控名稱。確定,輸入域控的管理員賬號(hào)和密碼加入域。重啟服務(wù)器。

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

重啟通過(guò)域用戶登陸服務(wù)器。例如jianjian\administrator

安裝故障轉(zhuǎn)移角色。

sql節(jié)點(diǎn)的所有服務(wù)器安裝故障轉(zhuǎn)移角色服務(wù)。

安裝方式一樣,下一步即可。

故障轉(zhuǎn)移磁盤(pán)配置。完整故障轉(zhuǎn)移集群需要仲裁磁盤(pán)數(shù)據(jù)盤(pán)、MSDTC盤(pán)。發(fā)生轉(zhuǎn)移時(shí)候磁盤(pán)也會(huì)整體進(jìn)行轉(zhuǎn)移從而起到2邊數(shù)據(jù)同步的作用。具體可以參考相關(guān)文檔。

此次我們?yōu)?/span>3節(jié)點(diǎn)(奇數(shù)集群,并不需要?jiǎng)?chuàng)建仲裁。


、建立故障轉(zhuǎn)移集群。

下一步

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

下一步

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

下一步

 Windows 2012 always on 讀寫(xiě)分離集群搭建配置

角色不選,直接下一步

 Windows 2012 always on 讀寫(xiě)分離集群搭建配置

 

選擇功能—故障轉(zhuǎn)移集群。

 Windows 2012 always on 讀寫(xiě)分離集群搭建配置

下一步直接安裝結(jié)束。

 

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置


瀏覽查找您需要添加到集群的節(jié)點(diǎn),為了更好辨認(rèn)建議更改計(jì)算機(jī)名稱。

 Windows 2012 always on 讀寫(xiě)分離集群搭建配置

下一步 

 Windows 2012 always on 讀寫(xiě)分離集群搭建配置

下一步

 Windows 2012 always on 讀寫(xiě)分離集群搭建配置

下一步

 

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

下一步

  

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

下一步

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

、安裝sql 2012。

Sql2012安裝正常操作即可,需要注意的就是服務(wù)賬號(hào)配置(如圖1)時(shí)候使用域賬號(hào)。分別在3臺(tái)節(jié)點(diǎn)安裝sql 2012。安裝完成后,(圖2所示)打開(kāi)sql server  配置管理器—SQL ServerMSSQLSERVER)--右鍵屬性。啟用always on 可用性組。重啟數(shù)據(jù)庫(kù)服務(wù)。

圖(1

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

2

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

 

、配置讀寫(xiě)集群。

首先在你選擇節(jié)點(diǎn)導(dǎo)入數(shù)據(jù)庫(kù)。讀寫(xiě)集群配置需要數(shù)據(jù)庫(kù)的完整備份。選擇數(shù)據(jù)庫(kù),右鍵屬性—選項(xiàng)—調(diào)整恢復(fù)類(lèi)型為完整。

Windows 2012 always on 讀寫(xiě)分離集群搭建配置 

對(duì)這個(gè)數(shù)據(jù)完整備份。

Windows 2012 always on 讀寫(xiě)分離集群搭建配置 

always on 集群配置。

 Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

 

輸入名稱隨性即可。

Windows 2012 always on 讀寫(xiě)分離集群搭建配置 

點(diǎn)擊添加副本使用域賬號(hào)連接其他2個(gè)sql節(jié)點(diǎn)。勾選自動(dòng)故障轉(zhuǎn)移)(同步提交)

輔助副本“可讀輔助副本”選擇為僅只讀意向。備份首選項(xiàng)默認(rèn)即可。

 

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

 

添加偵聽(tīng)器。也可以創(chuàng)建完后再添加。選擇子網(wǎng),輸入指定IP地址即可。注意監(jiān)聽(tīng)的端口sql server1433

 

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

 

“所有副本可訪問(wèn)的共享網(wǎng)絡(luò)位置。任意節(jié)點(diǎn)建立共享文件夾,并且另外2臺(tái)掛載(注意開(kāi)機(jī)掛載)。即可。

Windows 2012 always on 讀寫(xiě)分離集群搭建配置 

  驗(yàn)證結(jié)果全部成功即可。下一步等待創(chuàng)建完成即可完成后結(jié)果如下。主節(jié)點(diǎn)可以看到“主要”字樣。此時(shí)可以做到3臺(tái)服務(wù)器數(shù)據(jù)同步同步有1-2s延遲)并且可以實(shí)現(xiàn)故障轉(zhuǎn)移。當(dāng)主節(jié)點(diǎn)故障其他節(jié)點(diǎn)可以自動(dòng)成為主節(jié)點(diǎn)接替工作

  

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置


此時(shí)數(shù)據(jù)庫(kù)集群還無(wú)法做到讀寫(xiě)分離。由于always on局限性需要手動(dòng)配置只讀路由表,這個(gè)路由表大致結(jié)構(gòu)是主節(jié)點(diǎn)----對(duì)應(yīng)2個(gè)只讀節(jié)點(diǎn)。并且只讀節(jié)點(diǎn)有優(yōu)先級(jí),前面的優(yōu)于后面的 無(wú)法實(shí)現(xiàn)2個(gè)或者多個(gè)只讀節(jié)點(diǎn)實(shí)現(xiàn)負(fù)載。其實(shí)只為熱備。只讀路由表通過(guò)T-sql語(yǔ)言實(shí)現(xiàn),具體如下。更改相關(guān)參數(shù)保存為.sql文件,通過(guò)sqlcmd命令執(zhí)行Sqlcmd –S 服務(wù)器名稱  -U 用戶  -P 密碼 –i 腳本  

GO

ALTER AVAILABILITY GROUP [weitui_sql_wr]

MODIFY REPLICA ON N'WIN-2N0I1AI1BHC' WITH

(

    SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY)

);

GO

ALTER AVAILABILITY GROUP [weitui_sql_wr]

MODIFY REPLICA ON N'WIN-2N0I1AI1BHC' WITH

(

    SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://10.92.37.3:1433')

);

GO

ALTER AVAILABILITY GROUP [weitui_sql_wr]

MODIFY REPLICA ON N'WIN-K0VKE108NM8' WITH

(

    SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY)

);

GO

ALTER AVAILABILITY GROUP [weitui_sql_wr]

MODIFY REPLICA ON N'WIN-K0VKE108NM8' WITH

(

    SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://10.92.37.6:1433')

);

GO

ALTER AVAILABILITY GROUP [weitui_sql_wr]

MODIFY REPLICA ON N'WIN-LF5RK32CE87' WITH

(

    SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY)

);

GO

ALTER AVAILABILITY GROUP [weitui_sql_wr]

MODIFY REPLICA ON N'WIN-LF5RK32CE87' WITH

(

    SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://10.92.37.5:1433')

);

GO

ALTER AVAILABILITY GROUP [weitui_sql_wr]

MODIFY REPLICA ON N'WIN-2N0I1AI1BHC' WITH

(

    PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=(N'WIN-K0VKE108NM8',N'WIN-LF5RK32CE87',N'WIN-2N0I1AI1BHC'))

);

GO

ALTER AVAILABILITY GROUP [weitui_sql_wr]

MODIFY REPLICA ON N'WIN-K0VKE108NM8' WITH

(

    PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=(N'WIN-2N0I1AI1BHC',N'WIN-K0VKE108NM8','WIN-LF5RK32CE87'))

);

GO

ALTER AVAILABILITY GROUP [weitui_sql_wr]

MODIFY REPLICA ON N'WIN-LF5RK32CE87' WITH

(

    PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=(N'WIN-K0VKE108NM8',N'WIN-LF5RK32CE87','WIN-2N0I1AI1BHC'))

);

GO

 

 

驗(yàn)證讀寫(xiě)路由表。使用同樣的命令驗(yàn)證。

select a.*,c.is_local,c.role_desc,d.endpoint_url,d.read_only_routing_url

from sys.dm_hadr_availability_replica_cluster_nodes a

join sys.dm_hadr_availability_replica_cluster_states b

on a.replica_server_name = b.replica_server_name

join sys.dm_hadr_availability_replica_states c

on b.replica_id = c.replica_id

join sys.availability_replicas d

on c.replica_id = d.replica_id

 

測(cè)試只讀路由是否生效。Always on 集群web鏈接過(guò)程中需要傳遞ApplicationIntent = ReadOnly 此類(lèi)參數(shù)。測(cè)試方式如下。

  

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置

Windows 2012 always on 讀寫(xiě)分離集群搭建配置


完成以上操作后點(diǎn)鏈接。如果可以連接到只讀節(jié)點(diǎn),并且符合只讀路由表的順序表示配置完成。


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI