(文章來源:51CTO)
不知您是否意識到,云計算讓那些提供關鍵性服務的SQL Server部署方案獲得了高可用性(HA)和災難恢復(DR)能力。據此,Azure、AWS和Google都在全球范圍內部署了最先進的分布式數據中心,并以各種SLA的形式,向用戶承諾99.95%或更高的虛擬機(VM)可用水平。當然,針對HA或DR的SQL Server配置,往往涉及到建立Windows服務器故障轉移群集(Windows Server Failover Cluster,WSFC)。通過此類群集,SQL Server不僅能夠保證其本身在不同主機上的高可用性,更重要的是那些與SQL Server交互的不同存儲設備上數據也具有極高的可用性。
在傳統的WSFC中,數據通常被存儲在存儲區域網絡(SAN)或SMB3(譯者注:Server Message Block是一種能夠被用于Web連接,以及客戶端與服務器之間進行信息溝通的協議)中,并以共享的方式供WSFC中的所有服務器節點訪問。但是,云存儲無法以與傳統SAN相同的方式實現共享。為了克服這種局限性,人們不得不使用第三方的方法,或Windows原生的方法來克服此類共享存儲的限制性。
如果我們將HA反映到數字上,其實就是99.99%或更高的在線保證率。在數據中心的構建過程中,我們可以將兩個或多個虛擬機(VM)群集配置到Azure數據中心的單獨機架中(常被稱為“可用性集合”),以保證在99.95%的時間里至少有一個VM可用。同時,Azure和AWS也能夠讓您在多個數據中心間(常被稱為“可用區間”)實現VM的群集。通過此類SLA,您會在99.99%的時間內擁有至少一個可用的VM。
不過,這些SLA保障的是VM本身的可用性,而不是SQL Server及其數據的可用性。也就是說,當主VM出現故障,業務轉移到群集中的備用VM上時,為了讓服務能夠以最小的中斷狀態繼續進行,備用VM必須能夠繼續運行SQL Server,并能夠訪問到各種基礎數據庫的文件。可見,我們需要通過進一步的配置,才能確保SQL Server及其基礎數據的可用性。
那么,我們該如何確保SQL Server和云端數據的高可用性呢?如果您主要使用的是Windows Server的原生服務(而不是第三方提供的產品),那么您有兩種選擇:您既可以在Windows Server 2016或更高的企業版上使用直接存儲空間(Storage Spaces Direct),也可以在SQL Server 2012或更高的企業版上創建AlwaysOn可用性組。
上述兩種方法各有優缺點。Storage Spaces Direct(S2D)主要是在軟件中創建虛擬的存儲區域網絡(SAN),以方便Windows Server故障轉移群集(Windows Server Failover Clustering,WSFC)中的任意VM進行訪問。這種方式貌似針對傳統故障轉移群集的云端升級版本,但是由于我們必須將該群集配置為可用性集合,因此其中的所有VM都需要位于同一數據中心。在極端情況下,整個數據中心可能會由于破壞性事件而關閉,那么所有的VM及其存儲數據將隨之掉線。這就是為什么使用S2D的配置方式,是永遠不會獲得超過99.95%可用性的原因。
此外,S2D對于單個數據中心的要求,還消減了那些橫跨多個數據中心,并且部署在Azure、AWS、甚至是Google云平臺區域內的SQL Server故障轉移群集實例(FCI)的高可用性。與直接存儲空間相反,AlwaysOn可用性組(AG)能夠支持地理位置不同的數據中心之間的AG拷貝。在位于不同數據中心的副本完成了適當配置之后,與AG關聯的SLA會上升到99.99%。畢竟,AG的配置并不像SQL Server FCI那樣重度依賴共享式的存儲。
AG提供的服務可以自動在各個副本之間同步SQL Server數據。也就是說,如果當前active的SQL Server實例失敗了,那么被指定的副本服務器將接管,并開始主導已復制到該實例中的數據庫。當然,這種方法也有著一定的缺點:AG雖然會復制用戶定義的數據庫,但是它不會復制關鍵的系統數據庫,例如:Master和MSDB。
這些關鍵系統數據庫包含了各種agent jobs、登錄名和密碼等。可見,如果由于故障導致SQL Server的主實例掉線,那么這些數據庫均無法受到保護。另外,值得一提的是:Microsoft尚未測試超過100個SQL Server數據庫或10個AG的AlwaysOn可用性組。也就是說,如果需要同時保護大量的數據庫,那么AG可能會面臨著某種限制。
在上述各種原因的基礎上,基于云端的文件共享應運而生。您一定迫不及待地想知道:它是否可以超越Windows Server固有的限制,帶來高性能的基于云端的HA和DR解決方案呢?
我個人認為:從長遠來看,答案是肯定的。AWS最近表示,用戶企業可以使用Amazon FSx(譯者注:Amazon基于Windows Server的文件系統)來配置某個WSFC。由于WSFC中的所有節點都可以訪問文件共享,因此主節點一旦掉線,那么即便它在另一個數據中心,群集也會自動轉移到備用節點上,以繼續使用在Amazon FSx文件共享中存儲著的SQL Server數據。Azure同時也表示:用戶企業可以使用Azure的高級文件共享在FCI中配置SQL Server。據此,我認為:一直以來故障轉移群集的本地數據中心模式會逐漸切換到云端模式。
不過在短期看來,答案也可能是否定的。其原因在于:當今基于云端的共享文件產品主要存在著一個顯著的缺陷,即:現有云端文件共享服務的基本SLA只能保證99.9%的讀、寫操作可用性,而且遠低于我們在談論高可用性時所要求的99.99%的SLA基準線。至于其他方面的問題,我們客觀性地總結在了下表之中。
我們可以預測:基于云端的文件共享方式將成為S2D和AG有效的替代方案。在不久的將來,所有云服務提供商都能夠通過此類方案,針對SQL Server及其基礎數據可用性,提供99.99%或更高的SLA。讓我們拭目以待吧!
(責任編輯:fqj)
-
SQL Server
+關注
關注
0文章
20瀏覽量
13503 -
云服務
+關注
關注
0文章
850瀏覽量
39548
發布評論請先 登錄
介紹三種常見的MySQL高可用方案
SQLSERVER數據庫是什么
數據庫數據恢復—SQL Server附加數據庫提示“錯誤 823”的數據恢復案例

Devart: dbForge Compare Bundle for SQL Server—比較SQL數據庫最簡單、最準確的方法
dbForge Studio For SQL Server:用于有效開發的最佳SQL Server集成開發環境
高效協同,云端先行,Collabora Online 在 FlexusX 上的部署與實戰分享

確保網站無縫運行:Keepalived高可用與Nginx集成實戰

云服務器的功能是信息備份嗎?有哪些優勢
數據庫數據恢復—SQL Server數據庫出現823錯誤的數據恢復案例

淺析分布式風電電池儲能系統可用性

干貨分享 如何采集OPC DA數據并存儲到SQL Server數據庫?

評論