当前位置: 首页 > news >正文

OceanBase v4.3.5 特性解读:通过OSS WORM特性进行备份归档

 概述

OceanBase 最新发布的V4.3.5 中,备份归档服务已适配阿里云OSS的 WORM特性,支持将配置了合规保留策略的OSS Bucket作为备份存储的目的端,有效满足用户数据安全存储与合规性的需求。

阿里云对象存储(OSS)的 WORM(Write Once Read Many)特性,可让用户通过命令为Bucket设置保留策略,在策略规定的Object保留期内,仅支持对Object进行上传和读取。只有当Object保留期限到期后,才能进行修改或删除操作。

使用方式

OceanBase 4.3.5bp2及以上版本支持在设置OSS介质的备份/归档路径时指定enable_worm参数。enable_worm参数默认为false,当设置enable_worm参数为true后,observer对相应路径的写入及删除操作将适配OSS WORM的要求。

1. 注意事项

(1) 仅有OSS介质路径支持设置enable_worm

(2) 设置enable_worm=true时需要设置checksum_type为md5(备份归档路径默认为md5)

(3) enable_worm参数配置不支持变更

(4) 需要用户明确bucket worm策略被正确设置

2. 配置示例

不带enable_worm参数的备份归档路径设置示例

alter system set log_archive_dest='location=oss://example_path/archive?host=cn-heyuan.aliyuncs.com&access_id=AAAAAAAA&acces_key=CCCCCC&checksum_type=md5' tenant=xxxx;
alter system set data_backup_dest='oss://example_path/data?host=cn-heyuan.aliyuncs.com&access_id=AAAAAAAA&acces_key=CCCCCC&checksum_type=md5' tenant=xxxx;

设置enable_worm参数的备份归档路径示例

alter system set log_archive_dest='location=oss://example_path/archive?host=cn-heyuan.aliyuncs.com&access_id=AAAAAAAA&acces_key=CCCCC&checksum_type=md5&enable_worm=true' tenant=xxxx;
alter system set data_backup_dest='oss://example_path/data?host=cn-heyuan.aliyuncs.com&access_id=AAAAAAAA&acces_key=CCCCC&checksum_type=md5&enable_worm=true' tenant=xxxx;

设置成功后可以在视图CDB_OB_BACKUP_STORAGE_INFO、DBA_OB_BACKUP_STORAGE_INFO中extension字段中看到enable_worm参数配置信息

//不带enable_worm参数的备份归档路径设置视图展示结果
MySQL [oceanbase]> select PATH,DEST_TYPE,EXTENSION from CDB_OB_BACKUP_STORAGE_INFO;
+----------------------------+-------------+-------------------+
| PATH                       | DEST_TYPE   | EXTENSION         | 
+----------------------------+-------------+-------------------+
| oss://example_path/archive | archive_log | checksum_type=md5 |
| oss://example_path/data    | backup_data | checksum_type=md5 |
+----------------------------+-------------+-------------------+
//带enable_worm参数的备份归档路径设置视图展示结果
MySQL [oceanbase]> select PATH,DEST_TYPE,EXTENSION from CDB_OB_BACKUP_STORAGE_INFO;
+----------------------------+-------------+----------------------------------------------------------+
| PATH                       | DEST_TYPE   | EXTENSION                                                | 
+----------------------------+-------------+----------------------------------------------------------+
| oss://example_path/archive | archive_log | checksum_type=md5&enable_worm=true                       |
| oss://example_path/data    | backup_data | checksum_type=md5&enable_worm=true                       |
+----------------------------+-------------+----------------------------------------------------------+

备份路径可以在视图CDB_OB_BACKUP_PARAMETER/DBA_OB_BACKUP_PARAMETER中value字段中看到enable_worm参数配置信息

//不带enable_worm参数的备份路径设置视图展示结果
select * from CDB_OB_BACKUP_PARAMETER;
+-----------+------------------+-------------------------------------------------------------------------------------------------------------+
| TENANT_ID | NAME             | VALUE                                                                                                       |
+-----------+------------------+-------------------------------------------------------------------------------------------------------------+
|      1002 | data_backup_dest | oss://example_path/data?host=cn-heyuan.aliyuncs.com&access_id=AAAAAAAA&encrypt_key=CCCCCC&checksum_type=md5 |
+-----------+------------------+-------------------------------------------------------------------------------------------------------------+
//带enable_worm参数的备份路径设置视图展示结果
select * from CDB_OB_BACKUP_PARAMETER;
+-----------+------------------+------------------------------------------------------------------------------------------------------------------------------+
| TENANT_ID | NAME             | VALUE                                                                                                                        |
+-----------+------------------+------------------------------------------------------------------------------------------------------------------------------+
|      1002 | data_backup_dest | oss://example_path/data?host=cn-heyuan.aliyuncs.com&access_id=AAAAAAAA&encrypt_key=CCCCCC&checksum_type=md5&enable_worm=true |
+-----------+------------------+------------------------------------------------------------------------------------------------------------------------------+

归档路径可以在CDB_OB_ARCHIVE_DEST/DBA_OB_ARCHIVE_DEST中看到enable_worm参数配置信息

//不带enable_worm参数的归档路径设置视图展示结果
select * from CDB_OB_ARCHIVE_DEST;
+-----------+---------+-----------------------+---------------------------------------------------------------------------------------------------------------+
| TENANT_ID | DEST_NO | NAME                  | VALUE                                                                                                         |
+-----------+---------+-----------------------+---------------------------------------------------------------------------------------------------------------+
|      1002 |       0 | binding               | OPTIONAL                                                                                                      |
|      1002 |       0 | dest_id               | 1002                                                                                                          |
|      1002 |       0 | path                  | oss://example_path/archive?host=cn-heyuan.aliyuncs.com&access_id=AAAAAAAA&encrypt_key=BBBBBB&checksum_type=md5|
|      1002 |       0 | piece_switch_interval | 1d                                                                                                            |
|      1002 |       0 | state                 | ENABLE                                                                                                        |
+-----------+---------+-----------------------+---------------------------------------------------------------------------------------------------------------+
//带enable_worm参数的归档路径设置视图展示结果
select * from CDB_OB_ARCHIVE_DEST;
+-----------+---------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------+
| TENANT_ID | DEST_NO | NAME                  | VALUE                                                                                                                          |
+-----------+---------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------+
|      1002 |       0 | binding               | OPTIONAL                                                                                                                       |
|      1002 |       0 | dest_id               | 1002                                                                                                                           |
|      1002 |       0 | path                  | oss://example_path/archive?host=cn-heyuan.aliyuncs.com&access_id=AAAAAAAA&encrypt_key=BBBBBB&checksum_type=md5&enable_worm=true|
|      1002 |       0 | piece_switch_interval | 1d                                                                                                                             |
|      1002 |       0 | state                 | ENABLE                                                                                                                         |
+-----------+---------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------+
使用场景说明

使用场景说明

1. 设置路径时未设置enable_worm=true

在将有保留策略的OSS路径设置为备份归档路径时,如果不配置enable_worm=true,该设置语法将报错Incorrect arguments并提示需要设置enable_worm=true。

如果在设置备份归档路径成功后,相应的OSS bucket添加WORM策略:

  • 在备份任务执行过程中可能因为修改或者删除文件失败导致任务失败,在备份相关视图(如CDB_OB_BACKUP_DELETE_JOB_HISTORY)中报错-9140(the object is locked by worm)。
  • 归档可能会因为追加写失败进入interrupt状态,需要看相关归档报错日志是否报-9140(the object is locked by worm)。

在发现备份归档任务因为worm失败后,需要设置新备份/归档路径,并且配置参数enable_worm=true。

2. 设置路径时设置了enable_worm=true

设置enable_worm=true后,observer会适配worm的逻辑执行写操作,避免因为无法修改保留期内的object而导致备份归档任务失败。

因为observer不具有感知oss上worm策略详情的能力,所以备份清理策略仍然按照旧有逻辑执行(官网介绍链接:自动清理过期备份)。备份清理将依据recovery_window选择需要清理的备份集,进而执行清理操作。建议recovery_window值取保留时长需求及恢复需求时长的最大值,如保留期为90天,需要保证可恢复的时长是10天,那么设置recovery_window为90d。

obclient> ALTER SYSTEM ADD DELETE BACKUP POLICY 'default' RECOVERY_WINDOW '90d';

如果备份集在recovery_window之外,但仍在worm保留期内,且清理模式为deleting,那么observer在清理该备份集将失败,在备份相关视图(清理备份相关视图介绍)中将相应失败任务上展示worm相关错误码-9140(the object is locked by worm)。对于tagging模式,observer为备份集打上tag后,oss bucket会在object保留期外且生命周期结束后删除相关object。

worm设置说明

oss worm具体设置方法可以参考oss官方说明使用命令行工具ossutil设置合规保留策略确保指定时间内不能修改和删除OSS数据_对象存储(OSS)-阿里云帮助中心

用户在配置完合规保留策略后查询已创建的合规保留策略是否符合预期。

  • 命令格式
ossutil worm get oss://BucketName
  • 使用示例

查询examplebucket的合规保留策略。

ossutil worm get oss://examplebucket

以下输出结果表明已查询到合规保留策略的配置参数,结果中包含策略ID、状态、保留天数、策略创建时间。

<WormConfiguration><WormId>581D8A7FFA064C80827CAB4076A93A78</WormId><State>Locked</State><RetentionPeriodInDays>360</RetentionPeriodInDays><CreationDate>2021-01-19T03:36:53.000Z</CreationDate>
</WormConfiguration>

需要注意检查查询到的合规保留策略的state需要是Locked状态,并且RetentionPeriodInDays(合规保留时长)符合预期。

相关文章:

  • CVE-2024-23897源码分析与漏洞复现(Jenkins 任意文件读取)
  • HTTP状态码大全:含义、产生原因及排查指南
  • 实战案例-FPGA如何实现JESD204B可重复的延迟
  • 实战案例-FPGA如何实现JESD204B确定性延迟
  • 【已解决】python的kafka-python包连接kafka报认证失败
  • Java 通用实体验证框架:从业务需求到工程化实践【生产级 - 适用于订单合并前置校验】
  • 功能界面的组件化编码流程
  • 鸿蒙接入微信sdk登录 解决提示BundleID信息校验不通过
  • NoSQL数据库技术详解:Redis与MongoDB的应用与实践
  • kotlin kmp 副作用函数 effect
  • 【RPA干货】RPA自动化程序是什么?-rpa百科
  • CentOS7下的大数据NoSQL数据库HBase集群部署
  • gitlab-runner 如何配置使用 Overwrite generated pod specifications
  • 使用 ML.NET Model Builder 训练机器学习模型进行预测性维护
  • ArcGIS Pro 3.4 二次开发 - 任务
  • NLP学习路线图(三十八): 文本摘要
  • 21、Create React App的使用
  • 医学图像分割最新进展
  • Leetcode 3574. Maximize Subarray GCD Score
  • skynet源码学习-skynet_timer定时器
  • 蓝色旅游网站模板/短视频推广引流方案
  • 有哪些做网站的/千锋教育北京校区
  • 网站建设推广总结/搭建网站的五大步骤
  • 做网站不用tomcat行吗/长沙seo优化排名
  • 网站平台管理优化方案设计/网络维护公司
  • 厦门市建设协会网站首页/网坛最新排名