Oracle Database@Azure 上執行 Oracle Exadata Database Service 的跨區域災害復原

設計應用程式時,必須建立健全的災害復原機制,以便在發生停機時回復作業,以確保業務連續性。

多年來,客戶信任 Oracle Exadata Database Service 使用 Oracle Maximum Availability Architecture (MAA) 在內部部署和 Oracle Cloud Infrastructure (OCI) 上運作關鍵任務應用程式。Oracle Database@Azure 上的 Oracle Exadata Database Service 在 OCI 上提供 Exadata 的功能性和價格同位檢查,可以跨多個 Microsoft Azure 可用性區域 (AZ) 和區域進行部署,以確保高可用性和災害復原。

架構

此架構顯示具有 Oracle Exadata Database Service on Oracle Database@Azure 的高可用性容器化 Azure Kubernetes Service (AKS) 應用程式,位於跨區域的災害復原拓樸中。

高可用性、容器化的 Azure Kubernetes Service (AKS) 應用程式部署於兩個 Azure 區域:主要區域和待命區域。容器映像檔儲存在 Azure 容器登錄中,並且在主要和待命區域之間複製。使用者可透過公用負載平衡器從外部存取應用程式。

為了提供資料保護,Oracle Database 是在主要區域的 Exadata 虛擬機器 (VM) 叢集中執行,並且 Oracle Data Guard 或 Oracle Active Data Guard 會將資料複製到待命區域中 Exadata VM 叢集上執行的待命資料庫。

資料庫通透資料加密 (TDE) 金鑰儲存在 Oracle Cloud Infrastructure Vault 中,並在 Azure 和 OCI 區域之間複製。主要和待命區域的自動備份都在 OCI 中。客戶可以使用 Oracle Cloud Infrastructure Object StorageOracle Database Autonomous Recovery Service 作為偏好的儲存解決方案。

Oracle Database@Azure 網路上的 Oracle Exadata Database Service 使用由 Oracle 管理的動態路由閘道 (DRG) 連線至 Exadata 用戶端子網路。另外還需要 DRG 才能在不同區域的 VCN 之間建立對等連線。由於 OCI 中每個 VCN 只允許有一個 DRG,因此需要第二個具有自己的 DRG 的 VCN,才能連接每個區域中的主要和待命 VCN。在本範例中:

  • 主要 Exadata VM 叢集部署在 VCN 主要 VCN 從屬端子網路 (10.5.0.0/24) 中。
  • 傳輸網路的 Hub VCN 主要 VCN 為 10.15.0.0/29。
  • 待命 Exadata VM 叢集部署在 VCN 待命 VCN 從屬端子網路 (10.6.0.0/24) 中。
  • 傳輸網路的 Hub VCN 待命 VCN 為 10.16.0.0/29。

Hub VCN 不需要任何子網路才能啟用傳輸路由,因此這些 VCN 可以使用非常小的網路。在為主要和待命資料庫建立 Oracle Database@Azure 上的 Oracle Exadata Database Service VM 叢集之後,會建立 OCI 子項網站上的 VCN。

下列圖表說明架構:



exadb-dr-db-azure-oracle.zip

Microsoft Azure 提供下列元件:

  • Microsoft Azure 區域

    Azure 區域是一個地理區域,其中一或多個實體 Azure 資料中心,稱為可用性區域。區域與其他區域無關,且遠距離可加以區分 (跨國家,甚至是大陸)。

    Azure 和 OCI 區域都是本地化的地理區域。若為 Oracle Database@Azure,Azure 區域會連線至 OCI 區域,Azure 中的可用性區域 (AZ) 會連線至 OCI 中的可用性網域 (AD)。選取 Azure 和 OCI 區域組以將距離和延遲降到最低。

  • Microsoft Azure 可用性區域

    可用性區域是設計為具有高可用性和容錯能力的區域內實體獨立的資料中心。可用性區域接近時已足以與其他可用性區域建立低延遲連線。

  • Microsoft Azure 虛擬 Netwok

    Microsoft Azure Virtual Network (VNet) 是 Azure 中專用網路的基礎建置區塊。VNet 可啟用許多類型的 Azure 資源,例如 Azure 虛擬機器 (VM),以安全的方式相互通訊、網際網路和內部部署網路。

  • Microsoft Azure 委派子網路

    子網路委派可讓您將受管理的服務 (特別是平台即服務 (PaaS) 服務) 直接插入您的虛擬網路中。委派子網路可以是虛擬網路內外部管理服務的本位目錄,即使是外部 PaaS 服務,外部服務也可以作為虛擬網路資源。

  • Microsoft Azure VNIC

    Azure 資料中心中的服務具有實體網路介面卡 (NIC)。虛擬機器執行處理會使用與實體 NIC 關聯的虛擬 NIC (VNIC) 進行通訊。每個執行處理都有一個主要 VNIC,此 VNIC 會在啟動時自動建立並連附,可在執行處理使用期間使用。

  • Microsoft Azure 路由表

    虛擬路由表包含規則,可將流量從子網路遞送至 VNet 以外的目的地,通常透過閘道。路由表與 VNet 中的子網路關聯。

  • Azure 虛擬網路閘道

    Azure Virtual Network Gateway 服務會在 Azure 虛擬網路與內部部署網路之間建立安全、跨企業內部部署的連線。它可讓您建立跨資料中心和 Azure 的混合網路。

Oracle Cloud Infrastructure 提供下列元件:

  • 地區

    Oracle Cloud Infrastructure 區域是包含一或多個資料中心 (稱為可用性網域) 的本地化地理區域。區域與其他區域無關,且遠距離可加以區分 (跨國家,甚至是大陸)。

  • 可用性網域

    可用性網域是區域內的獨立獨立資料中心。每個可用性網域中的實體資源會與其他可用性網域中的資源隔離,提供容錯能力。可用性網域不共用基礎架構 (例如電源或冷卻系統) 或內部可用性網域網路。因此,一個可用性網域發生故障不應影響區域中的其他可用性網域。

  • 虛擬雲端網路 (VCN) 和子網路

    VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可自訂軟體定義網路。就像傳統的資料中心網路一樣,VCN 也可讓您控制網路環境。VCN 可以有多個非重疊的 CIDR 區塊,您可以在建立 VCN 之後加以變更。您可以將 VCN 分割成子網路,子網路可以限定為區域或可用性網域。每個子網路都是由不與 VCN 中其他子網路重疊的連續位址範圍所組成。您可以在建立子網路後變更其大小。子網路可以是公用或專用。

  • 路由表

    虛擬路由表包含規則,可將流量從子網路路由至 VCN 外部的目的地,通常透過閘道。

  • 安全清單

    您可以為每個子網路建立安全規則,指定子網路中必須允許進出的流量來源、目的地和類型。

  • 動態路由閘道 (DRG)

    DRG 是一個虛擬路由器,可在 VCN 與區域外部網路之間 (例如另一個 Oracle Cloud Infrastructure 區域中的 VCN、內部部署網路或其他雲端提供者中的網路) 提供相同區域 VCN 之間的專用網路流量路徑。

  • 服務閘道

    此服務閘道可讓您從 VCN 存取其他服務,例如 Oracle Cloud Infrastructure Object Storage 。從 VCN 到 Oracle 服務的流量會透過 Oracle 網路結構傳送,而不會周遊網際網路。

  • 本機對等互連閘道 (LPG)

    LPG 可讓您將一個 VCN 與相同區域中的另一個 VCN 對等。對等互連代表 VCN 會使用專用 IP 位址進行通訊,而無需流量周遊網際網路或透過內部部署網路進行路由。

  • 網路安全群組 (NSG)

    網路安全群組 (NSG) 可作為雲端資源的虛擬防火牆。透過 Oracle Cloud Infrastructure 的零信任安全模型,所有流量都會被拒絕,您可以控制 VCN 內的網路流量。NSG 由一組傳入和傳出安全規則組成,這些規則只適用於單一 VCN 中的一組指定 VNIC。

  • 物件儲存

    物件儲存可讓您快速存取各種內容類型的大量結構化和非結構化資料,包括資料庫備份、分析資料,以及豐富的內容 (例如影像和影片)。您可以安全地儲存資料,然後直接從網際網路或雲端平台內擷取資料。您可以擴展儲存體,而不會發生任何效能或服務可靠性的降低。針對快速、立即且經常存取的「熱」儲存體,使用標準儲存體。將封存儲存用於保留很長一段時間、極少或極少存取的「冷」儲存。

  • 資料保全

    Oracle Data Guard 和 Oracle Active Data Guard 提供一組全方位服務,可建立、維護、管理及監控一或多個待命資料庫,讓生產環境 Oracle 資料庫在不中斷的情況下維持可用狀態。Oracle Data Guard 會使用記憶體內複製,將這些待命資料庫維持為生產資料庫的複本。如果生產資料庫因為計畫性或非計畫性停機而無法使用,Oracle Data Guard 可以將任何待命資料庫切換為生產角色,將與停機相關的停機時間降到最低。Oracle Active Data Guard 可讓您將大部分讀取工作負載卸載至待命資料庫,並提供進階資料保護功能。

  • Oracle Database 自治式復原服務

    Oracle Database Autonomous Recovery Service 可讓您在區塊磁碟區、開機磁碟區和 Oracle Database 中建立資料的時間點快照。透過 OCI 資料庫的備份自動化和增強式資料保護功能,您可以將所有備份處理和儲存需求卸載至 Oracle Database Autonomous Recovery Service ,從而免除備份基礎架構成本和手動管理負荷。

  • Exadata 資料庫服務

    Oracle Exadata 是一個企業資料庫平台,以高效能、可用性和安全性執行 Oracle Database 的各種規模和重要性工作負載。Exadata 的橫向擴展設計採用獨特的最佳化功能,讓交易處理、分析、機器學習和混合工作負載的執行速度更快且更有效率。在企業資料中心的 Exadata 平台、Oracle Cloud Infrastructure (OCI) 和多雲端環境中整合各種 Oracle Database 工作負載,有助於組織提高營運效率、降低 IT 管理並降低成本。

    Oracle Exadata Database Service 可讓您在雲端中運用 Exadata 的強大功能。Oracle Exadata Database Service 在公有雲和 Cloud@Customer 上為特定用途建立的最佳化 Oracle Exadata 基礎架構提供受肯定的 Oracle Database 功能。適用於所有 Oracle Database 工作負載的內建雲端自動化、彈性資源擴展、安全性和快速效能,可協助您簡化管理作業並降低成本。

  • Oracle Database@Azure,基礎架構即服務

    Oracle Database@Azure 將 Oracle 技術 (例如 Oracle Exadata Database ServiceOracle Autonomous Database ServerlessOracle Real Application Clusters (Oracle RAC) 和 Oracle Data Guard) 整合至 Microsoft Azure 平台。

    Oracle Database@Azure 是在 Oracle Cloud Infrastructure (OCI) 上執行的 Oracle Database 服務,並共置於 Microsoft Azure 資料中心。此服務與 OCI 提供功能和價格同等性。您可以在 Azure Marketplace 購買服務。Oracle Database@Azure 提供與其他 Azure 原生服務相同的低延遲,符合關鍵任務工作負載和雲端原生開發需求。您可以在 Azure 主控台和 Azure 自動化工具上管理服務。此服務部署在 Azure Virtual Network (VNet) 中,並與 Azure 識別和存取管理系統整合。Azure 原生提供 OCI 和 Oracle Database 指標和稽核日誌。此服務要求使用者必須要有 Azure 租用戶和 OCI 租用戶。

建議

Oracle Database@Azure 上為 Oracle Exadata Database Service 執行跨區域災害復原時,請使用下列建議作為起點。您的需求可能與此處描述的架構不同。
  • 在主要和待命區域部署所需的 Exadata 基礎架構。對於每個 Exadata 執行處理,請在 Microsoft Azure 虛擬網路 (VNet) 的委派子網路中部署 Exadata VM 叢集。然後就可以在叢集上建立 Oracle Real Application Clusters (RAC) 資料庫。在相同的 VNet 中,在個別的子網路中部署 Azure Kubernetes Service (AKS)。設定 Oracle Data Guard 以將資料從一個 Oracle Database 複製到另一個跨區域。
  • Oracle Database@Azure 子項網站中建立 Exadata VM 叢集時,每個叢集都會在自己的 Oracle Cloud Infrastructure 虛擬雲端網路 (VCN) 內建立。Oracle Data Guard 要求資料庫必須相互通訊才能傳送重做資料。必須對等互連 VCN 才能啟用此通訊。

注意事項

Oracle Database@Azure 上執行 Oracle Exadata Database Service 的跨區域災害復原時,請考慮以下事項。

  • 若要準備災難情況,必須採用全方位的方法來考量不同的業務需求和可用性架構,並且涵蓋可行的高可用性 (HA)、災難復原 (DR) 計畫中的那些考量。此處所述的案例提供使用簡單但有效的容錯移轉,在 Oracle Cloud Infrastructure (OCI) 和 Microsoft Azure 環境中進行災害復原組態,以協助選取最適合您應用程式部署的方法。
  • 使用 OCI 管理的網路,在 Oracle Database@Azure 上佈建於 Exadata VM 叢集之資料庫的各個區域使用 Oracle Data Guard
  • Oracle Cloud Infrastructure 是首款 10 TB/ 每月免費,可實現更佳效能、按延遲和輸送量測量,並降低成本的首選網路。

部署

若要設定上述架構圖中顯示區域之間的網路通訊,請完成下列高階步驟。

主要區域

  1. Oracle Cloud Infrastructure (OCI) 主要區域中建立虛擬雲端網路 (VCN)、 HUB VCN 主要
  2. 分別在 VCN 主要HUB VCN 主要部署兩個本機對等互連閘道 (LPG)、 Primary-LPGHUB-Primary-LPG
  3. HUB VCN 主要VCN 主要的 LPG 之間建立對等 LPG 連線。
  4. VCN 主要 VCN 中,更新預設路由表以路由與 VCN 待命從屬端子網路關聯之 IP 位址的流量,以使用 LPG 對等互連。舉例而言:
    10.6.0.0/24 to Primary-LPG

    附註:

    若要更新預設路由表,您目前必須建立標題為必要的 VCN 路由表更新權限的支援回報項目,並提供區域、租用戶 OCID、VCN OCID 以及服務 DRG OCID。
  5. Hub VCN 主要 VCN 中建立動態路由閘道 (DRG),主要 -DRG
  6. HUB VCN 主要 VCN 中,建立路由表 primary_hub_transit_drg ,然後指定 VCN 主要從屬端子網路的目的地、 LPG 的目標類型,以及目標 HUB-Primary-LPG 。舉例而言:
    10.5.0.0/24 target type: LPG, Target: Hub-Primary-LPG
  7. HUB VCN 主要 VCN 中,建立第二個路由表 primary_hub_transit_lpg ,然後指定 VCN 主要從屬端子網路的目的地、目標類型 DRG 以及目標 Primary-DRG 。舉例而言:
    10.6.0.0/24 target type: DRG, Target: Primary-DRG
  8. Hub VCN 主要 VCN 連附至 DRG。編輯 DRG VCN 連附項,在進階選項底下編輯 VCN 路由表頁籤,以將它與 primary_hub_transit_drg 路由表建立關聯。此組態允許傳輸路由。
  9. 建立 primary_hub_transit_lpg 路由表與 Hub-Primary-LPG 閘道的關聯。
  10. Hub VCN 主要預設路由表中,為 VCN 主要從屬端子網路 IP 位址範圍新增路由規則,以使用 LPG。為 VCN 待命從屬端子網路 IP 位址範圍新增另一個路由規則,以使用 DRG。舉例而言:
    10.5.0.0/24 LPG Hub-Primary-LPG
    10.6.0.0/24 DRG Primary-DRG
  11. 針對 Primary-DRG ,選取 DRG 路由表、 RPC、VC 與 IPSec 附件的自動產生 DRG 路由表。新增靜態路由至 VCN 主要子網路從屬端 IP 位址範圍,此範圍使用下一個躍點連附項類型為 VCN 且下一個躍點連附項名稱為主要中心連附項Hub VCN 主要 VCN。舉例而言:
    10.5.0.0/24 VCN Primary Hub attachment
  12. 使用 Primary-DRG 遠端對等互連連線附件功能表,建立遠端對等互連連線 RPC
  13. VCN 主要從屬端子網路中,更新網路安全群組 (NSG) 以建立允許輸入 TCP 連接埠 1521 的安全規則。您可以選擇新增 SSH 連接埠 22,以直接透過 SSH 存取資料庫伺服器。

    附註:

    如需更精確的組態,請停用 RPC、VC 及 IPSec 附件的自動產生 DRG 路由表的匯入路由分配。若為針對 VCN 連附項自動產生的 DRG 路由表,請建立並指定新的匯入路由分配,包括僅包含必要的 RPC 連附項。

待命區域

  1. 在 OCI 待命區域中建立 VCN HUB VCN 待命
  2. 分別在 VCN 待命HUB VCN 待命 VCN 中部署兩個 LPG 待命 LPGHUB-Standby-LPG
  3. VCN 待命HUB VCN 待命的 LPG 之間建立對等 LPG 連線。
  4. VCN 待命 VCN 中,更新預設路由表以路由與 VCN 主要從屬端子網路關聯之 IP 位址的流量,以使用 LPG 對等互連。舉例而言:
    10.5.0.0/24 to Standby-LPG

    附註:

    若要更新預設路由表,您目前必須建立標題為必要的 VCN 路由表更新權限的支援回報項目,並提供區域、租用戶 OCID、VCN OCID 以及服務 DRG OCID。
  5. Hub VCN Standby VCN 中建立 DRG 待命 DRG
  6. HUB VCN 待命 VCN 中,建立路由表 standby_hub_transit_lpg ,然後指定 VCN 待命從屬端子網路的目的地、 LPG 的目標類型,以及目標 HUB-Standby-LPG 。舉例而言:
    10.6.0.0/24 target type: LPG, Target: Hub-Standby-LPG
  7. HUB VCN 待命 VCN 中,建立第二個路由表 standby_hub_transit_drg 並指派 VCN 待命從屬端子網路的目的地、目標類型 DRG 以及目標 待命 DRG 。舉例而言:
    10.5.0.0/24 target type: DRG, Target: Standby-DRG
  8. Hub VCN Standby VCN 連附至 DRG。編輯 DRG VCN 連附項和進階選項底下,編輯 VCN 路由表,將其與 standby_hub_transit_drg 路由表關聯。此組態允許傳輸路由。
  9. Hub VCN 待命預設路由表中,新增 VCN 待命從屬端子網路 IP 位址範圍的路由規則,以使用 LPG 和 VCN 主要從屬端子網路 IP 位址範圍來使用 DRG。舉例而言:
    10.6.0.0/24 LPG Hub-Standby-LPG
    10.5.0.0/24 DRG Standby-DRG
  10. 將路由表 standby_hub_transit_lpgHub-Standby-LPG 閘道建立關聯。
  11. 對於待命 DRG ,選取 DRG 路由表用於 RPC、VC 和 IPSec 附件的自動產生 Drg 路由表。新增靜態路由至 VCN 待命子網路從屬端 IP 位址範圍,此範圍使用 Hub VCN 待命 VCN 與下一個躍點連附項類型 VCN 及下一個躍點連附項名稱待命中樞連附項。舉例而言:
    10.6.0.0/24 VCN Standby Hub attachment
  12. 使用 Standby-DRG 遠端對等互連連線連附項功能表來建立遠端對等互連連線 RPC
  13. 選取遠端對等互連連線,選取建立連線,然後提供主要 DRG OCID。對等互連狀態會變成對等互連狀態。兩個區域都已連線。
  14. VCN 待命從屬端子網路中,更新 NSG 以建立安全規則以允許輸入 TCP 連接埠 1521。您可以選擇新增 SSH 連接埠 22,以直接透過 SSH 存取資料庫伺服器。

資料保全關聯

  1. 若要為 Oracle Database 啟用 Oracle Data Guard 或 Oracle Active Data Guard,請在 Oracle Database 詳細資訊頁面上按一下「資料保全關聯」,然後按一下啟用資料保全
  2. 在「啟用資料保全」頁面上:
    1. 選取待命區域。
    2. 選取對應至 Azure AZ 的待命可用性網域。
    3. 選取待命 Exadata 基礎架構。
    4. 選取想要的待命 VM 叢集。
    5. 選擇 Oracle Data Guard 或 Oracle Active Data Guard。MAA 建議 Oracle Active Data Guard 自動區塊修復資料損毀,以及卸載報告的能力。
    6. 若為跨區域 Oracle Data Guard 關聯,則只支援最大效能保護模式。
    7. 選取現有的資料庫本位目錄或建立一個資料庫本位目錄。建議在待命資料庫本位目錄使用主要資料庫的相同資料庫軟體映像檔,讓兩者都提供相同的修正程式。
    8. 輸入 SYS 使用者的密碼,並啟用 Oracle Data Guard

    啟用 Oracle Data Guard 之後,待命資料庫就會列在「資料保全關聯」段落中。

  3. (選擇性) 在個別的 VM 上安裝 Data Guard Observer (最好是在個別的位置或應用程式網路中),啟用自動容錯移轉 (快速啟動容錯移轉) 以縮短失敗時的復原時間。

認可

  • 作者Ricardo Anda, Srikanth Bolisetty, Julien Silverston, Andy Steinorth
  • 貢獻者Tammy Bednar, Wei Han, Glen Hawkins, Gavin Parish, Sinan Petrus Toma, Lawrence To, Thomas Van Buggenhout, Robert Lies