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