文档

关于 SequoiaDB

快速入门

安装

基本操作

数据模型

SQL引擎

FileSystem引擎

S3引擎

系统架构

数据库管理

数据库服务

数据库配置

特殊配置项修改

引擎调度工具

数据库工具

集群启停

集群扩容

备份恢复

日志归档重放

监控

安全

查询访问计划

统计信息

连接器

驱动

参考手册

故障排除

SAC 管控中心

Web服务

版本信息

日志归档

在复制组内,节点会将写操作记录到同步日志中。备节点通过同步日志实现与主节点的数据同步。同步日志循环使用磁盘上的日志文件,新产生的日志会覆盖旧的日志。因此,同步日志只能保存最近的部分日志。

通过开启日志归档,可以持续归档数据节点的同步日志,归档日志不会被覆盖,并且可以通过重放工具在其它集群或节点重新执行。因此可以通过日志归档和重放来实现不同集群间的数据同步。

基本功能

日志归档包括以下基本功能:

  1. 归档数据节点的同步日志到本地目录;
  2. 支持压缩存储归档文件;
  3. 归档文件过期自动清理;
  4. 归档目录磁盘配额。

开启归档

将配置参数archiveon设为true即可开启日志归档功能。首次开启日志归档时,节点会在归档目录下生成归档状态文件“.archive.1”和“.archive.2”,通过两个文件保证可靠性。状态文件记录了归档的起始LSN。

Note:
开启归档时节点的同步日志文件数量必须大于1(参数logfilenum)。

开启归档后有两个条件会触发归档操作:

  1. 当前同步日志文件写满切换到下一个日志文件时;
  2. 归档超时时间段内未发生归档操作。

同时,如果节点由于某些原因(节点主降备、异常重启等)导致移动了同步日志LSN,那么归档也会进行相应的移动操作。

归档文件

归档文件的文件名有以下几种格式:

文件名 说明
archivelog.<FileId> 完整归档的日志文件,FileId是顺序增长的序列号
archivelog.<FileId>.p 部分归档的日志文件
archivelog.<FileId>.m 发生了移动操作的日志文件

Note:
1. 在同步日志切换日志文件时,上一个使用的日志文件会被整个归档。如果开启了压缩,那么完整归档的日志文件会被压缩;
2. 在归档超时的时候,可能会归档日志文件的一部分日志。部分归档的文件不会被压缩,在部分归档文件的日志写满了之后会转成完整归档的日志文件。

配置参数

日志归档的配置参数如下:

参数 描述 类型 默认值 说明
archiveon 是否开启归档 bool false
archivecompresson 是否开启归档文件压缩 bool true
archivepath 归档目录 string <dbpath>/archivelog
archivetimeout 归档超时时间 int 600 单位为秒,取值范围>=0,0表示不设超时时间。
archiveexpired 归档日志过期时间 int 240 单位为小时,取值范围>=0,超过过期时间后删除,0表示不设过期时间。
archivequota 归档磁盘空间配额 int 10 单位为GB,取值范围>=0,超过磁盘配额后从最早的开始删除,0表示不设置配额。

Note:
1. 归档是针对数据节点的,在数据节点上通过参数archiveon来开启或关闭归档功能;
2. 归档文件存放在归档目录下,归档目录通过参数archivepath指定,默认在数据路径下的archivelog目录;
3. 在同步日志切换文件时会触发归档,如果在归档超时时间的间隔内未发生归档,那么系统会自动触发归档;
4. 通过归档日志过期时间来设置归档文件的保存时间,超过时间的归档文件会被删除;
5. 通过归档磁盘空间配额来限制归档使用的磁盘空间大小,在归档使用的磁盘空间超出配额前,系统会从最早的归档文件开始删除,以保证不会超出磁盘配额。

错误

错误信息记录在节点诊断日志(diaglog)中,可参考错误码

错误码 原因 解决方法
-313 开启了归档,同步日志的日志文件循环回来,即将要被覆盖的同步日志还没有被归档。 发生该错误后会触发归档操作,如果连续发生错误需要结合诊断日志分析。
回到顶部