国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

SQLSERVER群集故障轉(zhuǎn)移筆記

2024-07-21 02:51:14
字體:
供稿:網(wǎng)友
SQLSERVER群集故障轉(zhuǎn)移筆記SQLSERVER群集故障轉(zhuǎn)移筆記

出自《SQLSERVER2012實(shí)施與管理實(shí)戰(zhàn)指南》

SQLSERVER故障轉(zhuǎn)移 P41事實(shí)上,從sqlserver2000到sqlserver2008 R2,sqsrvres.dll中定義的looksalive和isalive方法都是類似的。具體來講:looksalive:通過服務(wù)器控制管理器(service control manager,SCM)來檢查SQLSERVER服務(wù)在活躍節(jié)點(diǎn)是否處于“啟動(dòng)狀態(tài)”。根據(jù)SQLSERVER資源的Advanced Polices選項(xiàng)卡中的設(shè)置,這個(gè)檢查默認(rèn)是每5秒做一次isalive:根據(jù)SQLSERVER資源的Advanced Polices選項(xiàng)卡中的設(shè)置,這個(gè)檢查默認(rèn)是60秒做一次也就是說每12次Looksalive檢查就會(huì)伴隨一個(gè)Isalive檢查。SQLSERVER需要Isalive檢查是因?yàn)榧词筍QLSERVER服務(wù)是正在運(yùn)行狀態(tài)也不能說明SQLSERVER就可以良好地響應(yīng)應(yīng)用程序的請求。有時(shí)候可能整個(gè)SQLSERVER已經(jīng)掛起了,但是服務(wù)的狀態(tài)還是“啟動(dòng)”,所以需要Isalive Check來進(jìn)一步檢查SQLSERVER的狀態(tài)。此外,一旦lookalive檢查的結(jié)果失敗,Windows群集服務(wù)就會(huì)立刻觸發(fā)Isalive檢查在SQL2012之前,Isalive所做的事情很簡單,Windows群集服務(wù)會(huì)使用TCP/ip或者命名管道來連接SQLSERVER群集實(shí)例。連接上之后,運(yùn)行一句命令:“select @@servername”。如果成功返回結(jié)果那么Isalive檢查就成功了。從第一次成功執(zhí)行select @@servername開始,Isalive檢查就會(huì)根據(jù)設(shè)定的時(shí)間間隔,使用這個(gè)連接不斷地重復(fù)檢查工作如果連接不上SQLSERVER群集實(shí)例或者語句運(yùn)行失敗,那么Isalive檢查失敗。此時(shí)Windows群集會(huì)再做3~5次(Windows的版本和設(shè)置不同)Isalive檢查。如果這些檢查都失敗,就要根據(jù)Policies選項(xiàng)卡中的設(shè)置開始進(jìn)行故障轉(zhuǎn)移你可以把故障轉(zhuǎn)移簡單地想象成SQLSERVER服務(wù)的重啟,所不同的是故障轉(zhuǎn)移的時(shí)候,SQLSERVER服務(wù)是在當(dāng)前節(jié)點(diǎn)停止的,然后在另一個(gè)節(jié)點(diǎn)上啟動(dòng)起來。因此故障轉(zhuǎn)移所花費(fèi)的時(shí)間和SQLSERVER服務(wù)重啟的時(shí)間是差不多的。當(dāng)然共享磁盤和虛擬網(wǎng)絡(luò)名等資源在另一個(gè)節(jié)點(diǎn)上線也會(huì)額外花費(fèi)一點(diǎn)時(shí)間,不過在大多數(shù)情況下這部分時(shí)間是比較短的。另外由于故障轉(zhuǎn)移一般是意外發(fā)生的,所以你要預(yù)期SQLSERVER切換到新節(jié)點(diǎn)以后,還需要一段時(shí)間來做數(shù)據(jù)庫的修復(fù)前面也提到過,除了SQLSERVER和SQLSERVER AGENT以外,SQLSERVER資源組里可能還會(huì)有Analysis Service資源。但是和SQLSERVER和SQLSERVER AGENT所不同的是,Analysis Service資源沒有自己的資源類型,也就是說他是一個(gè)GENERIC SERVICE(通用服務(wù))。Analysis Service的isalive和lookalive檢查就使用的是clusres.dll中定義的通用服務(wù)檢查方法。SQLSERVER的諸多組件和服務(wù)中,SQLSERVER 、SQLSERVER AGNET、ANALYSIS SERVICE三個(gè)服務(wù)無論是有自己專屬的資源類型還是通用服務(wù),都是被設(shè)計(jì)為可以通過resource dll形成群集資源。這種類型的服務(wù)被稱為cluster-aware。SQLSERVER還有很多其他資源,比如:SQL broswer、Reporting Service等,他們被設(shè)計(jì)為無法通過任何resource dll在Windows群集中形成資源,所以他們不是cluster-aware的。對于不是cluster-aware的服務(wù),即使被安裝在了群集的節(jié)點(diǎn)上,Windows依舊把他當(dāng)成是安裝在了一個(gè)單機(jī)環(huán)境中,他無法具有故障轉(zhuǎn)移的功能。需要提一下的是Integration Services是一個(gè)比較特別的服務(wù)。Integration Services本身不是cluster-aware的服務(wù),但是用戶可以通過一些步驟手動(dòng)把他配置成一個(gè)群集資源。但是這樣配置出來的Integration Services群集資源不是一個(gè)真正的資源,是不具有自動(dòng)故障轉(zhuǎn)移功能的,因此微軟并不推薦這麼做。更多信息,參考http://msdn.microsoft.com/en-us/library/ms345193.aspxConfiguring Integration Services in a Clusterhttp://msdn.microsoft.com/kb/9421762.2.4 SQLSERVER群集的拓?fù)浣Y(jié)構(gòu)最簡單的SQLSERVER故障轉(zhuǎn)移群集拓?fù)浣Y(jié)構(gòu)就是“活躍/非活躍 ”群集,這種結(jié)構(gòu)下群集有兩個(gè)節(jié)點(diǎn),用戶在群集上安裝一個(gè)SQLSERVER群集實(shí)例,該實(shí)例的“可能的所有者(Possible Owners)”包含上述兩個(gè)節(jié)點(diǎn)。這樣任意時(shí)間只有一個(gè)節(jié)點(diǎn)上有SQLSERVER服務(wù)在運(yùn)行,而另一個(gè)節(jié)點(diǎn)就是“非活躍”節(jié)點(diǎn)。這種配置優(yōu)點(diǎn)就是結(jié)構(gòu)簡單明了,無論SQLSERVER運(yùn)行在哪個(gè)節(jié)點(diǎn)上都能獲得同樣的性能表現(xiàn)。缺點(diǎn)是總有一個(gè)節(jié)點(diǎn)處于空閑狀態(tài),浪費(fèi)了50%的硬件資源另一種拓?fù)浣Y(jié)構(gòu)是活躍/活躍集群,還是以一個(gè)兩節(jié)點(diǎn)的群集為例,這個(gè)時(shí)候用戶在群集上安裝兩個(gè)SQLSERVER群集實(shí)例,每個(gè)實(shí)例的“可能的所有者”都包含群集兩個(gè)節(jié)點(diǎn)。在正常情況下,兩個(gè)實(shí)例分別運(yùn)行在不同的節(jié)點(diǎn)上,這樣兩個(gè)節(jié)點(diǎn)就都是“活躍”節(jié)點(diǎn)這種結(jié)構(gòu)的優(yōu)勢是:兩個(gè)節(jié)點(diǎn)的硬件資源都能被充分利用(需要安裝兩個(gè)或多個(gè)SQLSERVER群集實(shí)例),并且節(jié)約成本。缺點(diǎn)是:一旦某個(gè)節(jié)點(diǎn)發(fā)生故障轉(zhuǎn)移,就會(huì)發(fā)生另一個(gè)節(jié)點(diǎn)上同時(shí)運(yùn)行了兩個(gè)SQLSERVER實(shí)例的情況。此時(shí),這兩個(gè)實(shí)例可能會(huì)爭用這個(gè)節(jié)點(diǎn)上的CPU、內(nèi)存、I/O等資源,導(dǎo)致兩個(gè)實(shí)例的性能都受到影響。有時(shí)可能兩邊的用戶都不能接受。因此要盡快解決異常節(jié)點(diǎn)上的問題,盡早把發(fā)生故障轉(zhuǎn)移的實(shí)例切換回去在此基礎(chǔ)上,我們來介紹所謂的N+1結(jié)構(gòu),即N個(gè)活躍節(jié)點(diǎn)加上一個(gè)非活躍節(jié)點(diǎn),以3個(gè)節(jié)點(diǎn)的群集為例在上面安裝兩個(gè)SQLSERVER群集實(shí)例,每個(gè)實(shí)例的Possible Owner包含群集中的兩個(gè)節(jié)點(diǎn),但是只有一個(gè)節(jié)點(diǎn)是兩個(gè)實(shí)例共有的。正常情況下,兩個(gè)SQLSERVER都運(yùn)行在非共有的那個(gè)節(jié)點(diǎn)上,互不相干。一旦某個(gè)節(jié)點(diǎn)發(fā)生故障轉(zhuǎn)移,就會(huì)切換到那個(gè)共有的非活躍節(jié)點(diǎn)上這個(gè)結(jié)構(gòu)是一個(gè)介于“活躍/非活躍”和“活躍/活躍”之間的一種方案。相對于“活躍/非活躍”,他浪費(fèi)的節(jié)點(diǎn)資源比較少(1/N+1)。另外,兩個(gè)以上的節(jié)點(diǎn)同時(shí)發(fā)生故障轉(zhuǎn)移,需要同時(shí)切換到共有節(jié)點(diǎn)的概率是比較低的,因此也在一定程度上解決了“活躍/活躍”結(jié)構(gòu)的性能問題無論什么樣的拓?fù)浣Y(jié)構(gòu),有兩點(diǎn)是不會(huì)變的:1、SQLSERVER集群無法提供數(shù)據(jù)庫端的負(fù)載均衡功能。作為“活躍/活躍”群集,其實(shí)是幾個(gè)獨(dú)立的數(shù)據(jù)庫實(shí)例,他們彼此間沒有聯(lián)系。再次強(qiáng)調(diào),群集技術(shù)只是一個(gè)提供“高可用性”的技術(shù),而不是提升性能的技術(shù)2、無論群集有幾個(gè)節(jié)點(diǎn),對于某個(gè)數(shù)據(jù)庫實(shí)例而言他只有一份數(shù)據(jù)一旦數(shù)據(jù)本身出現(xiàn)問題,群集對此便無能為力。所以,群集技術(shù)不是一個(gè)提供數(shù)據(jù)“災(zāi)難恢復(fù)”的技術(shù)。對重要的數(shù)據(jù)庫,僅僅使用群集技術(shù)是不夠的2.2.5 SQL2012對故障轉(zhuǎn)移群集的改進(jìn)SQLSERVER2012群集基本沿襲了SQLSERVER2008群集以來的一系列特點(diǎn)。不過他也帶來了一些新特性使得群集具有了更加強(qiáng)大的功能以及更高的可用性。新特性介紹1、多子網(wǎng)群集的支持2、RegisterAllPRovidersIP3、存放數(shù)據(jù)庫的物理位置4、新的Resource DLL5、Sp_server_diagnostics
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 靖江市| 台中县| 安远县| 神农架林区| 霍山县| 乌拉特前旗| 景泰县| 汉中市| 江城| 永顺县| 吉隆县| 平顶山市| 湾仔区| 休宁县| 凌海市| 徐州市| 平邑县| 泰安市| 文水县| 麻阳| 和政县| 田阳县| 衡水市| 黄梅县| 陇西县| 齐齐哈尔市| 武邑县| 城步| 牙克石市| 江孜县| 普安县| 静宁县| 沙坪坝区| 江陵县| 达州市| 乐陵市| 蓝山县| 和平区| 霞浦县| 英山县| 霞浦县|