Azure Linux VM 上 Oracle Database 的備份策略
適用於:✔️ Linux VM
資料庫備份會協助保護資料庫免於因為儲存體元件失敗和資料中心失敗而造成的資料遺失。 也可以是從人為錯誤復原的方法,以及複製資料庫以供開發或測試用途的方法。
在 Azure 中,所有儲存體都是高度備援。 遺失一或多個磁碟並不會導致資料庫中斷。 備份最常用來防範人為錯誤、協助複製作業,或為了法規目的保留資料。
當 DataGuard 等災害復原技術未使用時,備份也有助於防範區域性中斷。 在此情況下,備份必須使用異地備援複寫儲存在不同的 Azure 區域中,才能在主要資料庫區域之外使用。
Azure 儲存體
Azure 儲存體服務是 Microsoft 針對最新資料儲存體案例推出的雲端解決方案。 Azure 儲存體 提供服務,可用來將外部記憶體掛接至 Azure Linux 虛擬機(VM),其適合作為 Oracle 資料庫實例的備份媒體。 需要 Oracle Recovery Manager (RMAN) 之類的備份工具,才能起始備份或還原作業,並往返 Azure 儲存體複製備份。
Azure 儲存體服務提供下列優勢:
持久與高可用性。 備援有助於在暫時性硬體失敗期間保護資料安全。 所有儲存體預設為三個鏡像。 您也可以選擇在資料中心或地理區域間複寫資料,以便在發生地方性災難或天然災害時獲得更多保護。 如果發生非預期的中斷,以這種方式複寫的數據仍保持高可用性。
安全:Azure 儲存體會將寫入儲存體帳戶的所有資料加密。 Azure 儲存體可讓您詳細控制誰可以存取您的資料。
可調整:Azure 儲存體可大幅調整,以符合現今應用程式的資料儲存和效能需求。
受控:Azure 會為您處理硬體維護、更新和重大問題。
可存取:您可以從世界各地透過 HTTP 或 HTTPS 存取 Azure 儲存體中的資料。 Microsoft提供各種語言 Azure 儲存體 的用戶端連結庫,包括.NET、Java、Node.js、Python、PHP、Ruby 和 Go。 Microsoft 也提供成熟的 REST API。
Azure 儲存體支援在 Azure PowerShell 或 Azure CLI 中使用指令碼。 在使用資料方面,Azure 入口網站和 Azure 儲存體總管均提供視覺式解決方案。
Azure 儲存體平台包含下列適合作為 Oracle Database 備份媒體的資料服務:
Azure Blob 儲存體:文字和二進位資料的物件存放區。 也包含透過 Azure Data Lake Storage Gen2 支援的大型資料分析。
Azure NetApp Files:完整的網路儲存體解決方案,包括用於擷取快照集、複製和複寫資料庫磁碟區的進階資料管理功能。
Azure 檔案儲存體:適用於雲端或內部部署的受控檔案共用。
Azure 磁碟儲存體:Azure VM 的區塊層級的存放磁碟區。
跨區域儲存體掛接
跨區域存取備份儲存體的能力是商務持續性和災害復原 (BCDR) 的重要層面。 它也有助於將資料庫從備份複製到不同的地理區域。 Azure 雲端儲存體提供五個層級的備援:
- 本地備援儲存體 (LRS):您的資料會在主要區域中的單一實體位置內複寫三次。
- 區域備援儲存體 (ZRS):您的資料會主要區域中跨三個可用性區域同步複寫。 LRS 有助於保護主要區域中的資料,並協助保護每個可用性區域。
- 異地備援儲存體 (GRS):您的資料會以非同步方式複寫至次要區域。 LRS 可協助保護主要和次要區域中的資料。
- 異地區域備援儲存體 (GZRS):您的資料會透過 ZRS 跨主要區域的三個 Azure 可用性區域同步複寫。 然後您的資料會以非同步方式複製到次要區域中的單一實體位置。 LRS 可在所有位置協助保護資料。
- 讀取許可權異地備援記憶體 (RA-GRS) 和 讀取許可權異地區域備援記憶體 (RA-GZRS):您一律具有複寫至次要區域數據的只讀存取權。
Blob 和檔案儲存體
當您使用 Azure 檔案儲存體服務搭配伺服器訊息區塊 (SMB) 通訊協定或網路檔案系統 (NFS) 4.1 通訊協定來裝載作為備份儲存體時,Azure 檔案儲存體不支援 RA-GRS 或 RA-GZRS。
Azure 檔案儲存體 備份記憶體可以相應增加至 100 (TiB),支援 LRS、GRS 和 GZRS 備援選項。
透過 NFS 3.0 通訊協定裝載的 Azure Blob 儲存體目前僅支援 LRS 和 ZRS 備援。 您可以透過 Blobfuse 掛接任何備援選項來設定 Azure Blob 儲存體。
復原服務保存庫
復原服務保存庫是一個管理實體,可儲存一段時間以來建立的復原點。 它提供介面來執行備份相關作業。 這些作業包括製作隨選備份、執行還原,以及建立備份原則。
Azure 備份會自動處理保存庫的儲存體。 您必須指定在建立時複寫該儲存體的方式。 在保存庫中保護項目之後,您無法變更複寫。 針對區域備援,請選擇異地備援設定。
如果您想要還原至次要複本,Azure 配對區域會啟用跨區域還原功能。 啟用跨區域還原時,備份儲存體會從 GRS 移至 RA-GRS。
Azure Blob 儲存體
Azure Blob 儲存體是一項雲端式服務,用於儲存大量的非結構化資料,且適合用於 Oracle Database 備份。 您可以使用 Blobfuse (Linux FUSE) 或 NFS v3.0 通訊協定,將 Azure Blob 儲存體裝載至 Azure Linux VM。
Blobfuse
Blobfuse 是開放原始碼專案,可提供由 Azure Blob 儲存體支援的虛擬檔案系統。 其使用 libfuse 開放原始碼程式庫來與 Linux FUSE 核心模組通訊。 它會使用 Azure Blob 儲存體 REST API 來實作檔案系統作業。
Blobfuse 目前適用於Ubuntu和 RedHat 散發套件。 它也可透過 CSI 驅動程式提供給 Kubernetes。
Blobfuse 遍佈 Azure 區域,並可與所有儲存體帳戶類型搭配使用,包括一般用途 v1/v2 和 Azure Data Lake Storage Gen2。 但它不會執行和替代通訊協定。 為了適合作為資料庫備份媒體,我們建議使用 SMB 或 NFS 通訊協定來掛接 Azure Blob 儲存體。
NFS v3.0
NFS v3.0 通訊協定的 Azure 支援可供使用。 NFS 支援可讓 Windows 和 Linux 用戶端將 Azure Blob 儲存體容器掛接至 Azure VM。
為了確保網路安全性,您用於 NFS 裝載的儲存體帳戶必須包含在虛擬網路內。 Microsoft已啟用 NFS 3.0 通訊協定支援的帳戶中尚未支援 Entra 安全性和存取控制清單 (ACL)。
Azure 檔案
Azure 檔案儲存體是雲端式、完全受控的分散式檔案系統。 您可以將它裝載至內部部署或雲端式 Windows、Linux 或 macOS 用戶端。
Azure 檔案儲存體提供可透過 SMB 和 NFS 通訊協定來存取的雲端中完全受控的跨平台檔案共用。 Azure 檔案儲存體目前不支援多重通訊協定存取,因此共用只能是 NFS 共用或 SMB 共用。 建議您先判斷哪一個通訊協定最符合您的需求,再建立 Azure 檔案共用。
您也可以使用 Azure 備份作為復原服務保存庫來協助保護 Azure 檔案共用。 此方法可為 Oracle RMAN 備份提供另一層保護。
Azure 檔案儲存體搭配 NFS v4.1
您可以使用 NFS v4.1 通訊協定,在 Linux 散發套件中裝載 Azure 檔案共用。 支援的功能有一些限制。 如需詳細資訊,請參閱支援 Azure 儲存體功能。
凡是支援進階檔案儲存體的區域,都支援 Azure NFS 檔案共用。
如需最新清單,請參閱依區域提供的 Azure 產品頁面上的進階檔案儲存體項目。
Azure 檔案儲存體搭配 SMB 3.0
您可以使用 SMB 核心用戶端,在 Linux 發行版本中裝載 Azure 檔案共用。 Linux 發行版本上提供的 Common Internet File System (CIFS) 通訊協定是 SMB 的方言。 當您使用SMB在Linux VM上掛接 Azure 檔案共享時,它會掛接為 CIFS 類型檔案系統,而且必須安裝 CIFS 套件。
透過 SMB 裝載 Azure 檔案共用的功能已在所有 Azure 區域中正式推出。 它會顯示與 NFS v3.0 和 v4.1 通訊協定相同的效能特性,因此我們目前建議它作為將備份儲存體媒體提供給 Azure Linux VM 的方法。
有兩個支援的 SMB 版本可供使用:SMB 2.1 和 SMB 3.0。 我們建議使用 SMB 3.0,因為它支援傳輸中加密。 不過,Linux 核心版本對 SMB 2.1 和 3.0 的支援不同。 若要確保您的應用程式支援 SMB 3.0,請參閱在 Linux 上裝載 SMB Azure 檔案共用。
因為 Azure 檔案儲存體是多使用者檔案共用服務,您應該調整某些特性,使其更適合作為備份儲存體媒體。 建議您關閉快取,並且為建立的檔案設定使用者和群組識別碼。
Azure NetApp Files
Azure NetApp Files 服務是 Azure VM 中 Oracle Database 的完整儲存體解決方案。 它是建置在計量付費檔案記憶體上、支援任何工作負載類型,且預設為高可用性。 Azure NetApp Files 與 Oracle Direct NFS 驅動程式搭配運作,為 Oracle Database 提供高度最佳化的儲存層。
Azure NetApp Files 在基礎儲存體系統上提供有效率的儲存體型快照集,其使用寫入時重新導向機制。 雖然快照集快速進行擷取和還原,但它們只能作為防禦的前線。 他們可以考慮任何組織的大部分必要還原作業,這些作業通常是從人為錯誤復原的一部分。
不過,快照集不是完整的備份。 若要涵蓋所有備份和還原需求,您必須在遠端地理位置建立外部快照集複本或其他備份保存庫,以協助防止區域性中斷。 進一步了解 Azure NetApp Files 快照集的運作方式。
為確保建立資料庫一致快照集,備份程序必須在資料庫與儲存體之間進行協調。 Azure 應用程式一致快照集 (AzAcSnap) 命令行工具可為第三方資料庫啟用資料保護。 它會處理在擷取儲存體快照集之前,將這些資料庫置於應用程式一致狀態所需的所有協調流程。 之後,它會將資料庫傳回作業狀態。 從 5.1 版開始,AzAcSnap 支援 Oracle Database 執行個體。
若要深入了解如何在 Azure 上使用 Azure NetApp Files for Oracle Database,請參閱使用 Azure NetApp Files 的解決方案架構。
Azure 備份服務
Azure 備份是一個完全受控的平台即服務 (PaaS) 解決方案,可用於備份您的資料,並從 Microsoft Azure 雲端復原資料。 Azure 備份可以備份和還原內部部署用戶端、Azure VM 和 Azure 檔案共用。 它也可以備份 Azure VM 上的 SQL Server、Oracle、MySQL、PostgreSQL 和 SAP HANA 資料庫。
Azure 備份提供獨立、隔離的備份,可防止原始資料意外損毀。 備份會儲存在復原服務保存庫中,並進行內建的復原點管理。
Azure 備份會使用 Azure 雲端來提供高可用性,而沒有維護或監視的額外負荷。 它不會限制您傳輸的輸入或輸出資料量,且不會對您傳輸的資料計費。 資料會在傳輸和待用時受到保護。
Azure 備份提供多種複寫類型,讓您的備份資料保持高可用性:
使用 GRS 備援建立的保存庫包含設定跨區域還原功能的選項。 您可以使用此功能來還原次要 Azure 配對區域中的資料。
Azure 備份服務提供架構,在針對各種應用程式 (例如 Oracle、MySQL、Mongo DB、SAP HANA 和 PostgreSQL) 備份 Windows 和 Linux VM 期間,實現應用程式的一致性:應用程式一致快照集。 此架構牽涉到在擷取磁碟快照集之前叫用述詞(停止應用程式)。 它會在快照集完成後呼叫后標(命令以解除凍結應用程式),以將應用程式傳回一般模式。
雖然您可以在 GitHub 上找到範例規範和後置腳本,但您必須負責建立和維護這些腳本。 針對 Oracle,資料庫必須處於封存記錄模式,才能允許在線備份。 您必須建立和維護適當的資料庫開頭和結尾備份命令,這些命令會在述詞和後置腳本中執行。
Azure 備份 提供增強的前置腳本和後置腳本架構,其會針對選取的應用程式提供封裝的述詞和後置腳本。 您只要為應用程式命名,然後 Azure 備份 會自動叫用相關的述詞和後置標。 Microsoft管理已封裝的述詞和後置標,因此您可以保證這些腳本的支持、擁有權和有效性。
目前,增強架構支援的應用程式是 Oracle 12.1 或更新版本和 MySQL。 快照集將會是儲存體的完整複本,而不是增量或寫入時複製快照集,因此它是一種有效的媒體,可從中還原資料庫。
VLDB 考量
大型資料庫 (VLDB) 的備份策略由於其大小,所以需要仔細考慮。 使用 RMAN 備份至 Azure Blob 儲存體或 Azure 檔案儲存體可能無法提供在目標時間範圍內備份 VLDB 所需的輸送量。
您可以使用 RMAN 增量備份來減少備份大小。 此方法可能會允許將 Azure 儲存體作為 VLDB 的備份媒體。 不過,對於具有大量變更的 VLDB 而言,它可能不是很有效率。
我們建議使用可為 VLDB 提供快照集功能的 Azure 服務,例如 Azure 備份或 Azure NetApp Files。 應用程式一致快照集,其中資料庫會自動置於備份模式外,不論資料庫的大小為何,只需要幾秒鐘的時間就可以建立。
您的備份策略可能也會繫結至組織針對 Oracle Database 使用的整體儲存體解決方案。 具有極端 I/O 輸送量的資料庫工作負載通常會使用 Azure NetApp Files 或非Microsoft Azure Marketplace 解決方案,例如 Silk 來支撐資料庫記憶體輸送量和 IOPS 需求。 這些解決方案也提供用於快速資料庫備份和還原作業的應用程式一致快照集。