<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                [TOC] # 物理備份與恢復概述 ## 概述 備份恢復是 OceanBase 數據庫高可用特性的核心組件,主要用于保障數據的安全,包括預防存儲介質損壞和用戶的錯誤操作等。如果存儲介質損壞或者用戶誤操作而導致了數據丟失,可以通過恢復的方式恢復用戶的數據。 目前 OceanBase 數據庫支持 OSS、NFS 和 COS 三種備份介質,提供了備份、恢復、管理三大功能。 OceanBase 數據庫支持集群級別的物理備份。物理備份由基線數據、日志歸檔數據兩種數據組成,因此物理備份由日志歸檔和數據備份兩個功能組合而成: * 日志歸檔是指日志數據的自動歸檔功能,OBServer 會定期將日志數據歸檔到指定的備份路徑。這個動作是全自動的,不需要外部定期觸發。 * 數據備份指的是備份基線數據的功能,該功能分為全量備份和增量備份兩種: * 全量備份是指備份所有的需要基線的宏塊。 * 增量備份是指備份上一次備份以后新增和修改過的宏塊。 OceanBase 數據庫支持租戶級別的恢復,恢復是基于已有數據的備份重建新租戶的過程。用戶只需要一個`alter system restore tenant`命令,就可以完成整個恢復過程。恢復過程包括租戶系統表和用戶表的 Restore 和 Recover 過程。Restore 是將恢復需要的基線數據恢復到目標租戶的 OBServer,Recover 是將基線對應的日志恢復到對應 OBServer。 OceanBase 數據庫目前支持手動刪除指定的備份和自動過期備份的功能。 ## 物理備份架構 OceanBase 數據庫物理備份的架構如下圖所示。 ![](https://img.kancloud.cn/ec/41/ec411b3341d378dfe56f5142260108c5_677x339.png) 當用戶用系統租戶登錄到備份集群以后,需要先用 SQL 發起日志歸檔,等日志歸檔發起完成啟動階段以后,才可以發起基線備份。 日志歸檔是定期備份到備份目的端的,只需要用戶發起一次`alter system archivelog`,日志備份就會在后臺持續進行。日志歸檔是由每個 PG(PartitionGroup)的 Leader 負責定期將該 PG 的日志歸檔到備份介質指定的路徑,RS(RootService)負責定期統計日志歸檔的進度,并更新到內部表。 數據備份是需要用戶觸發的,比較常見的場景是周六觸發一次全量備份,周二和周四觸發一次增量備份。當用戶發起數據備份請求時,該請求會首先被轉發到 RS 所在的節點上;RS 會根據當前的租戶和租戶包含的 PG 生成備份數據的任務,然后把備份任務分發到 OBServer 上并行地執行備份任務;OBServer 負責備份 PG 的元信息和宏塊到指定的備份目錄,宏塊按照 PG 為單位進行管理。 OceanBase 數據庫目前支持使用 OSS、NFS 和 COS 三種文件系統作為備份的目的地。以下是備份功能在備份目的地創建的目錄結構以及每個目錄下保存的文件類型。 ~~~ backup/ # 備份的根目錄 └── ob1 # cluster_name └── 1 # cluster_id └── incarnation_1 #分身 ID ├── 1001 # 租戶id │ ├── clog # Clog 的根目錄 │ │ ├── 1 # Clog 備份的 Round ID │ │ │ ├── data # 日志的數據目錄 │ │ │ └── index # 日志的索引目錄 │ │ └── tenant_clog_backup_info # 日志備份的元信息,按照 Round ID 分段記錄 │ └── data # 數據的根目錄 │ ├── backup_set_1 # 全量備份的目錄 │ │ ├── backup_1 # 差異備份的目錄,第一個差異備份目錄是全量的 Meta │ │ ├── backup_2 # 差異備份的目錄。第二個差異備份的目錄,Meta 也是全量備份的。 │ │ ├── backup_set_info # 記錄了 backup_set 目錄內的多次差異備份的信息 │ │ └── data #宏塊數據的目錄,包含了所有的全量和差異的宏塊 │ └── tenant_data_backup_info # 記錄了租戶全部的數據備份信息 ├── clog_info # server啟動日志備份的信息 │ └── 1_10.10.10.1_12533 # 一個 Server 一個啟動日志備份信息 ├── cluster_clog_backup_info # 集群級別的日志備份信息 ├── cluster_data_backup_info # 集群級別的數據備份信息 ├── tenant_info # 租戶的信息 └── tenant_name_info #租戶 Name 和 ID 的影射關系 ~~~ ## 物理恢復架構 OceanBase 數據庫的物理恢復架構如下圖所示。 ![](https://img.kancloud.cn/b4/18/b418c4b910036b693c36b3008dff8671_746x373.png) 對于用戶可見的流程主要有兩步: 1. 在目的集群上用`CREATE RESOURCE POOL`命令建立恢復租戶需要的資源池。 2. 通過`ALTER SYSTEM RESTORE TENANT`命令調度租戶恢復任務。 對于備份恢復來說,`RESTORE TENANT`命令的內部流程如下: 1. 創建恢復用的租戶。 2. 恢復租戶的系統表數據。 3. 恢復租戶的系統表日志。 4. 調整恢復租戶的元信息。 5. 恢復租戶的用戶表數據。 6. 恢復租戶的用戶表日志。 7. 恢復掃尾工作。 對于單個 PG 來說,恢復的流程就是將 PG 的元信息和宏塊數據拷貝到指定的 OBServer,構建出一個只有基線數據的 PG;然后再把 PG 的日志拷貝到指定的 OBServer,回放到該 PG 的 MemTable 中。這個流程中如果日志的量比較大,可能會觸發轉儲操作。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看