暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

OceanBase系统架构备份目录结构

2024-02-26
339

日志归档的目录结构

日志归档可以由用户指定切分目录的时间间隔,默认按照一天来切分目录:即每一天的日志数据目录对应一个 backup_piece。一个 backup_piece 目录下有一个 single_piece_info 文件,记录了该 backup_piece 的信息;还有一个 tenant_backup_piece_infos 文件,记录了该租户所有的 backup_piece 的信息。

日志归档目录下的 rounds 是日志归档的占位符,每个占位符表示一次日志 Round 的开始和结束。占位符的格式为 round_DSETID_ROUNDID_STATE,其中:

  • DSETID 表示归档的路径 ID。

  • ROUNDID 表示日志归档的轮次。

  • STATE 分为 start(开始) 和 end(结束)。

日志归档目录下的 pieces 是日志归档的占位符,每个占位符表示一次日志 Piece 的开始和结束。占位符的格式为 piece_DSETID_ROUNDID_PIECEID_STATE_DATE,其中:

  • DSETID 表示归档的路径 ID。

  • ROUNDID 表示日志归档的轮次。

  • PIECEID 表示日志 Piece 的 ID。

  • STATE 分为 start(开始) 和 end(结束)。

  • DATE 是备份的时间点,格式为 yyyymmddThhmmss,用于记录开始或者结束的时间。

日志归档的目录结构如下:

/log_archive_dest/ # 用户设置的日志归档根目录
  ├── format # 格式化信息
  ├── check_file
  │   └── 1002_connect_file_20220601T010101 //联通性检查文件,后缀为日期加时间,格式为 YYYYMMDDTHHMMSS
  ├── rounds # rounds占位符目录
  |   ├── round_1001_1_start # round开始占位符
  |   ├── round_1001_1_end # round结束占位符
  |   ├── round_1001_2_end # round结束占位符
  ├── pieces # piece占位符目录
  |   ├── piece_d1001r1p1_start_20220601T010101 # piece开始占位符,piece_DSETID_ROUNDID_PIECEID_start_DATE
  |   ├── piece_d1001r1p1_end_20220602T010101   # piece结束占位符,piece_DSETID_ROUNDID_PIECEID_end_DATE
  |   ├── piece_d1001r1p2_start_20220602T010101 # piece开始占位符,piece_DSETID_ROUNDID_PIECEID_start_DATE
  |   ├── piece_d1001r1p2_end_20220602T120000 # piece开始占位符,piece_DSETID_ROUNDID_PIECEID_start_DATE
  |   ├── piece_d1001r2p3_start_20220603T080000 # piece开始占位符,piece_DSETID_ROUNDID_PIECEID_start_DATE
  ├── piece_d1001r1p1 # piece目录(frozen piece)
  |   ├──piece_d1001r1p2_20220601T010101_20220602T010101
  |   ├──single_piece_info
  |   ├──tenant_archive_piece_infos
  |   ├──checkpoint # checkpoint目录
  |   ├── ├──checkpoint_info_0
  |   ├── ├──checkpoint_info_1
  |   ├──piece_file_info # 所有日志流文件列表
  |   ├──logstream_0 # 日志流目录
  |   ├── ├──ls_file_info # 日志流文件列表
  |   |   ├── 1 # 日志流文件
  |   |   ├── 2
  |   |   ├── 3
  |   ├──logstream_1 # 日志流目录
  |   ├── ├──ls_file_info # 日志流文件列表
  |   |   ├── 1 # 日志流文件
  |   |   ├── 2
  |   |   ├── 3
  ├── piece_d1001r1p2 # piece目录(frozen piece)
  |   ├──piece_d1001r1p2_20220602T010101_20220602T120000
  |   ├──single_piece_info
  |   ├──tenant_archive_piece_infos
  |   ├──checkpoint # checkpoint目录
  |   ├── ├──checkpoint_info_0
  |   ├──piece_file_info # 所有日志流文件列表
  |   ├──logstream_0 # 日志流目录
  |   ├── ├──ls_file_info # 日志流文件列表
  |   |   ├── 4 # 日志流文件
  |   |   ├── 5
  |   ├──logstream_1 # 日志流目录
  |   ├── ├──ls_file_info # 日志流文件列表
  |   |   ├── 4 # 日志流文件
  ├── piece_d1001r2p3 # piece目录(active piece)
  |   ├──tenant_archive_piece_infos
  |   ├──checkpoint # checkpoint目录
  |   ├── ├──checkpoint_info_0
  |   ├──logstream_0 # 日志流目录
  |   |   ├── 6 # 日志流文件
  |   ├──logstream_1 # 日志流目录
  |   |   ├── 5 # 日志流文件

数据备份的目录结构

单次的数据备份对应一个 backup_set。每次用户运行 ALTER SYSTEM BACKUP DATABASE 都会生成一个新的 backup_set 的目录,该目录包含了本次备份的所有数据。每个 backup_set 目录下有一个 single_backup_set_info 文件,记录了该 backup_set 的信息;还有一个 tenant_backup_set_infos 文件,记录了该租户所有的 backup_set 的信息。

数据备份目录下的 backup_sets 是数据备份的占位符,每个占位符表示一次数据备份的开始和结束。占位符的格式为 backup_set_N_TYPE_DATE_STATE,其中:

  • N 表示第几次数据备份。

  • TYPE 分为 FULL(全量备份)和 INC(增量备份)。

  • DATE 是数据备份的时间点,格式为 YYYYMMDDTHHMMSS,用于记录开始或者结束时间。

  • STATE 分为 start (数据备份开始)、end_success (数据备份成功)和 end_failed (数据备份失败)。

数据备份的目录结构如下:

/data_backup_dest/ #用户设置的数据备份路径
├── format                                          // 格式化信息
├── check_file
│   └── 1002_connect_file_20220601T010101          //联通性检查文件,后缀为日期加时间,格式为 YYYYMMDDTHHMMSS
├── backup_sets  // backup set 占位符,用于list
│   ├── backup_set_1_full_start                   // 全量备份起始占位符
│   ├── backup_set_1_full_end_success_20220602T0200510   // 全量备份结束占位符
│   ├── backup_set_2_inc_start                  // 增量备份起始占位符
│   └── backup_set_2_inc_end_success_20220609T021001   // 增量备份结束占位符
├── backup_set_1_full
│   ├── backup_set_1_full_20220602T010000_20220602T0200510  //占位符,展示备份的开始和结束时间。
│   ├── single_backup_set_info               //当前备份集的元信息
│   ├── tenant_backup_set_infos              //当前租户的全量备份集信息
│   ├── infos
│   │   ├── data_info_turn_1                // turn 1 下的租户级备份文件
│   │   │   ├── tablet_log_stream_info      // tablet 与 日志流映射文件
│   │   │   ├── tenant_major_data_macro_range_index // major 宏块索引
│   │   │   ├── tenant_major_data_meta_index // major meta 索引
│   │   │   ├── tenant_major_data_sec_meta_index // major 逻辑id与物理id映射
│   │   │   ├── tenant_minor_data_macro_range_index // minor 宏块索引
│   │   │   ├── tenant_minor_data_meta_index // minor meta 索引
│   │   │   └── tenant_minor_data_sec_meta_index // minor 逻辑id与物理id映射
│   │   ├── diagnose_info                   //备份集诊断信息文件
│   │   ├── locality_info                   //当前备份集的所属租户的locality信息
│   │   └── meta_info                       //租户级别的日志流元信息文件,包含所有日志流的元信息。
│   │       ├── ls_attr_info_turn_1
│   │       └── ls_meta_infos
│   ├── logstream_1                         // 日志流1
│   │   ├── major_data_turn_1_retry_0       // turn 1,retry 0下的基线数据
│   │   │   ├── macro_block_data.0          // 一个数据文件,512MB~4GB
│   │   │   ├── macro_range_index           // macro索引
│   │   │   ├── meta_index                  // meta索引
│   │   │   └── sec_meta_index              // 逻辑id与物理id映射文件。
│   │   ├── meta_info_turn_1_retry_0        // turn 1,retry 0下的日志流元信息文件
│   │   │   ├── ls_meta_info                // 日志流元信息
│   │   │   └── tablet_info                 // 日志流tablet列表
│   │   ├── minor_data_turn_1_retry_0       // turn 1,retry 0下的转储数据
│   │   │   ├── macro_block_data.0          
│   │   │   ├── macro_range_index
│   │   │   ├── meta_index
│   │   │   └── sec_meta_index
│   │   └── sys_data_turn_1_retry_0         //turn 1, retry 0下的系统tablet数据
│   │       ├── macro_block_data.0
│   │       ├── macro_range_index
│   │       ├── meta_index
│   │       └── sec_meta_index
│   └──  logstream_1001
│       ├── major_data_turn_1_retry_0
│       │   ├── macro_block_data.0
│       │   ├── macro_range_index
│       │   ├── meta_index
│       │   └── sec_meta_index
│       ├── meta_info_turn_1_retry_0
│       │   ├── ls_meta_info
│       │   └── tablet_info
│       ├── minor_data_turn_1_retry_0
│       │   ├── macro_block_data.0
│       │   ├── macro_range_index
│       │   ├── meta_index
│       │   └── sec_meta_index
│       └── sys_data_turn_1_retry_0
│           ├── macro_block_data.0
│           ├── macro_range_index
│           ├── meta_index
│           └── sec_meta_index
├── backup_set_2_inc                         //增量备份目录,与全备一致
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论