SQL Server AlwaysON从入门到进阶(3)——基础架构
生活随笔
收集整理的這篇文章主要介紹了
SQL Server AlwaysON从入门到进阶(3)——基础架构
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
本文屬于SQL Server AlwaysON從入門到進階系列文章
本文將更加深入地講解WSFC所需的核心組件。由于AlwaysOn和FCI都需要基于WSFC之上,因此我們首先要了解在Windows群集發(fā)生了什么。不僅可以優(yōu)化SQL Server的高可用設(shè)計和部署高,也可以為后續(xù)問題偵測過程提供支持。 本節(jié)將涉及以下內(nèi)容:
那么,一個常規(guī)的配置會是怎樣的?大家可以看下下面的這個圖,可以看到一個基于WSFC的典型網(wǎng)絡(luò)。其中有域控制器(Domain Controller,包含了DNS區(qū)域的功能)、TCP/IP網(wǎng)絡(luò)及群集節(jié)點。
我們也不妨一起看看基礎(chǔ)設(shè)施的依賴關(guān)系,這里建立了一個樹狀結(jié)構(gòu)。依賴樹的組件如下圖:
藍色虛線意味著是可選項,AlwaysOn和FCI是可以獨立部署互不依賴的。
注意:雖然不在強制需要專用的心跳網(wǎng)卡,但是還是必須有多個冗余的TCP/IP網(wǎng)絡(luò)。 在第一個圖中的5個節(jié)點通過public網(wǎng)絡(luò)互聯(lián),這個網(wǎng)絡(luò)是提供給SQL Server實例用于為客戶端提供服務(wù)。同時這個網(wǎng)絡(luò)也用于群集監(jiān)控和SQL Server資源在啟動故障轉(zhuǎn)移時使用。并且這里也有一個冗余的TCP/IP網(wǎng)絡(luò)用于快速恢復(fù)。雖然這個冗余網(wǎng)絡(luò)并非強制要求,但是作為最佳實踐,一個可用的、獨立的冗余網(wǎng)絡(luò)能提供最佳的可用性。并且這個冗余網(wǎng)絡(luò)還可以用于SQL Server備份(特指網(wǎng)絡(luò)備份)、鏡像端點流量傳輸時使用。群集虛擬適配器使用一個在APIP(Automatic Private IP,自動專用IP)范圍中的地址,以便在群集節(jié)點之間隔離通訊。
雖然在上面樹狀圖中沒有出現(xiàn)并且不是必要要求,但是我們還是要看看DHCP。如果希望自動管理服務(wù)器TCP/IP地址分配工作,那么就需要一個DHCP服務(wù)器。在常規(guī)部署中,通常會部署在NDS服務(wù)器上。DHCP是從DHCP管理員指定的保留池中在一臺新電腦啟動時分配IP地址的協(xié)議。典型的通過DHCP的網(wǎng)絡(luò)配置綁定的網(wǎng)卡大概如下:
在部署Windows Server Failover Cluster(WSFC)之前,需要滿足以下最低要求:
SQL Server AlwaysON從入門到進階(4)——分析和部署Windows Server Failover Cluster
前言:
本文將更加深入地講解WSFC所需的核心組件。由于AlwaysOn和FCI都需要基于WSFC之上,因此我們首先要了解在Windows群集發(fā)生了什么。不僅可以優(yōu)化SQL Server的高可用設(shè)計和部署高,也可以為后續(xù)問題偵測過程提供支持。 本節(jié)將涉及以下內(nèi)容:
- Windows Server Active Directory Domain(Windows Server活動目錄域)
- DNS Server
- DHCP Server
- TCP/IP 網(wǎng)絡(luò)
- Windows Server 企業(yè)版(2008)或標(biāo)準(zhǔn)版(2012)的最小計算機節(jié)點數(shù)。
WSFC簡介及工作機制:
首先看看在一個沒有任何應(yīng)用的裸群集包含一些什么配置。在這里,我們使用5個節(jié)點、無共享存儲,將在后續(xù)用于部署無FCI的AlwaysOn的群集。Windows Server Failover Cluster(下稱WSFC)是一種特殊的Windows Server 功能,在使用之前必須先啟用。可以在Windows中使用PowerShell或者【角色和功能】向?qū)е袉⒂谩R坏┕δ鼙粏⒂?#xff0c;那么Failover Cluster(故障轉(zhuǎn)移群集)會使用一個在每臺群集機器中的Windows 服務(wù)(Cluster service)作為伙伴節(jié)點中通訊之用。同時還可以作為節(jié)點同步和監(jiān)控已集群的應(yīng)用的健康狀況。 當(dāng)由于某些原因?qū)е聭?yīng)用無法響應(yīng)時,基于資源策略的一系列步驟就會被觸發(fā)執(zhí)行。故障從大類分為軟件和硬件故障。如果是軟件故障比如已集群的SQL Server服務(wù)被終止,那么會自動嘗試在同一臺機器上重啟服務(wù)。但是如果是硬件故障,那么故障轉(zhuǎn)移就會馬上啟動。 不管軟硬件故障,如果Failover需要重啟已集群的應(yīng)用的服務(wù),通常這個服務(wù)會在一個伙伴節(jié)點中重啟。也就是說,服務(wù)上的所有連接(這里特指數(shù)據(jù)庫引擎)會中斷。然后在伙伴節(jié)點上,SQL Server數(shù)據(jù)庫引擎會重啟并恢復(fù)所有數(shù)據(jù)庫,回滾、重做必要的日志。 前面提到過,集群服務(wù)同樣監(jiān)控操作系統(tǒng)及已集群應(yīng)用的常規(guī)狀態(tài)和健康情況。對于SQL Server引擎就是周期性檢測服務(wù)是否“IsAlive”,對于操作系統(tǒng),“isAlive”的周期為5秒一次。 IsAlive檢測每60秒觸發(fā)一次,然后在5秒內(nèi)測量。如果在5秒內(nèi)沒有響應(yīng),意味著該節(jié)點的群集服務(wù)不可用。未能在指定事件作出響應(yīng)將會啟動對應(yīng)用、資源的故障轉(zhuǎn)移。詳細資料可在官方文檔中查閱:在故障轉(zhuǎn)移群集在 Windows Server 中的新增功能 Windows Server 2012 R2群集節(jié)點健康偵測默認時間值| 群集通用屬性 | 非Hyper-V的群集角色默認值 | Hyper-V群集角色默認值 |
| 相同子網(wǎng)閾值 | 5 秒 | 10 秒 |
| 跨子網(wǎng)閾值 | 5 秒 | 20 秒 |
那么,一個常規(guī)的配置會是怎樣的?大家可以看下下面的這個圖,可以看到一個基于WSFC的典型網(wǎng)絡(luò)。其中有域控制器(Domain Controller,包含了DNS區(qū)域的功能)、TCP/IP網(wǎng)絡(luò)及群集節(jié)點。
我們也不妨一起看看基礎(chǔ)設(shè)施的依賴關(guān)系,這里建立了一個樹狀結(jié)構(gòu)。依賴樹的組件如下圖:
藍色虛線意味著是可選項,AlwaysOn和FCI是可以獨立部署互不依賴的。
TCP/IP 網(wǎng)絡(luò):
我們從基礎(chǔ)開始,首先需要一個固定的TCP\IP網(wǎng)絡(luò)。通常由以太網(wǎng)交換機和網(wǎng)線(傳統(tǒng)的銅線,1Gbps)組成。計算機對象通過patch\CAT5網(wǎng)線插入各種網(wǎng)絡(luò)交換機。Windows Server 群集模型在持續(xù)改進,已經(jīng)不再強制需要專用心跳適配器。在Windows Server 2003時代,這個為必須項,從2008開始發(fā)生了很大的改變。新的群集模型使用一個特定的虛擬適配器,這個適配器綁定到可用的物理網(wǎng)卡上用于內(nèi)部節(jié)點之間心跳流量的傳輸。這個虛擬適配器類似下圖:注意:雖然不在強制需要專用的心跳網(wǎng)卡,但是還是必須有多個冗余的TCP/IP網(wǎng)絡(luò)。 在第一個圖中的5個節(jié)點通過public網(wǎng)絡(luò)互聯(lián),這個網(wǎng)絡(luò)是提供給SQL Server實例用于為客戶端提供服務(wù)。同時這個網(wǎng)絡(luò)也用于群集監(jiān)控和SQL Server資源在啟動故障轉(zhuǎn)移時使用。并且這里也有一個冗余的TCP/IP網(wǎng)絡(luò)用于快速恢復(fù)。雖然這個冗余網(wǎng)絡(luò)并非強制要求,但是作為最佳實踐,一個可用的、獨立的冗余網(wǎng)絡(luò)能提供最佳的可用性。并且這個冗余網(wǎng)絡(luò)還可以用于SQL Server備份(特指網(wǎng)絡(luò)備份)、鏡像端點流量傳輸時使用。群集虛擬適配器使用一個在APIP(Automatic Private IP,自動專用IP)范圍中的地址,以便在群集節(jié)點之間隔離通訊。
Domain Name System,DNS:
一個可靠的微軟客戶端網(wǎng)絡(luò)還需要有一個Domain Name System(DNS,域名系統(tǒng))服務(wù)器的存在。在微軟客戶端網(wǎng)絡(luò)中,計算機對象(服務(wù)器和工作站)都有一個唯一的計算機名,并分配一個唯一的IP地址。這個計算機名和IP地址在計算機本地網(wǎng)卡中注冊信息。但是當(dāng)你在TCP/IP網(wǎng)絡(luò)中需要通過計算機名引用另外一臺計算機時,你就需要解決計算機名到IP地址之間的解析問題。這就是DNS出現(xiàn)的原因。 DNS服務(wù)器可以是一臺網(wǎng)絡(luò)中的計算機,也可以是Windows Server域控中啟用了DNS角色的機器。DNS使用區(qū)域(zones)來解決計算機組名問題。一個區(qū)域可以是正向查找區(qū)域(強制的)或者一個反向查找區(qū)域(可選的),它們的操作如下:- 正向查找區(qū)域:解析機器名→IP地址
- 反向查找區(qū)域:解析TCP/IP地址→計算機名
Dynamic Host Configuration Protocol,DHCP:
雖然在上面樹狀圖中沒有出現(xiàn)并且不是必要要求,但是我們還是要看看DHCP。如果希望自動管理服務(wù)器TCP/IP地址分配工作,那么就需要一個DHCP服務(wù)器。在常規(guī)部署中,通常會部署在NDS服務(wù)器上。DHCP是從DHCP管理員指定的保留池中在一臺新電腦啟動時分配IP地址的協(xié)議。典型的通過DHCP的網(wǎng)絡(luò)配置綁定的網(wǎng)卡大概如下:
Active Directory Domain:活動目錄域
在整套環(huán)境中,必須要有一臺啟用了Active Directory Domain服務(wù)角色的Windows Server 計算機。這個角色由DCPROMO.EXE這個cmd命令創(chuàng)建在Windows域中。按著向?qū)б徊揭徊嚼^續(xù)下去之后,就可以為網(wǎng)絡(luò)客戶端提供Active Directory 身份驗證和管理網(wǎng)絡(luò)資源。常見的資源有:- Windows Server Failover Clusters
- 文件共享
- 打印機
- 用戶
Windows Server Failover Cluster:
在部署Windows Server Failover Cluster(WSFC)之前,需要滿足以下最低要求:
- 一個TCP/IP網(wǎng)絡(luò)
- 一個AD域
- 一個DNS服務(wù)器
SQL Server Failover Cluster Instance:FCI
SQL Server FCI在發(fā)生軟硬件故障時進行實例級別的故障轉(zhuǎn)移,避免SQL Server實例永久脫機。在過去,FCI是在過去SQL Server高可用的主要技術(shù),但是共享存儲的硬性要求成為它的唯一缺點。共享存儲的故障會直接導(dǎo)致FCI脫機并無法啟動。 另外需要了解的是每個新實例的部署都需要有自己的唯一虛擬網(wǎng)絡(luò)名和唯一虛擬IP地址。實例不可共享硬盤文件路徑、虛擬IP地址或虛擬網(wǎng)絡(luò)名,他們必須是“唯一”的。FCI完全取決于WSFC提供的資源管理。SQL Server AlwaysOn Availability Group:
AlwaysOn 可用組是SQL 2012引入的新的高可用技術(shù)。它借助WSFC進行資源組的管控。AlwaysOn組通常包含一個主數(shù)據(jù)庫集合。而數(shù)據(jù)庫的副本被封裝到可用組(Availability Groups)中,成為“副本”并傳送到其他實例上提供只讀功能。 SQL Server 可用組的其中一個新功能是創(chuàng)建偵聽器服務(wù)。用于提供一個中央客戶端接入點用于訪問Availability Group中綁定到偵聽器的數(shù)據(jù)庫。配置完只讀路由后,偵聽器會把意向讀的流量重定向到次要只讀數(shù)據(jù)庫,分?jǐn)傊鞲北镜牧髁俊? 這部分內(nèi)容是本系列的主題,將在后續(xù)繼續(xù)介紹。小結(jié):
本節(jié)對整個環(huán)境進行了概要介紹,下節(jié)開始會著重對這些內(nèi)容/技術(shù)進行專門的詳細講解。首先將會是作為基礎(chǔ)的WSFC。SQL Server AlwaysON從入門到進階(4)——分析和部署Windows Server Failover Cluster
總結(jié)
以上是生活随笔為你收集整理的SQL Server AlwaysON从入门到进阶(3)——基础架构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NVIDIA和AMD各型号显卡超频参数一
- 下一篇: linux cmake编译源码,linu