每個(gè)大型云服務(wù)提供商都為您提供約99.95%的SLA保證保證,而這一百分比的可用性可以使您認(rèn)為云非常適合需要高可用性的SQL Server部署。Azure和AWS是云服務(wù)的兩大巨頭,它們?cè)跀?shù)據(jù)中心的地理分布可以使您想到云服務(wù),來進(jìn)行配置了恢復(fù)SQL Server的開發(fā)。讓我們重新考慮整個(gè)場(chǎng)景,云服務(wù)僅向您保證具有云基礎(chǔ)架構(gòu),而不能保證在該基礎(chǔ)架構(gòu)上運(yùn)行的應(yīng)用程序的可用性。如果我們希望我們的SQL Server在99.95或更高可用性的云中運(yùn)行,我們需要一些額外的步驟。
基礎(chǔ)架構(gòu)可用性
在處理高可用性和災(zāi)難恢復(fù)基礎(chǔ)結(jié)構(gòu)時(shí),我們需要考慮兩個(gè)重要的選項(xiàng):可用區(qū)和可用性集。
可用區(qū)
讓我們考慮針對(duì)此選項(xiàng)使用AWS和Azure,針對(duì)HR和DR基礎(chǔ)架構(gòu)的此選項(xiàng)在兩個(gè)云服務(wù)提供商中均可用。它將虛擬機(jī)放在不同的數(shù)據(jù)中心中,而不是將它們放在單獨(dú)的機(jī)架中。這樣可確保其中一臺(tái)虛擬機(jī)保持可用,從而使提供程序支持可用區(qū),從而保證99.99%的可用性。
可用性集
此選項(xiàng)在AWS中不可用,只有Azure云提供此選項(xiàng)。在此選項(xiàng)中,我們?cè)诓煌瑱C(jī)架中但在同一數(shù)據(jù)中心中有兩個(gè)或兩個(gè)以上虛擬機(jī)。微軟表示,在此選項(xiàng)中,至少99.95%的時(shí)間將可以使用虛擬機(jī)。
這里出現(xiàn)的主要問題是,如果任何虛擬機(jī)出現(xiàn)故障,也會(huì)導(dǎo)致SQL Server宕機(jī)怎么辦?
答案是另一個(gè)虛擬機(jī)將在另一個(gè)機(jī)架或數(shù)據(jù)中心仍然可用,但是問題是基礎(chǔ)架構(gòu)不能保證將數(shù)據(jù)傳輸?shù)搅硪粋€(gè)虛擬機(jī),那里的數(shù)據(jù)可能會(huì)完全丟失。如果沒有自動(dòng)方法將連接重定向到其余節(jié)點(diǎn),或者輔助虛擬機(jī)沒有主SQL Server最近使用的數(shù)據(jù)的副本,則最終用戶將面臨服務(wù)的完全喪失。
SQL Server在云中的可用性:
通常,對(duì)于兩種配置為高可用性或?yàn)?zāi)難恢復(fù)的SQL Server部署,我們都使用SQL Server故障轉(zhuǎn)移群集實(shí)例(FCI)或SQL Server永遠(yuǎn)在線可用性組,盡管這兩個(gè)選項(xiàng)均可行,但會(huì)出現(xiàn)一些警告。
SQL Server故障轉(zhuǎn)移群集實(shí)例(FCI)使用
SQL Server故障轉(zhuǎn)移群集實(shí)例(FCI)使用共享存儲(chǔ),而云不支持此存儲(chǔ),因此對(duì)于此問題,我們擁有第三方工具“存儲(chǔ)空間直接(SSD)”。此功能最初是在窗口服務(wù)器2016 Enterprise Edition中引入的,此功能是將SSD池本地附加存儲(chǔ)跨群集中的兩個(gè)或多個(gè)服務(wù)器并創(chuàng)建虛擬存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)。任何虛擬機(jī)都可以訪問該虛擬存儲(chǔ)區(qū)域網(wǎng)絡(luò)。
Storage Space Direct僅可與可用性集一起使用,配置有可用區(qū)的服務(wù)器不支持Storage Space Direct。
· 使用FCI和Storage Space Direct有兩個(gè)限制。
· 它受可用性集的限制,只有Azure支持此選項(xiàng)。
· 它需要SQL Server 2016或更高版本,不支持早期版本。
永遠(yuǎn)在線
另一種方法是Always On Availability Groups,并且兩個(gè)云服務(wù)提供商都支持此選項(xiàng)。這樣可以將基礎(chǔ)結(jié)構(gòu)可用性SLA提高到99.99%,并將數(shù)據(jù)從虛擬機(jī)的主實(shí)例復(fù)制到輔助實(shí)例。因此,一個(gè)虛擬機(jī)是否宕機(jī)并不重要,另一個(gè)虛擬機(jī)將處理數(shù)據(jù),因?yàn)閮蓚€(gè)VM都位于同一數(shù)據(jù)中心。
始終可用的限制
· 它僅將用戶定義的數(shù)據(jù)庫復(fù)制到輔助虛擬機(jī),而主數(shù)據(jù)庫不復(fù)制。
· 如果服務(wù)器故障率很高,則不會(huì)在輔助VM上復(fù)制任何數(shù)據(jù)。
· 它僅適用于非常昂貴的SQL Server 2012 Enterprise版本或更高版本。
如果我們想在云中運(yùn)行SQL Server,則選擇的方法是有限的,因?yàn)樗且环N新的復(fù)雜技術(shù),并且在全球范圍內(nèi)競(jìng)爭者并不多。Azure和AWS涵蓋了大多數(shù)云服務(wù),并提供了特定功能并施加了各種約束。
對(duì)于高可用性和災(zāi)難恢復(fù),我們有兩個(gè)選項(xiàng):始終在線和FCI。Always On Availability提供更多功能來復(fù)制數(shù)據(jù),但價(jià)格昂貴。另一個(gè)批準(zhǔn)是FCI,它施加了很多約束,并且僅支持Azure云服務(wù),并且不支持?jǐn)?shù)據(jù)庫復(fù)制。想了解更多關(guān)于數(shù)據(jù)庫的信息,請(qǐng)繼續(xù)關(guān)注中培偉業(yè)。