溫馨提示×

溫馨提示×

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

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

云中SQL Server高可用性最佳實(shí)踐

發(fā)布時(shí)間:2020-08-09 22:28:03 來源:ITPUB博客 閱讀:190 作者:tianxiaoxu 欄目:關(guān)系型數(shù)據(jù)庫

相比于本地部署的數(shù)據(jù)庫,云數(shù)據(jù)庫可以為用戶提供更多的靈活性和可擴(kuò)展性,而且價(jià)格也更加的低廉。但是云系統(tǒng)經(jīng)常會(huì)出現(xiàn)問題,所以我們必須要時(shí)刻關(guān)注高可用性和災(zāi)難恢復(fù)。

云中SQL Server高可用性最佳實(shí)踐

SIOS技術(shù)公司的高級技術(shù)推廣人員David Bermingham在SQL Server集群管理軟件公司舉辦的網(wǎng)絡(luò)研討會(huì)上,詳細(xì)介紹了一組針對云用戶的SQL Server高可用性最佳實(shí)踐,同時(shí)還對比了Microsoft Azure、AWS和Google云提供的高可用性功能。

Bermingham表示,可靠的高可用性策略可以幫助為基于云的SQL Server系統(tǒng)創(chuàng)建高效的工作流程、正常的運(yùn)行時(shí)間和有效的災(zāi)難恢復(fù)程序。如果替代方案不是那么理想,那可能就會(huì)發(fā)生數(shù)據(jù)庫停機(jī),數(shù)據(jù)丟失和其他令SQL Server數(shù)據(jù)庫管理員(DBA)頭痛的問題。

以下是Bermingham對SQL Server高可用性最佳實(shí)踐的一些建議。

在使用云平臺(tái)之前閱讀細(xì)則

Azure的服務(wù)級別協(xié)議(SLA)承諾每月只有22分鐘的數(shù)據(jù)庫停機(jī)時(shí)間。但是,Bermingham表示,只有當(dāng)SQL Server的兩個(gè)或多個(gè)實(shí)例被分組到一個(gè)由多個(gè)虛擬機(jī)(VMs)組成的可用性集中時(shí),才會(huì)出現(xiàn)這種情況。如果你自己只設(shè)置了一個(gè)實(shí)例,你可能最終得到的只是“a dial tone”,它可以ping,可以在線,但并不能保證存儲(chǔ)空間可用?!?

而在AWS針對SQL Server系統(tǒng)的SLA中,其承諾每月有4.5分鐘的停機(jī)時(shí)間,或者是99.99%的正常運(yùn)行時(shí)間。不過,與Azure的SLA類似,正常運(yùn)行時(shí)間保證僅適用于兩個(gè)或多個(gè)彼此配對的數(shù)據(jù)庫實(shí)例。

谷歌云平臺(tái)同樣承諾每月只需4.5分鐘的數(shù)據(jù)庫停機(jī)時(shí)間。但谷歌SLA中停機(jī)時(shí)間的定義有所不同,指的是“所有運(yùn)行實(shí)例的外部連接或持久磁盤訪問的丟失”,部署時(shí)將實(shí)例放置在同一計(jì)算區(qū)域的兩個(gè)或多個(gè)區(qū)域之間。

為系統(tǒng)中斷做好準(zhǔn)備

云雖然是一種非常有用的資源,但是更重要的是我們也要認(rèn)識到云服務(wù)并非絕對可靠,其有失敗的可能性。也正是因?yàn)榇?,Bermingham才會(huì)分享SQL Server高可用性最佳實(shí)踐,以及在發(fā)生中斷時(shí),應(yīng)該做出哪些應(yīng)急計(jì)劃。

Bermingham表示,首先你要確保有冗余的互聯(lián)網(wǎng)接入,以及有應(yīng)用程序如何連接到SQL Server以及客戶端如何連接到應(yīng)用程序的計(jì)劃。意外丟失互聯(lián)網(wǎng)服務(wù)是用戶需要找到應(yīng)對或解決方法的單點(diǎn)故障。

除此之外,還需要用戶考慮的一件事是在云中部署SQL Server要使用多個(gè)可用區(qū)。因?yàn)榭捎脜^(qū)域可能會(huì)完全不可用,所以Bermingham建議跨區(qū)域部署數(shù)據(jù)庫來彌補(bǔ)完全中斷。

Bermingham強(qiáng)調(diào)了實(shí)施災(zāi)難恢復(fù)計(jì)劃的重要性,因?yàn)樵浦械臄?shù)據(jù)可能會(huì)以各種方式丟失,火災(zāi)和洪水等自然災(zāi)害可能會(huì)破壞持有重要數(shù)據(jù)的物理服務(wù)器,不過,現(xiàn)在我們所看到的大部分中斷都是由于某種人為錯(cuò)誤造成的。

利用高可用性工具

在基于云系統(tǒng)實(shí)施SQL Server高可用性最佳實(shí)踐時(shí),必須要確保重要數(shù)據(jù)無論在何種情況下都可以使用。

Bermingham表示,即使你是在云端運(yùn)行SQL Server,那么你也需要管理它,確保它時(shí)刻在線。而SQL Server中的高可用性功能也可以幫助DBA在云中管理數(shù)據(jù)庫,例如Always On Availability Groups和Always On Failover Cluster Instances。

SQL Server 2012中,Always On Availability Groups將一組主數(shù)據(jù)庫綁定到多達(dá)八個(gè)相應(yīng)的輔助數(shù)據(jù)庫集,這些輔助數(shù)據(jù)庫配置為在發(fā)生中斷時(shí)一起進(jìn)行故障轉(zhuǎn)移。Bermingham表示因?yàn)镾QL Server是在每個(gè)實(shí)例上運(yùn)行,因此該技術(shù)可以實(shí)現(xiàn)非常快速的故障轉(zhuǎn)移。

他補(bǔ)充道,頁面修復(fù)可以在不使用第三方產(chǎn)品的情況下自動(dòng)完成,并且DBA能夠在輔助系統(tǒng)上進(jìn)行備份和運(yùn)行報(bào)告。不過,Always On Availability Groups僅保護(hù)用戶數(shù)據(jù)庫,并不保護(hù)用于管理和維護(hù)SQL Server的系統(tǒng)數(shù)據(jù)庫。

Always On Failover Cluster Instances使用了微軟Windows Server Failover Clustering (WSFC)的功能為整個(gè)SQL Server實(shí)例提供高可用性保護(hù)。故障轉(zhuǎn)移集群實(shí)例跨多個(gè)WSFC節(jié)點(diǎn)部署,以便在出現(xiàn)故障時(shí)實(shí)現(xiàn)冗余。因此,DBA不需要管理可用性或在多個(gè)實(shí)例中維護(hù)密碼和用戶名。

每個(gè)云平臺(tái)提供商還提供了管理SQL Server系統(tǒng)中存儲(chǔ)可用性的功能。例如,微軟提供了Azure Managed Disks,這個(gè)軟件程序發(fā)布于2007年,通過在不同存儲(chǔ)單元之間傳輸數(shù)據(jù),減少Azure VMs的潛在存儲(chǔ)中斷。

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

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

AI