導入 OCI File Storage 複製

此實作使用 Oracle Cloud Infrastructure File Storage 複製功能,為 OCI File Storage 檔案系統提供自動化的跨區域複本。

導入 OCI File Storage 複製的優點如下:

  • 不需要定期建立和執行命令檔,就像其他複製案例一樣。複寫設定完成後,就會由 Oracle Cloud Infrastructure 自動執行。
  • 這是適用於任何中間層系統掛載之任何 OCI File Storage 檔案系統的一般用途解決方案。如果您有多個系統使用 OCI File Storage ,則所有系統都可以使用相同的方法。
  • 複製的檔案系統上的資訊是主要的精確副本;將複製檔案系統中的所有檔案。

導入 OCI File Storage 的考量如下:

  • 它需要在次要系統中掛載複製的 OCI File Storage 的步驟。您不能直接掛載目標檔案系統;必須先複製這些檔案系統,然後才能掛載複製的檔案系統。不過,您可以使用 OCI Full Stack Disaster Recovery 服務,在切換、容錯移轉和驗證作業中將這些步驟自動化,以克服此複雜性。
  • 對許多系統來說,這項技術可能不足。如果系統有更多類型的儲存 (例如區塊磁碟區),則您需要為其使用不同的複本技術。

設定 OCI 檔案儲存的複寫

若要實作 OCI File Storage 複製,需要下列步驟:

  • 使用 OCI 主控台在次要網站中建立目標 OCI 檔案系統。
  • 在主要 OCI 檔案系統中啟用複本,並指向適當的目標 OCI 檔案系統。
  • 連線至次要區域的中層主機,並卸載要從主要主機複製的檔案系統。
  • 使用 OCI 主控台 UI,切離並捨棄將從主要資料庫複製的 OCI 檔案系統。
  • 以複本後的適當資訊更新網站特定資訊,以實行一種管理網站特定資訊的方法。

範例 1:使用 OCI 檔案儲存複寫複製中間層組態和程式實際執行

附註:

此範例適用於任何中間層系統。作為參考,它使用 Oracle WebLogic Server 系統,該系統遵循 Oracle Fusion Middleware Enterprise Deployment Guide 的最佳實務。此系統有兩個 OCI 檔案儲存檔案系統:一個用於共用組態 (WebLogic 管理網域、金鑰存放區等等),另一個用於執行時期資料。但您可以依照相同步驟複製中間層的任何 OCI File Storage 檔案系統。

請執行下列動作,為 OCI File Storage 檔案系統設定跨區域複本:

  1. 備份每個網站特定的資訊。
    檔案系統可以包含具有每個網站特定資訊的檔案,例如資料庫或 LDAP 伺服器的連線字串。使用 OCI File Storage 複本時,複製的檔案系統是主要的複本;您無法略過複本中的特定檔案或資料夾。因此,您必須透過調整每個網站上的資訊來管理這些差異。有多種方法:
    • 您可以使用網站特定資訊在檔案中執行字串搜尋和取代。
    • 您可以在複本之前備份此資訊,並在之後回復。

    此時,在啟用複本之前,請先識別並備份任何檔案,其中包含已複製區塊磁碟區中的網站特定資訊。在不屬於複寫區塊磁碟區的位置進行備份複製;否則,將被覆寫。

    秘訣:

    Oracle WebLogic 範例

    例如,當複製包含 WebLogic 網域的檔案系統時,會有包含可連線至資料庫之資訊的檔案。此資訊位於 TNS 管理資料夾中。檢查 WebLogic 資料來源中的 tns_admin 特性,以識別資料夾。本文件提供指令碼,依據案例的適當方法進行管理:

    • 如果系統連線到 Oracle Base Database Service 或 Oracle Exadata Database Service,您可以在切換和容錯移轉作業期間,只更新次要中間層系統之 tnsnames.ora 檔案中的資料庫連線字串。本文件提供範例指令碼。
    • 如果系統連線至 Autonomous Database ,則 TNS 管理資料夾會包含更多使用者自建物件 (信任存放區和金鑰存放區)。它們在主要和待命資料庫中不同,無法以簡單的字串取代更新它們。此文件提供可還原 TNS 資料夾備份副本的命令檔。

    此時,您只需要執行 TNS 資料夾資訊的備份。

  2. 識別主要網站上的 OCI File Storage 檔案系統資訊。
    • 對於將要複製的 OCI File Storage 檔案系統,請識別主要中間層主機的名稱、掛載目標、匯出和掛載點。
    • 移至 OCI 主控台,選取您的主要區域,然後選擇您的區間。
    • 依序瀏覽至儲存體 (Storage) 檔案儲存體 (File Storage) 以及檔案系統 (File Systems) ,找出檔案系統。
    • 儲存 nameexportmount target 以及 AD 位置。

    檢查主機的 /etc/fstab,以識別哪些主機掛載匯出和掛載點。

    秘訣:

    Oracle WebLogic 範例

    例如,在遵循《 Enterprise Deployment Guide 》的 Oracle WebLogic Server 系統中:

    OCI 檔案系統 掛載目標 匯出路徑 AD 主機和掛載點
    configFS mt1_region1 /exports/configFS AD1
    • apphost1, /u01/oracle/config
    • apphost2, /u01/oracle/config
    runtimeFS mt1_region1 /exports/runtimeFS AD1
    • apphost1, /u01/oracle/runtime
    • apphost2,/u01/oracle/runtime
  3. 識別次要站台上的 OCI File Storage 檔案系統資訊。
    重複上一個步驟所述的步驟,以在次要網站上收集相同的資訊。

    秘訣:

    Oracle WebLogic 範例

    例如,在遵循 Enterprise Deployment Guide 的 WebLogic 系統中:

    OCI 檔案系統 掛載目標 匯出路徑 AD 主機和掛載點
    configFS mt1_region2 /exports/configFS AD1
    • apphost1, /u01/oracle/config
    • apphost2, /u01/oracle/config
    runtimeFS mt1_region2 /exports/runtimeFS AD1
    • apphost1, /u01/oracle/runtime
    • apphost2, /u01/oracle/runtime
  4. 卸載次要中間層主機的原始 OCI File Storage 檔案系統。
    如果是次要主機中的每個中間層主機,請卸載要從主要主機複製的檔案系統。舉例而言:
    [opc@host ~]$ sudo umount  /u01/oracle/config
    [opc@host ~]$ sudo umount  /u01/oracle/runtime

    確定未執行 oracle 處理作業;否則卸載將會失敗。在次要的所有中間層節點中重複這些步驟。

    請勿從 /etc/fstab 檔案中移除這些掛載的項目。如果您在複製的檔案系統上一律使用相同的值作為掛載目標和匯出名稱,項目在整個生命週期中都是有效的。

  5. 刪除或重新命名次要的原始 OCI File Storage 檔案系統。
    只有從未匯出的檔案系統可以設為 OCI File Storage 複製的目標檔案系統。因此,掛載於次要中間層主機的原始檔案系統無法作為複製目標。它們將不再使用;請移除匯出並終止檔案系統,現在刪除它們 (或稍後重新命名及刪除)。

    附註:

    請勿刪除掛載目標。這些檔案系統將用於匯出複製的檔案系統。
  6. 啟用主要檔案系統中的複本。
    主要啟用每個必須複製的 OCI File Storage 檔案系統的複本。
    1. 前往 OCI 主控台,選取您的主要區域,然後選擇區間。
    2. 依序選取儲存體檔案儲存體檔案系統
    3. 按一下檔案系統名稱,瀏覽至複製,然後按一下建立複製
      提供複製的名稱。
    4. 選取建立新目標檔案系統,並提供下列詳細資訊:
      • 名稱:將在次要區域中建立之檔案系統複本的名稱。使用能夠清楚識別為複本的名稱,例如:configFS_replica
      • 目標區域:次要系統的區域。
      • 可用性網域:目標檔案系統的可用性網域。它必須與將匯出它的掛載目標相同。
      • 區間:目標檔案系統的區間。
      • 複寫間隔:確定資料複寫頻率的間隔 (分鐘)。

    附註:

    或者,您可以事先在次要建立目標檔案系統,然後在此處提供 OCID。
  7. 如有需要,請準備命令檔以取代每個網站特定的資訊。

    只有當 OCI File Storage 檔案系統包含每個網站特定的資訊時,才適用此動作。否則,不需採取任何動作。

    根據您的特定需求 (例如,執行搜尋與取代,或還原網站特定資料的備份副本),建立指令碼以取代本機網站資訊。請確定將這些命令檔儲存在「未複製」資料夾中。

    重要!目前不要執行命令檔。下次執行驗證、切換或容錯移轉時,將會使用此命令檔。

    秘訣:

    Oracle WebLogic 範例

    例如,當您複製包含 Oracle WebLogic 網域的檔案系統時。在切換或容錯移轉期間,您必須對複製的組態執行取代,以指向本機資料庫。本文件提供自動化此替換作業的範例命令檔。

    資料庫類型 取代指令檔與下載步驟 準備步驟
    Oracle Base Database ServiceOracle Exadata Database Service

    replacement_script_BVmodel.sh

    1. 前往 GitHub 中的 Oracle MAA 儲存區域,網址為:https://github.com/oracle-samples/maa
    2. 下載 wls_mp_dr 目錄中的所有命令檔。

      指令碼位於資料夾 wls_mp_dr/Block_Volume_Replica_Method

    3. 複製到所有中間層主機。

    此命令檔會取代資料庫連線字串。它也會清除 WebLogic 伺服器 (.lck 和 .state) 的狀態檔案以進行清除啟動。

    提供每個網站中資料庫的本機和遠端值,以適當的值在每個主機中編輯和自訂它。

    請注意,值會因網站而有所不同。當您在 site1 主機中自訂它時,「LOCAL」值會參照 site1 的值,而「REMOTE」值則會參照 site2 的值。當您自訂 site2 主機中的命令檔時,"LOCAL" 值會參照 site2 和 "REMOTE" 值至 site1。

    前往 GitHub https://github.com/oracle-samples/maa 中的 Oracle MAA 儲存區域

    下載 app_dr_common 目錄中的所有程序檔。

    下載 fmw-wls-with-adb-dr 目錄中的所有命令檔。

    複製到所有中間層主機。指令碼會相互呼叫。將兩個目錄的所有命令檔都放在同一個資料夾中。
    Oracle Autonomous Database

    fmwadb_switch_db_conn.sh

    1. 前往 GitHub https://github.com/oracle-samples/maa 中的 Oracle MAA 儲存區域
    2. 下載 app_dr_common 目錄中的所有命令檔。
    3. 下載 fmw-wls-with-adb-dr 目錄中的所有命令檔。
    4. 複製到所有中間層主機。

    指令碼會相互呼叫。將兩個目錄的所有命令檔都放在同一個資料夾中。

    此命令檔會以指定為輸入的 TNS 管理資料夾取代 Oracle WebLogic Server 使用的 TNS 管理資料夾。它也會更新資料來源中的公事包密碼特性。

    您不需要編輯命令檔。資料夾與密碼的值將作為輸入值傳遞。

    若要執行程序檔,請執行下列動作:

    ./fmwadb_switch_db_conn.sh WALLET_DIR WALLET_PASSWORD

    其中 WALLET_DIR 是包含要連線至本機資料庫之 tnsnames.ora、金鑰存放區及信任存放區檔案的資料夾。確定複本中未覆寫 WALLET_DIR 資料夾。

    請勿在此時執行命令檔。

OCI 檔案系統複寫現已就緒。

驗證 OCI 檔案儲存的複寫

在切換或容錯移轉作業中,複製的資訊必須在待命網站中使用,才能啟動處理作業。當您驗證次要系統 (透過以快照模式開啟待命資料庫) 時,也必須執行此動作。

若要讓複製的 OCI File Storage 檔案系統在待命系統中可供使用,請針對每個檔案系統執行這些動作。

若要在待命資料庫中使用複製的檔案系統,請執行下列步驟:
  1. 建立目標檔案系統的複製
    目標檔案系統無法直接掛載,您必須先加以複製。
    1. 依次瀏覽至 StorageFile Storage ,然後瀏覽至 File Systems
    2. 按一下目標檔案系統名稱。
    3. 檔案系統資訊複製區段中,按一下複製目標名稱連結。
    4. 按一下「上次快照」名稱連結。
    5. 按一下複製,從此快照建立一般檔案系統。
    6. 編輯詳細資料以提供複製項的名稱。
      若要取得一致性,請使用與主要名稱相同的名稱,例如 configFS
  2. 為複製的檔案系統建立 export
    1. 在複製的檔案系統中,瀏覽至「匯出」。
    2. 選取次要掛載目標。
    3. 選取匯出名稱。
      若要協助切換管理,請使用與主要匯出相同的名稱。例如:/exports/configFS
  3. 從待命主機掛載檔案系統。
    1. 如果您一律對檔案系統使用相同的匯出名稱和相同的掛載目標,則掛載之 /etc/fstab 檔案中的項目在生命週期期間不會變更。
    2. 如果您未在檔案系統使用相同的匯出名稱和掛載目標,則必須編輯 /etc/fstab 檔案,並修改每個切換、容錯移轉和驗證中的項目。
      以下為 /etc/fstab 項目的範例:
      10.1.80.131:/exports/configFS    /u01/oracle/config  nfs  defaults,nofail,nosuid,resvport 0 0
    3. 一旦 /etc/fstab 檔案包含適當的掛載項目,請將檔案系統掛載至主機。
      舉例而言:
      [opc@host opc]# sudo mount -a
    4. 在掛載檔案系統的所有待命主機中重複執行。
  4. 在所有待命中間層主機上執行取代命令檔,以取代次要中間層主機中的網站特定資訊。

    秘訣:

    Oracle WebLogic 範例

    例如,在包含 Oracle WebLogic 網域的檔案系統中:將資料庫連線資訊更新為指向本機資料庫,方法是在所有待命中間層主機上執行取代命令檔:

    • 如果系統使用 Oracle Base Database ServiceOracle Exadata Database Service ,則命令檔為 replacement_script_BVmodel.sh。請確定它使用適當的值。
    • 如果系統使用 Oracle Autonomous Database ,則命令檔為 fmwadb_switch_db_conn.sh。它需要輸入次要原始公事包所在的路徑和公事包密碼。
  5. 清除伺服器的鎖定檔。

    複製的檔案系統可能包含中間層處理作業的鎖定檔案,因為複本會在主要處理作業啟動時執行。在以次要方式啟動處理程序之前,您可能需要清除這些檔案。否則,它們可以防止中間層處理啟動。

    秘訣:

    Oracle WebLogic 範例

    例如,在包含 Oracle WebLogic 網域的檔案系統中:從主要資料夾帶入的 ${DOMAIN_HOME}/servers/*/data/nodemanager 資料夾中可能會有 .lck.pid.state 檔案。在嘗試啟動節點管理程式和伺服器之前,請確定已清除這些檔案。舉例而言:

    rm -f ${DOMAIN_HOME}/servers/*/data/nodemanager/*.lck
    rm -f ${DOMAIN_HOME}/servers/*/data/nodemanager/*.state
    rm -f ${DOMAIN_HOME}/servers/*/data/nodemanager/*.pid

    您可以在取代命令檔中包含此動作,或在 Oracle WebLogic 啟動中包含為上一個步驟。

  6. 切換或容錯移轉作業完成後,您必須卸載並刪除網站中具備待命角色的 OCI File Storage 檔案系統。執行下列步驟以回復為待命角色。
    當您在待命網站 (透過以快照模式開啟待命資料庫) 完成驗證,並想要將它回復為待命角色時,也需要這樣做。
    1. 卸載待命站台中從主要站台複製的 OCI File Storage 檔案系統。
      舉例而言:
      [opc@host opc]# sudo umount /u01/oracle/config
    2. 刪除卸載的檔案系統。
      終止待命網站中已卸載的檔案系統。不再使用它們。

執行進行中的 OCI 檔案儲存複寫

使用此實行時,請遵循這些持續複寫建議。

  • OCI 會在背景自動執行 OCI File Storage 複寫。在生命週期中,唯一需要做的事是確保主要系統的 OCI File Storage 檔案系統啟用複本。
  • 您可以考慮使用 OCI Full Stack Disaster Recovery 將切換和容錯移轉工作自動化。只要按一下 OCI 主控台,即可執行切換或容錯移轉計畫。簡化與 OCI File Storage 複本相關之作業的執行非常有用。
  • 複製功能與快照功能互補,不能取代。請確定您也附加了 OCI File Storage 檔案系統的快照原則。除了跨區域複本之外,此功能還提供資料保護,讓您可以將檔案系統回復到某個時間點。
  • 維護每個網站特定的資訊,並保持在最新狀態。例如,如果檔案系統包含具有要連線至 Autonomous Database 之使用者自建物件的資料夾,則請保留此資料夾的備份複本。在公事包中執行更新時,請確定更新資料夾的備份。如此一來,後續切換和容錯移轉就會正確回復。
  • 切換或容錯移轉後作業,清除未使用的檔案系統並變更複本方向。這些動作是回轉複本方向的必要動作:
    1. 停用先前主要資料庫的先前複製,並在新主要資料庫中清除 (刪除) 未使用的目標檔案系統。
    2. 在新主要系統的 OCI File Storage 檔案系統中啟用複本。
    3. 刪除新待命資料庫中未使用的檔案系統。