在 OCI Disaster Recovery Architecture 中導入中間層複製

在 Oracle Cloud Infrastructure (OCI) 的對稱災害復原 (DR) 系統中,導入中介軟體層的持續複寫,方法是在主要和次要區域之間複寫應用軟體伺服器及其組態,確保在容錯移轉或切換期間最短的停機時間和資料遺失。

本解決方案手冊將概要說明整個系統生命週期中的 mid 層複寫。它呈現各種複寫技術,並提供在實際案例中實行這些技術的詳細資訊。套用主要和待命系統都位於 OCI 的主動 - 被動中間層災害復原案例。

此內容適用於熟悉中介軟體和 OCI 災害復原 (DR) 拓樸的 Mid 層管理員。範例和術語指的是 Oracle WebLogic Server 和使用 WebLogic 的 PaaS 服務;不過,描述的複製技術和實作適用於任何中間層系統。

附註:

本文件未描述災害復原設定。

架構

此架構顯示中介軟體主動 - 被動災害復原拓樸的高階簡介。本手冊假設已建立主要系統和次要系統。

中間層系統的任何主動 - 被動災害復原解決方案,都必須實行下列重要功能

  • 地理分離

    主要和次要系統是地理上分隔的,因此不會受到相同的災害事件影響。

  • 對稱

    主要和次要系統為對稱系統。次要系統在中間層和資料庫層中有相同數目的節點,具有類似的 CPU 和記憶體容量。

  • 唯一的前端名稱

    主要與次要的專屬前端名稱。從用戶端對系統進行的存取必須與作為主要用戶端的網站無關。為了達到此目的,前端位址名稱必須是唯一的,並且始終對應至目前主要位址的系統 IP。此名稱通常稱為虛擬前端位置 URL

  • 監聽地址

    中間層處理作業的監聽位址必須是可以在兩個系統中解析的主機名稱,並且對應至本機網站主機的 IP。

  • 資料庫複寫

    主要資料庫的資料必須使用 Oracle Data Guard 複製到待命資料庫。

  • 中間層複製

    主要與次要中間層必須同步。它們必須具有相同的組態、相同的產品版本,以及相同的修補層級。達成此目標的方法不同。您可以個別維護主要和次要系統:如果在主要系統中執行變更,則會在次要系統中重複相同的變更,如果主要系統中安裝修補程式,則會在待命中安裝相同的修補程式。不過,這會複製工作,而且容易發生錯誤。Oracle Maximum Availability Architecture (Oracle MAA) 建議實行自動複製,以複製中間層檔案系統人工因素。這可確保主要和待命系統一律保持同步。

  • 管理每個網站特定的資訊

    次要組態是主要項目的確切複本,但可能會有包含每個網站特定資訊的檔案使用者自建物件 (主要和次要資訊必須不同)。DR 拓樸必須支援此拓樸,並允許自訂網站特定的資訊。

    秘訣:

    Oracle WebLogic Server 範例

    在 Oracle WebLogic 系統中,主要中間層會連線至主要區域的資料庫,次要中間層則會連線至次要區域的資料庫。主要和次要中間層系統的配置相同,因此必須要有一個機制,以確保每個系統使用指向其本機資料庫的適當連接字串。Oracle Maximum Availability Architecture (Oracle MAA) 建議為資料來源使用 TNS 別名,每個站台中具有不同的 tnsnames.ora 檔案。中間層複製方法必須將此納入考量,方法是略過包含資料庫連線字串 (tnsnames.ora) 的檔案,或將檔案中的資料庫連線字串取代為指向本機資料庫。

下圖為中間層系統的主動 - 被動災難復原解決方案範例。



主動 - 被動 -dr-mid-tier-oracle.zip

術語

您應熟悉下列概念與術語:

  • 中間層 (亦為中間層或中介軟體)

    中間層是指位於使用者介面 (前端) 與資料儲存 (後端) 之間之多層應用程式架構內的層。它會處理業務邏輯、資料處理以及安全性,作為使用者與資料庫之間的橋接器。

  • 災害

    突然、非計畫性的災難性事件,導致工地或地理區域無法接受的損害或損失。災害是一種事件,會影響組織在無法接受的期間提供重要功能、處理作業或服務,並讓組織呼叫其復原計畫的能力。

  • 災害復原 (DR)

    將應用系統與資料的復原策略放在不同地理位置的次要網站,以避免生產網站發生自然或非計畫性停機的情況。

  • 災害復原拓樸

    構成「Oracle Fusion Middleware 災害復原」解決方案的生產環境網站和次要網站硬體和軟體元件。

  • Oracle 最佳可用架構

    Oracle Maximum Availability Architecture (Oracle MAA) 是 Oracle 產品 (資料庫、Fusion Middleware、應用軟體) 資料保護與可用性的最佳做法藍圖。導入 Oracle MAA 最佳實務是任何 Oracle 部署的關鍵需求之一。它提供設定和管理 Oracle 系統的建議。Oracle MAA 包含 Oracle Fusion Middleware Enterprise Deployment Guide 建議,並新增災害保護最佳做法,將影響整個資料中心或區域之停機的計畫性和非計畫性停機時間降到最低。

  • 系統

    系統是一組目標 (主機、資料庫、應用程式伺服器等等),可共同代管您的應用程式。例如,若要監督 Oracle Enterprise Manager 中的應用程式,您必須先建立一個「系統」,其中包含執行應用程式的資料庫、監聽器、應用程式伺服器以及主機目標。

  • 網站

    網站是資料中心內執行一組應用程式所需的不同元件。例如,網站可由 Oracle Fusion Middleware 執行處理、資料庫、儲存體等等組成。

  • 生產或主要地點

    載有系統工作負載精確時間點的網站。它是一組硬體、網路和儲存資源,以及主動用來在精確的時間點執行業務邏輯和處理要求的程序。

  • 次要 (或待命或 DR) 站台

    次要地點是備份地點,可接管主要地點所處理的業務邏輯與要求。一般而言,次要網站也會命名為「待命」,因為它們會維持在「待命或非作用中模式」。這表示它們不會在正常作業期間處理生產環境工作負載。不過,這並不表示次要地點無法用於其他用途。這在更現代化的模型中特別適用,其中次要網站用於報告作業,更重要的是驗證變更,再將變更套用至主要網站。

  • 復原點標的 (RPO)

    復原點目標指的是系統可以從業務觀點容忍的資料遺失量。例如,發生中斷時可接受的資料遺失量。

  • 復原時間標的 (RTO)

    復原時間目標指的是系統可以容忍的停機時間,或應用程式或服務在發生停機時仍無法使用的可接受時間長度 (從業務觀點來看)。

  • Oracle Cloud Infrastructure (OCI)

    OCI 是一組互補的雲端服務,可讓您在高可用性的代管環境中建置和執行一系列應用程式和服務。OCI 在可安全從內部部署網路存取的彈性覆疊虛擬網路中,提供高效能運算功能 (作為實體硬體實例) 和儲存容量。

  • OCI 地區

    OCI 區域是本地化的地理區域,由一或多個可用性網域組成。區域獨立於其他區域,可以跨國家或甚至大陸使用遠距離分隔。區域指的是災害復原的網站。

  • OCI 區塊磁碟區

    OCI 區塊磁碟區提供可靠、高效能、低成本的區塊儲存,持續超出虛擬機器的生命週期,內建備援和擴展能力。

  • OCI 檔案儲存

    OCI File Storage 是一項完全託管且彈性的企業級儲存服務,可讓伺服器和應用程式透過共用檔案系統存取資料。

  • DBFS

    「資料庫檔案系統 (DBFS)」是 Oracle Database 中的標準檔案系統介面。DBFS 與 NFS 類似,因為它提供看起來像本機檔案系統且同時具有伺服器元件和用戶端元件的共用網路檔案系統。

  • WLS-HYDR 架構

    「WLS-HYDR 架構」是指建立和設定 Oracle WebLogic Server (WLS) 環境之對稱式災害復原 (DR) 系統的架構,特別是在 Oracle Cloud Infrastructure 內。此架構會自動執行設定 WLS 或 Fusion Middleware (FMW) 網域 DR 環境的手動處理作業。

  • Oracle WebLogic Server for Oracle Cloud Infrastructure 堆疊

    Oracle WebLogic Server for OCI 堆疊是指使用 OCI Marketplace 中的 Oracle Resource Manager 建置的預先設定環境,在 OCI 上佈建和管理 Oracle WebLogic Server 部署。它會自動建立和設定運算執行處理、網路、負載平衡器等各種 OCI 資源,以及 WebLogic 網域。

  • Oracle SOA Suite on Marketplace 堆疊

    Oracle SOA Suite on Marketplace 堆疊是使用 OCI Marketplace 中的 Oracle Resource Manager 建立的預先設定環境,用於在 OCI 上部署和管理 Oracle SOA Suite 應用程式。它會自動建立和設定各種 OCI 資源 (例如運算執行處理、網路、負載平衡器) 以及 SOA WebLogic 網域。

  • TNS 別名

    在 Oracle 中,TNS 別名 (又稱為「網路服務名稱」) 是易於使用的 ID,可簡化資料庫連線。它可作為捷徑,將易於閱讀的名稱對應至更複雜的連線詳細資訊,以達到特定的 Oracle 資料庫執行處理。這些詳細資訊 (包括協定、主機、連接埠和服務名稱) 儲存在組態檔中,通常名稱為 tnsnames.ora

  • TNS 管理資料夾

    TNS_ADMIN 環境變數指定的「Oracle TNS 管理」資料夾,是 Oracle Net Services 組態檔 (例如 tnsnames.ora) 所在的目錄。中間層系統可以使用具有 tnsnames.ora 的 TNS 管理資料夾,以及連線至資料庫所需的其他使用者自建物件。

關於 OCI 中的中介軟體主動 - 被動 DR 設定程序

在中介軟體的主動 - 被動災難復原拓樸中,次要系統是主要系統的鏡像。當主要和次要系統都在 OCI 中時,有不同的設定次要系統方式:

  • 手動

    透過 OCI 主控台或 CLI 將每個資源個別建立為主要系統的鏡像。

  • WLS-HYDR 架構

    針對以 Oracle WebLogic 為基礎的中層系統使用 WLS-HYDR 架構。此架構使用 Python 適用的 OCI SDK,以主要系統的鏡像形式在次要中建立所有資源。如需 GitHub 中 wls-hydr 架構的連結,請參閱本手冊的「瀏覽更多」一節。

  • 使用相同的 Marketplace 堆疊佈建

    如果主要系統是市集堆疊 (例如 Oracle WebLogic Server for OCI 或 SOA Marketplace),您就可以使用與待命資料庫在快照待命模式下使用的相同市集堆疊來佈建。

只要符合先前所描述之主動 - 被動災害復原拓樸的功能,此解決方案手冊便會套用至所有這些案例。它假設已經建立主要和次要系統。

附註:

本文件未描述災害復原設定。