SQL-Server-AlwaysOn架構(gòu)及原理_第1頁
SQL-Server-AlwaysOn架構(gòu)及原理_第2頁
SQL-Server-AlwaysOn架構(gòu)及原理_第3頁
SQL-Server-AlwaysOn架構(gòu)及原理_第4頁
SQL-Server-AlwaysOn架構(gòu)及原理_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 SQL Server AlwaysOn架構(gòu)及原理SQL Server2012所支持的AlwaysOn技術(shù)集中了故障轉(zhuǎn)移群集、數(shù)據(jù)庫鏡像和日志傳送三者的優(yōu)點(diǎn),但又不相同。故障轉(zhuǎn)移群集的單位是SQL實(shí)例,數(shù)據(jù)庫鏡像和日志傳送的單位是單個(gè)用戶數(shù)據(jù)庫,而AlwaysOn支持的單位是可用性組,每個(gè)組中可以包括一個(gè)或者是多個(gè)用戶數(shù)據(jù)庫。也就是說,一旦發(fā)生切換,則可用性組中的所有數(shù)據(jù)組會作為一個(gè)整體進(jìn)行切換。   AlwaysOn底層依然采用Windows 故障轉(zhuǎn)移群集的機(jī)制進(jìn)行監(jiān)測和轉(zhuǎn)移,因此也需要先建立Windows Cluster,只不過可用性組中的數(shù)據(jù)庫不一定非要再存放在共享存

2、儲上了??梢允谴鎯υ诒镜卮疟P上。   AlwaysOn的關(guān)鍵特性:   1. 同故障轉(zhuǎn)移群集一樣,也需要一個(gè)虛擬網(wǎng)絡(luò)名稱用于客戶端的統(tǒng)一連接。   2.一個(gè)主服務(wù)器可以最多對應(yīng)四個(gè)輔助服務(wù)器,總數(shù)達(dá)到五個(gè),而且輔助服務(wù)器支持只讀功能。   3.輔助服務(wù)器可以獨(dú)立執(zhí)行備份和DBCC維護(hù)命令。通過配置,可以實(shí)現(xiàn)客戶端的只讀請求可以被自動定向到輔助服務(wù)器。   4.主服務(wù)器和輔助服務(wù)器之間的數(shù)據(jù)會被加密和壓縮,以提高安全性和網(wǎng)絡(luò)傳輸效率。   5.支持自動、手動和強(qiáng)制三種故障轉(zhuǎn)移方

3、式。   6.有儀表盤用于監(jiān)控AlwaysOn的運(yùn)行狀態(tài)。   7.可以實(shí)現(xiàn)多站點(diǎn)的部署,即主站點(diǎn)和輔助站點(diǎn)可以跨物理網(wǎng)絡(luò)。AlwaysOn的基本架構(gòu)   在Windows MSCS故障轉(zhuǎn)移群集的基礎(chǔ)上部署AlwaysOn高可用組,用戶可以在群集節(jié)點(diǎn)上安裝SQL Server單機(jī)實(shí)例,也可以安裝SQL Server群集實(shí)例,AlwaysOn僅要求所有SQL Server實(shí)例都運(yùn)行在同一個(gè)MSCS中,但SQL Server實(shí)例本身是不需要群集模式的,這與SQL Server2008 群集的實(shí)例完全不同。在此推薦使用單機(jī)模式的SQL Se

4、rver,好處是:可用性副本是個(gè)單機(jī)實(shí)例,那么數(shù)據(jù)庫副本就存放在該運(yùn)行該實(shí)例節(jié)點(diǎn)的本地磁盤上;如果可用性副本是個(gè)群集實(shí)例,那么數(shù)據(jù)庫副本就存放在共享磁盤上。推薦精選   可用性組從Windows群集角度來看,就是一個(gè)群集資源,其中的所有數(shù)據(jù)庫作為一個(gè)整體在節(jié)點(diǎn)間進(jìn)行故障轉(zhuǎn)移,當(dāng)然這不包括系統(tǒng)數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫是不能加入高可用性組中的。   因?yàn)樾枰柚鶺indos群集實(shí)現(xiàn)監(jiān)控和轉(zhuǎn)移,所以AlwaysOn會受到一些限制:   一個(gè)可用性組中的所有可用性副本必須運(yùn)行在單一的Windows群集上,跨不同Windows群集的SQL Serve

5、r實(shí)例不能配置成一個(gè)AlwaysOn可用性組。   一個(gè)可用性組的所有可用性副本必須運(yùn)行在Windows群集的不同節(jié)點(diǎn)上。運(yùn)行在同一個(gè)節(jié)點(diǎn)上的兩個(gè)不同實(shí)例不能用作同一個(gè)可用性組的副本。   如果某個(gè)可用性副本實(shí)例是一個(gè)SQL群集實(shí)例,那同一個(gè)SQL群集的其他非活躍節(jié)點(diǎn)上安裝的任何其他SQL實(shí)例都不能作為它的輔助副本。   一個(gè)數(shù)據(jù)庫只能屬于一個(gè)可用性組。   AlwaysOn最多可以支持五個(gè)副本,但只有一個(gè)可用性副本上運(yùn)行的數(shù)據(jù)庫是處于可讀寫狀態(tài)。這個(gè)可讀寫的數(shù)據(jù)庫被稱為主數(shù)據(jù)庫(PrimaryDatabase),

6、同時(shí)這個(gè)可用性副本被稱為主副本(primaryreplica)。其余的副本都被稱為輔助副本(secondaryreplica),輔助副本上的數(shù)據(jù)庫可能是不可訪問的,或者是只能接受只讀操作(取決于可用性組的配置),這些數(shù)據(jù)庫被稱為輔助數(shù)據(jù)庫。一但發(fā)生故障轉(zhuǎn)移,任何一個(gè)輔助副本都可以成為新的主副本實(shí)例。主副本會不斷地將主數(shù)據(jù)庫上的數(shù)據(jù)變化發(fā)送到輔助副本,來實(shí)現(xiàn)副本間的數(shù)據(jù)庫同步。下圖就顯示了一個(gè)可用性組中各副本之間的關(guān)系。推薦精選 下圖展示了AlwaysOn可用性組與Windows故障轉(zhuǎn)移群集之間的關(guān)系,在這個(gè)圖中,Windows的故障轉(zhuǎn)移群集使用到了兩個(gè)子網(wǎng),在左邊的子網(wǎng)里,有兩個(gè)節(jié)點(diǎn) ;右邊的

7、子網(wǎng)里有三個(gè)節(jié)點(diǎn),其中最右邊兩個(gè)節(jié)點(diǎn)上創(chuàng)建了一個(gè)SQL Server的群集實(shí)例,存放于共享存儲;其他三個(gè)節(jié)點(diǎn)安裝的是單機(jī)實(shí)例,存放于本地存儲;一共四個(gè)實(shí)例組成了一個(gè)AlwaysOn可用性組,其中一個(gè)主副本,其他的都是輔助副本。推薦精選偵聽器   AlwaysOn創(chuàng)建后,客戶端就需要進(jìn)行連接,為了讓應(yīng)用程序能夠透明地連接到主副本而不受故障故障轉(zhuǎn)移的影響,我們需要創(chuàng)建一個(gè)偵聽器,偵聽器就是一個(gè)虛擬的網(wǎng)絡(luò)名稱,可以通過這個(gè)虛擬網(wǎng)絡(luò)名稱訪問可用性組,而不用關(guān)心連接的是哪一個(gè)節(jié)點(diǎn),它會自動將請求轉(zhuǎn)發(fā)到主節(jié)點(diǎn),當(dāng)主節(jié)點(diǎn)發(fā)生故障后,輔助節(jié)點(diǎn)會變?yōu)橹鞴?jié)點(diǎn),偵聽器也會自動去偵聽主節(jié)點(diǎn)。一個(gè)偵

8、聽器包括虛擬IP地址、虛擬網(wǎng)絡(luò)名稱、端口號三個(gè)元素,一旦創(chuàng)建成功,虛擬網(wǎng)絡(luò)名稱會注冊到DNS中,同時(shí)為可用性組資源添加IP地址資源和網(wǎng)絡(luò)名稱資源。用戶就可以使用此名稱來連接到可用性組中。與故障轉(zhuǎn)移群集不同,除了使用虛擬網(wǎng)絡(luò)名稱之外,主副本的真實(shí)實(shí)例名還可以被用來連接。   SQL Server2012早期版本的SQL Server只有在實(shí)例啟動的時(shí)候地會嘗試綁定IP和端口,但是SQL Server2012卻允許在副本實(shí)例處于運(yùn)行狀況的時(shí)候隨時(shí)綁定新的IP地址、網(wǎng)絡(luò)名稱和端口號。因此可以為隨時(shí)為為可用性組添加偵聽器,而且這個(gè)操作會立即生效。當(dāng)添加了偵聽器之后,在SQL Ser

9、ver的錯誤日志中可以看到類似:在虛擬網(wǎng)絡(luò)名稱上停止和啟動偵聽器的消息。推薦精選   要注意的是,SQLBrowser服務(wù)是不支持Listener的。這是因?yàn)閼?yīng)用程序在使用Listener的虛擬網(wǎng)絡(luò)名連接SQLServer時(shí),是以一個(gè)默認(rèn)實(shí)例的形式進(jìn)行訪問的(只有主機(jī)名,沒有實(shí)例名),因此客戶端根本就不會去嘗試使用SQLBrowser服務(wù)。各副本間的數(shù)據(jù)同步   AlwaysOn必須要維護(hù)各副本間的數(shù)據(jù)一致性,當(dāng)主副本上的數(shù)據(jù)發(fā)生變化,會同步到輔助副本上。這里AlwaysOn通過三個(gè)步驟來完成:步驟1:主副本記錄發(fā)生變化的數(shù)據(jù);步驟2:將記錄傳輸?shù)礁鱾€(gè)輔

10、助副本;步驟3:把數(shù)據(jù)變化操作在輔助副本上執(zhí)行一遍。具體實(shí)現(xiàn)如下:   在主副本和輔助副本上,SQL Server都會啟動相應(yīng)的線程來完成相應(yīng)的任務(wù)。對于一般的SQL Server服務(wù)器,即沒有配置高可用性,會運(yùn)行Log Writer的線程,當(dāng)發(fā)生數(shù)據(jù)修改事務(wù)時(shí),此線程負(fù)責(zé)將本次操對應(yīng)的日志信息記錄到日志緩沖區(qū)中,然后再寫入到物理日志文件。但如果配置了AlwaysOny主副本的數(shù)據(jù)庫,SQL Server會為它建立一個(gè)叫Log Scanner的線程,不間斷的工作,負(fù)責(zé)將日志從日志緩沖區(qū)或日志文件里讀出,打包成日志塊,發(fā)送到輔助副本。因此可以保證發(fā)生的數(shù)據(jù)變化,不斷送給各輔助副本。  輔助副本上存在固化和重做兩個(gè)線程完成數(shù)據(jù)更新操作,固化線程會將主副本Log Scanner所發(fā)過來的日志塊寫入輔助副本磁盤上的日志文件里,因此稱為固化,然后重做線程負(fù)責(zé)從磁盤上讀取日志塊,將日志記錄對應(yīng)的操作重演一遍,此時(shí)主副本和輔助副本上的數(shù)據(jù)就一致了。重做線程每隔固定的時(shí)間點(diǎn),會跟主副本通信,告知自己的工作進(jìn)度。主副本由此知道

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論