即時的高層參考設計
本節說明使用Azure NetApp Files SSMB Volume在AOAG組態中即時部署SQL資料庫基礎架構。
-
節點數:4.
-
資料庫數量:21個
-
可用度群組數量:4.
-
備份保留:7天
-
備份歸檔:365天
將FCI與SQL Server部署在具備Azure NetApp Files VMware®共享功能的Azure虛擬機器上、只需一份資料複本、就能提供具成本效益的模式。如果檔案路徑與次要複本不同、此解決方案可避免發生新增檔案作業問題。 |
下圖顯示AOAG內分散於各個節點的資料庫。
資料配置
使用者資料庫檔案(.mdf)和使用者資料庫交易記錄檔(.ldf)以及Tempdb都儲存在同一個磁碟區中。服務層級為「超高」。
組態包含四個節點和四個AG。所有21個資料庫(動態AX、SharePoint、RDS連線代理程式和索引服務的一部分)都儲存在Azure NetApp Files 這個版本上。資料庫會在AOAG節點之間平衡、以有效使用節點上的資源。WSFC中新增四個D32 v3執行個體、參與AOAG組態。這四個節點都是在Azure虛擬網路中配置、不會從內部部署移轉。
-
附註: *
-
如果記錄需要更高的效能和處理量、視應用程式的本質和執行的查詢而定、資料庫檔案可以放在Premium服務層級、而且記錄可以儲存在Ultra服務層級。
-
如果將Tempdb檔案放在Azure NetApp Files 了還原上、Azure NetApp Files 則應將該磁碟區與使用者資料庫檔案分開。以下是在AOAG中發佈資料庫檔案的範例。
-
附註: *
-
為了保留Snapshot複本型資料保護的優點、NetApp建議您不要將資料與記錄資料合併到同一個磁碟區。
-
如果次要資料庫的檔案路徑與對應主要資料庫的路徑不同、則在主要複本上執行的附加檔案作業可能會在次要資料庫上失敗。如果主要和次要節點上的共用路徑不同(因為不同的電腦帳戶)、就可能發生這種情況。此故障可能會導致二線資料庫暫停。如果無法預測成長或效能模式、而計畫稍後再新增檔案、則使用Azure NetApp Files VMware的SQL Server容錯移轉叢集是可接受的解決方案。在大多數部署Azure NetApp Files 中、VMware均符合效能要求。
移轉
有幾種方法可將內部部署SQL Server使用者資料庫移轉至Azure虛擬機器中的SQL Server。移轉可以是線上或離線。選擇的選項取決於SQL Server版本、業務需求及組織內定義的SLA。為將資料庫移轉程序期間的停機時間降至最低、NetApp建議使用AlwaysOn選項或交易複寫選項。如果無法使用這些方法、您可以手動移轉資料庫。
在機器之間移動資料庫的最簡單且經過徹底測試的方法是備份與還原。一般而言、您可以從資料庫備份開始、然後再將資料庫備份複本複本複製到Azure。然後即可還原資料庫。為獲得最佳資料傳輸效能、請使用壓縮備份檔案將資料庫檔案移轉至Azure VM。本文所提及的高階設計、使用Azure檔案同步的Azure檔案儲存設備備份方法、然後還原Azure NetApp Files 到原地。
Azure移轉可用於探索、評估及移轉SQL Server工作負載。 |
若要執行移轉、請完成下列高層級步驟:
-
根據您的需求、設定連線功能。
-
將完整資料庫備份至內部部署檔案共用位置。
-
使用Azure檔案同步將備份檔案複製到Azure檔案共用區。
-
使用所需的SQL Server版本來配置VM。
-
使用命令提示字元中的「copy」命令、將備份檔案複製到VM。
-
將完整資料庫還原至Azure虛擬機器上的SQL Server。
若要還原21個資料庫、大約需要9小時。此方法是針對此案例而設計。不過、下列其他移轉技術可根據您的情況和需求來使用。 |
將資料從內部部署SQL Server移轉至Azure NetApp Files 支援的其他移轉選項包括:
-
將資料和記錄檔分離、複製到Azure Blob儲存設備、然後將其附加到Azure VM中的SQL Server、並從URL掛載Anf檔案共用區。
-
如果您使用的是「全年無休」群組內部部署、請使用 "新增Azure複本精靈" 在Azure中建立複本、然後執行容錯移轉。
-
使用SQL Server "交易複寫" 若要將Azure SQL Server執行個體設定為訂閱者、請停用複寫功能、然後將使用者指向Azure資料庫執行個體。
-
使用Windows匯入/匯出服務來運送硬碟。
備份與還原
備份與還原是任何SQL Server部署的重要層面。我們必須擁有適當的安全網、以便與高可用度解決方案(例如AOAG)一起快速從各種資料故障和遺失案例中恢復。SQL Server資料庫靜止工具、Azure備份(串流)或任何協力廠商備份工具(例如CommVault)、均可用於執行資料庫的應用程式一致備份、
利用Snapshot快照技術、您可以輕鬆建立使用者資料庫的時間點(pit)複本、而不會影響效能或網路使用率。Azure NetApp Files這項技術也可讓您將Snapshot複本還原至新的Volume、或將受影響的Volume快速還原至使用還原Volume功能建立Snapshot複本時所處的狀態。不像Azure備份所提供的串流備份、此功能可讓您快速且有效率地執行多個每日備份。Azure NetApp Files在指定的一天內可以有多個Snapshot複本、因此RPO和RTO時間可大幅縮短。若要新增應用程式一致性、以便在Snapshot複本開始之前、將資料完整且正確地排清到磁碟、請使用SQL Server資料庫靜止工具 ("SCSQLAPI工具";存取此連結需要NetApp SSO登入認證)。此工具可在PowerShell內執行、這會使SQL Server資料庫靜止不動、進而取得應用程式一致的儲存Snapshot複本來進行備份。
附註:
-
SCSQLAPI工具僅支援2016和2017版本的SQL Server。
-
SCSQLAPI工具一次只能與一個資料庫搭配使用。
-
將每個資料庫的檔案放在個別Azure NetApp Files 的卷中、以隔離檔案。
由於SCSQL API的巨大限制、 "Azure備份" 用於資料保護、以符合SLA要求。它針對在Azure Virtual Machines和Azure NetApp Files VMware中執行的SQL Server、提供串流式備份。Azure備份可讓您以15分鐘的RPO進行記錄備份、並將資料備份和資料堆恢復時間縮短至一秒。
監控
利用Azure Monitor整合時間序列資料、提供已配置儲存設備、實際儲存使用量、Volume IOPS、處理量、磁碟讀取位元組/秒、Azure NetApp Files 磁碟寫入位元組/秒、磁碟讀取/秒和磁碟寫入/秒、以及相關延遲。此資料可用於識別警示瓶頸、並執行健全狀況檢查、以驗證SQL Server部署是否以最佳組態執行。
在本HLD中、ScienceLogic可利用Azure NetApp Files 適當的服務主體來揭露指標、藉此監控功能的功能。下列影像為Azure NetApp Files 「不含任何功能的鏡像」選項範例。
使用複雜複本進行DevTest
有了VMware、您可以建立即時的資料庫複本、以測試應用程式開發週期中應使用目前資料庫結構和內容來實作的功能、以便在填入資料倉儲時使用資料擷取和操作工具、Azure NetApp Files 或甚至恢復錯誤刪除或變更的資料。此程序不涉及從Azure Blob容器複製資料、因此非常有效率。磁碟區還原後、即可用於讀寫作業、大幅縮短驗證時間和上市時間。這需要與SCSQLAPI搭配使用、以確保應用程式一致性。這種方法提供另一種持續成本最佳化技術、Azure NetApp Files 同時運用還原至新Volume選項來實現效益。
-
附註: *
-
使用「還原新磁碟區」選項從Snapshot複本建立的磁碟區會消耗容量資源池中的容量。
-
您可以使用REST或Azure CLI刪除複製的磁碟區、以避免額外成本(如果必須增加容量資源池)。
混合式儲存選項
雖然NetApp建議SQL Server可用度群組中的所有節點使用相同的儲存設備、但在有些情況下、您可以使用多個儲存選項。此案例適用於Azure NetApp Files 以下情況:AOAG中的節點連接Azure NetApp Files 到一個Sb SMB檔案共用、而第二個節點連接到Azure Premium磁碟。在這些情況下、請確定Azure NetApp Files 使用者資料庫的主複本為「Sof the Sof SMB共享區」、而「Premium磁碟」則作為次要複本。
-
附註: *
-
在這類部署中、為了避免任何容錯移轉問題、請確定SMB磁碟區已啟用持續可用度。如果沒有持續可用的屬性、資料庫可能會在儲存層進行任何背景維護時失敗。
-
將資料庫的主要複本保留在Azure NetApp Files 「支援SMB」檔案共享區上。
營運不中斷
災難恢復通常是任何部署的事後考量。不過、災難恢復必須在初始設計與部署階段處理、以避免對您的業務造成任何影響。有了NetApp、跨區域複寫(CRR)功能可用於將區塊層級的Volume資料複寫到配對區域、以處理任何非預期的區域中斷。Azure NetApp Files啟用CRR的目的地Volume可用於讀取作業、因此是災難恢復模擬的理想選擇。此外、CRR目的地可指派最低的服務層級(例如Standard)、以降低整體TCO。在發生容錯移轉時、複寫作業可能會中斷、使各自的磁碟區能夠讀寫。此外、磁碟區的服務層級也可以使用動態服務層級功能來變更、以大幅降低災難恢復成本。這是Azure NetApp Files 另一項獨特功能、可在Azure中進行區塊複寫。
長期Snapshot複本歸檔
許多組織必須執行長期保留資料庫檔案中的快照資料、作為強制性法規遵循要求。雖然此HLD並未使用此程序、但只要使用簡單的批次指令碼、就能輕鬆完成 "AzCopy" 可將Snapshot目錄複製到Azure Blob容器。批次指令碼可透過排程工作、根據特定排程觸發。程序很簡單、包括下列步驟:
-
下載AzCopy V10執行檔。沒有什麼可安裝的、因為它是一個「exe」檔案。
-
在具有適當權限的容器層級使用SAS權杖來授權AzCopy。
-
在AzCopy獲得授權之後、資料傳輸就會開始。
-
附註: *
-
在批次檔中、請務必轉義SAS權杖中出現的%字元。您可以在SAS權杖字串的現有%字元旁新增額外%字元來完成此作業。
-
。 "需要安全傳輸" 儲存帳戶的設定會決定是否使用傳輸層安全性(TLS)來保護儲存帳戶的連線安全。此設定預設為啟用。下列批次指令碼範例會將資料從Snapshot複本目錄以遞歸方式複製到指定的Blob容器:
-
SET source="Z:\~snapshot" echo %source% SET dest="https://testanfacct.blob.core.windows.net/azcoptst?sp=racwdl&st=2020-10-21T18:41:35Z&se=2021-10-22T18:41:00Z&sv=2019-12-12&sr=c&sig=ZxRUJwFlLXgHS8As7HzXJOaDXXVJ7PxxIX3ACpx56XY%%3D" echo %dest%
在PowerShell中執行下列cmd範例:
–recursive
INFO: Scanning... INFO: Any empty folders will not be processed, because source and/or destination doesn't have full folder support Job b3731dd8-da61-9441-7281-17a4db09ce30 has started Log file is located at: C:\Users\niyaz\.azcopy\b3731dd8-da61-9441-7281-17a4db09ce30.log 0.0 %, 0 Done, 0 Failed, 2 Pending, 0 Skipped, 2 Total, INFO: azcopy.exe: A newer version 10.10.0 is available to download 0.0 %, 0 Done, 0 Failed, 2 Pending, 0 Skipped, 2 Total, Job b3731dd8-da61-9441-7281-17a4db09ce30 summary Elapsed Time (Minutes): 0.0333 Number of File Transfers: 2 Number of Folder Property Transfers: 0 Total Number of Transfers: 2 Number of Transfers Completed: 2 Number of Transfers Failed: 0 Number of Transfers Skipped: 0 TotalBytesTransferred: 5 Final Job Status: Completed
-
附註: *
-
我們即將推出類似的長期保留備份功能。Azure NetApp Files
-
批次指令碼可用於需要將資料複製到任何區域的Blob容器的任何案例。
成本最佳化
由於Volume重新調整和動態服務層級變更對資料庫完全透明、Azure NetApp Files 因此可在Azure中持續最佳化成本。此HLD廣泛使用此功能、以避免過度配置額外的儲存設備來處理工作負載尖峰。
您可以透過建立Azure功能搭配Azure警示記錄、輕鬆調整Volume大小。