yuan-er

导航

 

GaussDB-gs_roach

背景信息

数据库备份/恢复工具。

gs_roach分为master进程和agent进程两种。其中,master进程只有在备份主节点上才有,agent进程在其它参与备份的节点上存在。master进程接受和建立来自所有agent进程的连接(长连接),并且通过这些连接,来推动整个分布式备份流程的步骤和状态,具体原理如下:

  1. master进程采用ip白名单认证,只允许来自数据库实例内的ip连接。
  2. master进程只有在启动之后的固定超时时间内(通常为10分钟)接受来自agent进程的tcp连接请求。如果在该时间段内,数据库实例内所有节点的agent进程没有都连接上,那么master进程会报错退出,该次备份失败;如果在该时间段内,数据库实例内所有节点的agent进程都和master进程成功建连,那么在最后一个agent进程建连成功之后,master进程就会停止对master port的侦听,并开始正式的备份操作。后续整个备份过程中master进程不再接受其他任何agent进程的连接请求。

语法

gs_roach OPTIONS ACTION [backup | restore | update | delete | uploadmeta | downloadmeta | obs-upload | obs-download | obs-delete | query | retrieve]
 

参数说明

OPTION:

  • --master

    设置该实例为master。默认为agent。

  • --with-serverlog

    包括备份服务器日志文件时的备份。

  • --enable-crc

    开启crc校验。

  • --master-ip <master ip>

    设置主“roach”IP地址。

  • --master-port <master port>

    主roach应该启动的端口。

  • --media-type <media-type>

    备份目的地。

  • --media-destination <media-destination>

    指定备份的路径。

  • --metadata-destination <path>

    备份元数据文件的路径。

  • --restore-buffer-threshold <buffer-threshold>

    在还原下一个文件之前应该可用的缓冲区的百分比

  • --backup-key <backup key>

    还原restore操作的键。

  • --prior-backup-key <backup key>

    增量备份的backup key。

  • --backup-type <backup type>

    备份的类型。

  • --exec-delay-ddl

    备份时延迟DDL语句。

  • --single

    指定为单机模式。

  • --single-group-nodeid

    单机模式下的nodeid。

  • --single-group-datapath

    单机模式下的数据路径。

  • --snapshot-action

    快照备份操作

  • --split-local-disk-storage

    备份的不同的DN数据分开存储。

  • --standby-mode

    开启备机备份。

  • --no-display

    指定不显示回显信息。

  • --resume-backup

    标记本次备份开启断点续做。

  • --resume-restore

    标记本次恢复开启断点续做。

  • --target-backup-key <backup key>

    恢复到指定的backup key。

  • --incremental

    增量恢复。

  • --restore-new-cluster

    恢复数据到新数据库。

  • --restore-configs

    恢复配置文件到新数据库。

  • --parallel-restore

    指定使用备DN并行恢复。

  • --skip-restore-gtmcm

    恢复时不恢复cm的数据。

  • --compression-level <level>

    备份时应该使用的压缩级别。

  • --compression-type <type>

    备份时应该使用的压缩类型。

  • --cbm-recycle-level <level>

    备份时cbm文件回收应该使用cbmRecycle级别。

  • --reader-thread-count <count>

    备份时读线程的数量。

  • --reader-thread-file-count <count>

    备份时线程文件的数量。

  • --reader-thread-file-size <size>

    备份时线程文件的大小。

  • --buffer-size <size>

    应该使用的缓冲区大小。

  • --buffer-block-size <block-size>

    每个缓冲区应该使用的块大小。单位:B

  • --max-backup-io-speed <speed>

    每个并行进程备份写入媒体目标的最大速度。单位:B/s。必须大于buffer-block-size。0表示不限制

  • --parallel-process <count>

    应该使用的进程数。

  • --failure-retry-count <count>

    在失败的情况下,应该重试的次数。

  • --resource-retry-count <count>

    在失败的情况下,重试的次数。

  • --retry-wait-time <time>

    失败后重试前等待的时间。

  • --logging-level <logging level>

    [FATAL|ERROR|WARNING|INFO|DEBUG|DEBUG2]. 设置日志的等级,默认的等级是warning.

  • --logging

    启用记录日志文件。在以后的版本中将不推荐使用此版本。请使用--enable-logging代替。

  • --enable-logging <True/False>

    启用记录日志文件。默认值为False。

  • --log-filesize

    最大日志文件大小。

  • --filesplit-size

    将要分割的文件的近似文件大小。

  • --log-filecount

    创建日志文件的最大数量。

  • --logging-path

    需要创建日志文件的位置。

  • --dbname <dbname>

    设置数据库名。

  • --username <username>

    数据库的用户名。

  • -W <password>

    数据库用户的密码。

  • --pipeline

    使用管道传输密码,禁止在终端使用。

  • --cpu-relinquish-time

    放弃CPU的时间。放弃时间在秒级的范围内。

  • --cpu-relinquish-size

    处理完释放大小后,释放CPU。

  • --max-memory-usage <value>

    Roach进程允许使用的最大内存,单位为GB。范围2-256。

  • --pre-disk-space

    备份恢复前检查磁盘空间可用性。

  • --mark-failed

    标记备份状态失败。

  • --mark-transparent

    标记备份状态为透明。

  • --mark-corrupted

    标记备份状态为已损坏。

  • --mark-restored

    标记该备份集已经被恢复过。

  • --obs-server-ip <address>

    OBS服务器ip地址或域名地址。

  • --bucket-name <bucketname>

    OBS桶名。

  • --cluster-unique-id <value>

    数据库唯一标识。

  • --content <content>

    上传到obs对象的文件内容。

  • --obs-ak <obs ak>

    连接obs服务的ak。

  • --obs-sk <obs sk>

    连接obs服务的sk。

  • --prefetch-block <block-bum>

    增量备份时读取磁盘上表文件增量修改页面的预取页面个数。

  • --verbose

    当前正在执行的命令的详细信息。

  • --miniaturized-deployment

    小型化部署数据库标识。

  • --old-cluster-hostname <hostname>

    旧数据库的hostname。

  • --all-backups

    显示所有备份信息。

  • --backup-key <backup key>

    显示给定备份的详细信息。

  • --overwrite

    覆盖已经存在的文件。

  • --related-backup-keys

    显示给定备份的相关的backup key。

  • --start-time

    查询PITR可恢复时间时的开始时间。

  • --version

    显示版本信息。

  • -V

    显示版本信息。

  • --help

    显示帮助信息。

  • --disable-ssl

    关闭SSL认证,gs_roach默认开启SSL认证,若指定该参数则关闭SSL认证。

  • --remote-ip

    指定远端第三方存储介质所在服务器IP,用于与REMOTE第三方通信进行备份恢复。

  • --remote-port

    指定远端第三方存储介质所在服务器侦听端口,用于与REMOTE第三方通信进行备份恢复。

  • --remote-config

    REMOTE第三方厂商配置参数内容。

  • gbr-sys-data-recovery

    指示本次恢复的目标为template0、template1和global中的数据。

  • gbr-db-list

    要恢复的数据库列表。

    该版本不支持对M-compatibility的数据库进行细粒度恢复。

  • gbr-table-list

    备份或恢复的表列表文件的绝对路径。

    该版本不支持对M-compatibility的表进行细粒度恢复。

  • aux-db-path

    辅助数据库路径。

  • retrieve-type

    找回的日志类型。

  • retrieve-shard

    找回日志的分片。

  • retrieve-local-path

    找回日志的本地暂存路径。

  • retrieve-start-lsn

    找回xlog的起始lsn。

  • retrieve-end-lsn

    找回xlog的终止lsn。

  • archive-clean-timeout

    清理归档的超时时间。

  • archive-clean-shard

    清理参与该次备份实例所在分片的分片名。

  • archive-clean-stoplsn

    清理参与该次备份实例所在分片的归档xLog slice的指定LSN前的所有xLog slice。

  • last-backup-endtime

    清理基于该次备份集归档所对应的备份结束时间。

  • reverse

    清理指定归档后的所有归档日志。

  • skip-restore-dn

    恢复时跳过DN的恢复步骤。

  • download-target-path

    obs-download时指定下载目标文件的本地路径。

  • archive-backup-version

    清理归档时传入的备份集备份时的版本信息。

  • pdb-list

    执行PDB级备份时,指定当前进行备份的PDB列表。执行恢复时,指定当前进行恢复的PDB列表。

    该版本不支持对M-compatibility的PDB进行细粒度备份恢复。

  • gbr-pdb-sys-data-recovery

    执行PDB级恢复时,指定当前恢复是否为PDB级第一轮恢复。

  • flash-restore-node-count

    执行闪回快照恢复时,指定本次恢复的节点数量。

ACTION:

  • backup

    备份操作。

  • restore

    恢复操作。

  • update

    更新操作。

  • delete

    删除操作。

  • uploadmeta

    上传元数据操作。

  • downloadmeta

    下载元数据操作。

  • obs-upload

    上传内容到obs对象操作。

  • obs-download

    从obs上读取对象内容操作。

  • obs-delete

    删除obs上指定前缀的对象操作。

  • query

    查询PITR可恢复时间。

  • retrieve

    关键日志找回操作。

 
posted on 2025-01-15 16:30  数据库笔记  阅读(24)  评论(0)    收藏  举报