日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL Server AlwaysON从入门到进阶(1)——何为AlwaysON?

發布時間:2023/12/8 数据库 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL Server AlwaysON从入门到进阶(1)——何为AlwaysON? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文屬于SQL Server AlwaysON從入門到進階系列文章

本文原文出自Stairway to AlwaysOn系列文章。根據工作需要在學習過程中順帶翻譯以供參考。系列文章包含:
  • SQL Server AlwaysON從入門到進階(1)——何為AlwaysON?
  • SQL Server AlwaysON從入門到進階(2)——存儲
  • SQL Server AlwaysON從入門到進階(3)——基礎架構
  • SQL Server AlwaysON從入門到進階(4)——分析和部署Windows Server Failover Cluster
  • SQL Server AlwaysON從入門到進階(5)——分析和部署Failover Cluster Instance
  • SQL Server AlwaysON從入門到進階(6)——分析和部署AlwaysOn Availability Group
  • SQL Server AlwaysON從入門到進階(7)——FCI和高可用組的組合使用
  • SQL Server AlwaysON從入門到進階(8)——在AlwaysOn中隔離鏡像流量
本文為第一節。即SQL Server AlwaysON從入門到進階(1)——何為AlwaysON?

前言:


AlwaysOn是經常被誤解的一系列復雜技術的集合。本系列將介紹關于AlwaysOn的技術,并且如何把它用在高可用策略中,及如何用好AlwaysOn。在本節中,會先介紹一下幾個概念:AlwaysOn、Failover Cluster Instance(FCI)和Windows Server Failover Cluster(WSFC)。理解這些基礎概念能夠在日常運維過程中起到很大的作用。

Windows Server Failover Cluster(WSFC):


WSFC(windows 故障轉移群集)是微軟高可用技術(HA)的核心組成部分。WSFC跟FCI、AlwaysOn相比,它更多的是Windows Server的一個功能,而后面兩個則是SQL Server的功能,同時,WSFC更加底層,在創建SQL Server?Failover Cluster Instance(FCI,SQL Server故障轉移群集實例)、SQL Server AlwaysOn 高可用組、其他如Exchange等高可用技術之前,都需要部署和配置WSFC。 WSFC可以把多臺計算機節點(純物理機、純虛擬機、物理機混合虛擬機)組合在一起并對外部應用程序提供高可用服務。服務器上的一個應用如SQL Server,可以運行在cluster的任何一個節點上,這種運行方式是通過cluster提供一個虛擬訪問點(由一個唯一IP地址和一個唯一機器名組成,或者“虛擬網絡名”)給客戶端程序作為鏈接方式。地址和虛擬名作為一個應用程序的“資源組”,在多個參與節點之間像令牌形式地被傳輸。當活動節點出現嚴重故障時,會使得活動節點停止對外服務。這時候集群服務會自動嘗試重啟當前節點或伙伴節點的資源組。 從高層次的角度來說,客戶端的訪問點是沿著故障轉移伙伴節點中的所有硬盤和服務起源傳輸的。一個已集群的實例在發生故障轉移時,會引發客戶端連接的斷開,然后在其他節點可用之后馬上重連。常見的引發故障轉移的故障有以下幾個:
  • 公用網卡或網絡故障
  • 電源故障
  • 主板故障
  • CPU故障
在WSFC中,已集群的應用程序被安裝在獨立的組或者“應用程序”中,這些組包含了一系列如硬盤、服務、IP地址等的資源。組及其資源在某個時刻只能屬于一個節點,除非發生計劃或突發故障轉移,否則其他伙伴節點不能訪問這些資源。 典型的WSFC如下圖所示,通過網絡把所有節點互連,然后Domain Controller(域控)和DNS服務器用于實現客戶端通過虛擬IP或者虛擬網絡名去訪問節點,而不需要知道當前哪個節點是活動的。

對于FCI部署,計算機節點“必須”使用共享存儲,而對于常規的AlwaysOn可用組的部署,節點可以使用本地存儲,而不是必須使用共享存儲。雖然集群節點允許使用完全不同的硬件,但是最好還是統一配置,避免在故障轉移過程中發生負載不均衡從而無法承受故障節點的壓力使得轉移失敗。 但是,各節點必須使用相同的OS及補丁版本、網絡配置。另外對于集群最大節點數,根據不同的Windows Server版本不同而不同(2003 為8節點,2008為16節點,2012為64節點)。 穩定、健壯的Windows Server Failover Cluster需要嚴謹的設計、足夠的硬件支持和合適的操作系統版本。如果使用跨公網的集群也會增加集群設計、計劃和資源方面的開銷。 需要重點提醒的是,WSFC僅提供故障轉移功能,沒有提供負載均衡和橫向擴展功能,每個服務只能運行在一個節點上。 通常情況下,在大型多節點集群中,應用可能是跨子網的部署。在后續會看到,如果忽略了一些設置,會引起非必要的故障轉移,同時不要違反AlwaysOn可用組的限制策略。 WSFC需要某些形式的中介來控制集群資源所屬方。這個中介就是集群的仲裁。從Windows 2003 SP1開始,這個仲裁以節點投票并按多數服從少數的原則來維護。也可以使用如集群本地盤或多站點集群共享的遠程文件形式來添加額外的仲裁資源。從Windows Server 2012 開始,仲裁開始使用一個成為動態節點權重配置的功能來平衡集群在計劃內停機中避免不必要的故障切換過程,這部分在后續會繼續深入介紹。


Failover Cluster Instances(故障轉移群集實例):

Failover Cluster Instance of SQL Server(FCI)在過去很長時間都是SQL Server的常用高可用技術。SQL Server FCI可以在集群的任何可用節點之間進行故障轉移。其唯一缺點就是存儲。由于需要使用共享存儲,所以存儲子系統就成了單點故障的風險點。 FCI是一個安裝在WSFC上的SQL Server 實例,不管是默認實例還是命名實例。這個實例最少需要下面的資源:
  • IP地址
  • 網絡名
  • 共享硬盤(N個)
  • SQL Server 服務
  • SQL Server 代理服務
上面的資源對于單獨的實例而言也一樣,只是IP地址和網絡名是來自于本機,硬盤也屬于本機,而FCI則不同。

上圖所示,一個兩節點的FCI中,SQL Server實例會使用WSFC節點都能可用的共享存儲作為SQL Server的存儲。通常這次存儲是在SAN中劃出來的LUNs,FCI的部署粗略分為兩步,后續將會深入介紹,這里只做簡介:
  • 在FCI的第一個節點上運行SQL Server安裝向導,并選擇“新的SQL Server 故障轉移群集安裝”。完成第一步之后,就可以開始第二步。
  • 在WSFC的其他參與節點上運行SQL Server安裝向導并選擇“向SQL Server故障轉移群集添加節點”并完成安裝。
  • 注意:雖然標準版限制了2節點的FCI,但是它不影響WSFC,僅在SQL Server層面限制。FCI有點像團隊接力過程。一個計算機節點運行這已群集的SQL Server應用程序及其配套資源,并向客戶端提供服務(持有接力棒)。一旦活動節點發生故障(接力棒掉了),伙伴節點會啟動并承接任務繼續(撿起接力棒)。



    AlwaysOn Availability Groups(AlwaysOn可用組):


    多年以來,故障轉移群集是SQL Server高可用的主要技術。當一個節點發生故障,其他節點會承接對客戶端的服務。AlwaysOn 繼承了WSFC技術,并提供更加彈性的高可用平臺。但是群集是在實例層面運作,而AlwaysOn是在庫層面運作。從SQL 2012開始引入的AlwaysOn可用組技術,通過預定義一組數據庫集合(可用組)并復制到只讀伙伴實例或副本中。每個節點都有AlwaysOn數據庫的同步副本,并且通過偵聽器進行訪問。 AlwaysOn可用組(下稱AG)需要1到多個次要副本來存放高可用數據庫的副本。這些次要數據庫要么是可讀的,要么是不可讀的。也可以同步或異步形式更新。異步副本僅支持手動強制故障轉移,而同步副本支持自動或手動故障轉移。 次要只讀副本可以配置成只支持只讀查詢,也可以使得次要副本成為成備份、維護操作的地方,從而減少主副本的壓力。 AlwaysOn依賴WSFC的核心功能來完成AO(AlwaysOn)的高可用功能,但是相對于FCI,它又在下面部分有所區別:
    • 共享硬盤
    • 共享IP地址
    • 共享網絡名
    • 共享的SQL Server和SQL Server代理資源
    但是當使用了AlwaysOn偵聽器之后,會創建一個共享給AO組各個副本的IP地址和網絡名資源。正如上面提到的,FCI的缺點是共享存儲,雖然有很多方式可以緩解這種單點故障的風險,但是通常都帶有明顯的開銷(不管是配置還是費用),并且通常很難配置和管理。另外前面也說了,FCI是遷移服務器硬件,不提供單個或多個數據庫的遷移。需要搭配數據庫鏡像,但是鏡像是“單庫”、不可讀,AlwaysOn可用組是可以以多個庫為一個單位遷移,備庫可讀。 AlwaysOn也使用SQL Server端點來進行實例之間的通訊。端點會在使用可用組部署向導過程中自動配置。也可以創建高可用偵聽器服務,用于接收入站連接,偵聽器包含唯一IP地址和唯一虛擬網絡名。這是目前為止其中一個關于使得在組內數據庫高可用方面最大的改變之一。 在創建AlwaysOn可用組過程中,會在WSFC中創建一個群集角色,并且包含獨立資源。這個資源會在故障轉移過程中同步轉移,并且標識主副本的位置。

    AlwaysOn Listener(AlwaysOn偵聽器):


    當配置了偵聽器之后,會在故障轉移群集中的應用程序\角色看到創建了一些資源:
    • 虛擬IP地址
    • 虛擬網絡名
    偵聽器使用TCP端口接收入站連接,默認連到主副本(Primary replica)。如果配置了只讀路由(read only routing),那么指定使用“僅意向讀”的連接會被路由到次要副本而不是主副本。從很大程度上分流了對主副本的壓力。 在AlwaysOn組發生故障轉移時,已群集的應用程序及其資源會被轉移到群集的其他節點上。群集應用會跟蹤主副本的節點位置然后按需把群集服務在底層節點中移動。在這個過程中,偵聽器由FCI\AlwaysOn的活動節點持有。

    結論:


    本節介紹了三種SQL Server相關的核心高可用技術。我們使用WSFC作為基礎,并在此之上部署FCI或者AlwaysOn可用組。接下來會介紹使用FCI作為SQL Server的高可用技術演示,然后就是AlwaysOn可用組搭建。 下一節會介紹關于SQL Server高可用中存儲方面的內容。

    術語表:


    AO(AlwaysOn availability group)

    AlwaysOn 高可用組

    FCI(Failover cluster instance of SQL Server)

    SQL Server故障轉移集群實例

    TCP/IP

    傳輸控制協議/因特網互聯協議。

    OS/NOS

    網絡操作系統

    WSFC(Windows Server failover cluster)

    Windows故障轉移群集

    LAN(Local area network)

    局域網

    WAN(Wide area network)

    廣域網

    DNS(Domain name system)

    域名系統

    DHCP

    動態主機設定協定

    IP Address

    IP地址

    AD(Active Directory)

    Windows活動目錄

    DR(Disaster recovery)

    災難恢復

    SPF(Single point of failure)

    單點故障

    SCSI(Small computer systems interface)

    小型計算機系統接口

    iSCSI(Internet Small computer systems interface)

    互聯網小型計算機系統接口

    FC(Fibre channel)

    光纖

    Replica

    副本,SQL Server AlwaysOn可用組中,參與到AlwaysOn的SQL Server實例



    總結

    以上是生活随笔為你收集整理的SQL Server AlwaysON从入门到进阶(1)——何为AlwaysON?的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。