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

华为GaussDB A GaussRoach.py 备份命令

墨天轮 2019-10-12
1553

备份命令

功能

backup命令用于备份集群或表数据到NBU或磁盘。

命令格式

python GaussRoach.py -t backup --agent-port <agent-port> --master-port <master-port> --media-type <media-type> --media-destination <media-destination-path> --metadata-destination <metadata-path> [--bucket-name <bucketname>] [--buffer-block-size <block-size>] [--buffer-size <buffer-size>] [--cluster-unique-id <value>] [--compression-level <compression-level>] [--contrib-config <configuration-file>] [--cpu-relinquish-size <cpu-relinquish-size-value>] [--cpu-relinquish-time <cpu-relinquish-time-value>] [--dbname <database-name>] [--enable-logging <true/false>] [--failure-retry-count <count>] [--filesplit-size <file-split-size>] [--log-filecount <log-file-count>] [--log-filesize <log-file-size>] [--logging] [--logging-level <logging-level>] [--logging-path <logging-path>] [--logical] [--max-memory-usage <maximum-number-of-bytes>] [--metadata-file-wait-time <wait-time>] [--master-ip <xx.xx.xx.xx>] [--obs-server-ip <address>] [--parallel-process <process-count>] [--pre-disk-space] [--prior-backup-key <prior-full-backup-key>] [--reader-thread-count <number-of-threads>] [--reader-thread-file-count <number-of-thread-files>] [--reader-thread-file-size <filesize>] [--resource-retry-count <count>] [--retry-wait-time <time>] [--table-list <tablelist-filename>] [--tablename <table-name>] [--username <user-name>] [--validate-prior-backups <priorbackup-validation-type>] [--validation-type <validation-type>] [--verbose]

参数说明

备份命令行参数列表

完整选项

缩写选项

数据类型

说明

取值范围

缺省值

应用实例

-t

不涉及

字符串

Roach接口支持多种功能。指定该参数为backup,表示调用备份功能。

  • -t backup
  • -t stop
  • -t validate
  • -t delete
  • -t restore
  • -t show
  • -t generate
  • -t genstack
  • -t getobject
  • -t start
  • -t clean
  • -t config
  • -t version
  • -t help

不涉及

-t backup

--agent-port

不涉及

整数

Roach非主代理所在节点运行的端口。

说明:

进行表级备份时使用该选项。

不涉及

不涉及

--agent-port 6812

--master-port

不涉及

整数

Roach主代理进程的执行端口。

不涉及

不涉及

--master-port 6812

--media-type

不涉及

字符串

备份所需的介质类型。

  • NBU
  • Disk(磁盘)
  • Disk(磁盘)
  • NBU

不涉及

对于磁盘:--media-type Disk

对于NBU:--media-type NBU

--media- destination

不涉及

字符串

指定介质的目的备份路径。

  • Disk(磁盘):
  • NBU:样例策略

不涉及

不涉及

对于磁盘:--media-destination /home/cam/backup

对于NBU:--media-destination Samplepolicy

--metadata-destination

不涉及

字符串

元数据文件位置。

不涉及

不涉及

--metadata-destination /home/username

--bucket-name

不涉及

字符串

指定OBS桶名称。

不涉及

不涉及

--bucket-name rdsbucket.resource.user4444

--buffer-block-size

不涉及

整数

单个缓冲块大小。

8192–8838608(字节)

2097152(字节)

--buffer-block-size 9058

--buffer-size

不涉及

整数

缓存大小。

256–16384 (MB)

256(MB)

--buffer-size 10000

--cluster-unique-id

不涉及

字符串

指定集群备份时的集群ID。

不涉及

不涉及

--cluster-unique-id dws-xlnobs_9732b696-4b6d-4844-a40c-d1f6355aca02

--compression-level

不涉及

整数

压缩级别。

0代表快速或无压缩。

9代表慢速或最大压缩。

说明:

值越小,压缩越快。值越大,压缩越好。

表级备份不支持压缩。

0 - 9

6

--compression-level 5

--contrib-config

不涉及

字符串

HDFS Hook功能的配置文件。该文件路径应为${GAUSSHOME}/bin。

说明:
  • 可指定HDFS Hook功能的配置文件。该文件包含调用HDFS备份API所需的选项。
  • 使用自定义库时,确保该参数值为新库(SO文件)的路径。

不涉及

不涉及

--contrib-config roach_contrib.conf

--cpu-relinquish-size

不涉及

整数

数据用量达到该参数指定的值后,Roach必须切换至低CPU使用率一段时间,该时间段由--cpu-relinquish-time指定,单位为秒。

1–10000 (GB)

不涉及

--cpu-relinquish-size 10 GB

--cpu-relinquish-time

不涉及

整数

CPU的释放时间。此期间Roach必须切换为低CPU使用率。

说明:
  • 将CPU释放时间设置为60秒或60秒以上以减小CPU使用率。
  • 如果该参数未设置值,执行中会忽略该参数。

0–3600(秒)

不涉及

--cpu-relinquish-time 1000

--dbname

-d

字符串

数据库名称。

说明:

如果未指定数据库名称,默认使用postgres为其数据库名称。

不涉及

postgres

--dbname DBNew01

--enable-logging

不涉及

布尔型

是否开启登录到日志文件功能。

建议使用此参数而不是--logging。

  • True
  • False

False

--enable-logging True

--failure-retry-count

不涉及

整数

配置Roach工具失败后最大重试次数。如果设为n,Roach会进行n-1次重试。

0–256

32

--failure-retry-count 3

--filesplit-size

不涉及

整数

被拆分的备份文件的大小。

0:文件不会被拆分。

1024:被拆分文件最大为1024GB。

说明:

用户必须指定被拆分文件的大小(文件大小应是4的倍数)。

0–1024(GB)

4 (GB)

--filesplit-size 40

--log-filecount

不涉及

整数

日志文件最大个数。

5–1024

10

--log-filecount 5

--log-filesize

不涉及

整数

最大日志文件的大小。

5–20(MB)

5(MB)

--log-filesize 5

--logging

不涉及

布尔型

是否开启日志文件记录功能。

如果命令中指定了该参数,则参数值为true。否则值为false。

此参数将来会退化,建议使用--enable-logging

不涉及

False

--logging

--logging-level

不涉及

字符串

日志级别。

  • FATAL(致命):导致系统停止工作的、无法恢复的故障。该级别为最严重级别。
  • ERROR(错误):重大错误。
  • WARNING(警告):异常情况。系统在该情况下可能会继续处理任务。
  • INFO(提示):日志记录过程中的提示性日志。
  • DEBUG(调试):用于调试的详细信息。
  • DEBUG2(调试2):最详细的日志信息,通常会过滤不显示。该级别严重程度最轻。
  • FATAL
  • ERROR
  • WARNING
  • INFO
  • DEBUG
  • DEBUG2

INFO

--logging-level info

--logging-path

不涉及

字符串

日志存放路径。

不涉及

$GAUSSLOG/roach/controller

--logging-path $GAUSSLOG/roach/controller

--logical

不涉及

不涉及

多表逻辑备份或恢复时使用,必须与--table-list一起使用。携带该参数则表示多表逻辑备份或恢复,不携带则表示多表物理备份或恢复。

不涉及

不涉及

--logical

--max-memory-usage

不涉及

无符号整数

Roach可用的最大字节数。

说明:

Roach默认可以使用系统提供的最大内存。

2–256(单位为GB)

不涉及

--max-memory-usage 2

--metadata-file-wait-time

不涉及

整数

读取元数据文件的等待时长。

60–3600 (秒)

60

(秒)

--metadata-file-wait-time 100

--master-ip

不涉及

IP地址

输入当前节点所在集群的IP地址,即当前登录节点在集群配置文件中指定的IP地址。

x.x.x.x

不涉及

--master-ip

x.x.x.x

--obs-server-ip

不涉及

IP地址

指定OBS的服务器地址。

x.x.x.x

不涉及

--obs-server-ip x.x.x.x

--parallel-process

不涉及

整数

Roach可以使用的子进程个数。

说明:

表级备份和恢复不支持并行处理。

1–32

1

--parallel-process 10

--pre-disk-space

不涉及

布尔型

检查是否有足够的磁盘空间完成即将进行的操作。

如果命令中指定了该参数,则参数值为true。否则值为false。

不涉及

False

--pre-disk-space

--prior-backup-key

不涉及

字符串

表示与之前全量备份使用的backup key,增量备份基于该全量备份执行。

不涉及

不涉及

--prior-backup-key 20170117_041504

--reader-thread-count

不涉及

整数

指定要处理的阅读器线程数。

0 - 256

不涉及

--reader-thread-count 8

--reader-thread-file-count

不涉及

整数

指定每个阅读器线程的缓冲区文件数量。

0 - 256

不涉及

--reader-thread-file-count

2

--reader-thread-file-size

不涉及

整数

指定阅读器线程的每个缓冲区文件的缓冲区文件大小(以字节为单位)。

1 - 65535(字节)

不涉及

--reader-thread-file-size 16384

--resource-retry-count

不涉及

整数

Roach工具在资源分配失败后的重试次数。

如果设为n,Roach会进行n-1次重试。

说明:

该参数可用于在高斯工具中系统资源分配失败时进行的任何操作。系统资源包括堆内存、线程、数据库API。对其他失败操作的重试由--failure-retry-count参数控制。

0–256

0

--resource-retry-count 3

--retry-wait-time

不涉及

整数

配置Roach工具在失败后重试时需要等待的时间。

说明:

仅适用集群级备份和恢复至NBU或从NBU备份和恢复的场景。

1–3600(秒)

10(秒)

--retry-wait-time 1200

--tablelist

不涉及

字符串

输入文件名的绝对路径包含要备份的所有表。文件的每一行必须包含格式为<模式名称> .TableName的单个条目。默认模式为'public'。

说明:

该选项不能与表名一起使用。

Roach将处理文件中的前10,000个表名。

不涉及

不涉及

--tablelist /home/roach/bklist.txt

--tablename

不涉及

字符串

进行逻辑备份的表名称。

说明:

用户一次仅可以指定一个表进行备份。多表备份需使用tablelist。备份期间必须提供表名。

不涉及

不涉及

--tablename Students

--validate-prior-backups

不涉及

字符串

指定是否验证先前备份以及首选验证类型:

  • Force:强制执行验证。
  • Optimistic:在未经验证的条件下再执行验证。
  • Force
  • Optimistic

Optimistic

--validate-prior-backups Force

--username

-U

字符串

集群安装用户名。

不涉及

不涉及

--username cluster_user

--validation-type

NA

字符串

验证是基于CRC-32还是文件大小。

  • Full(全量)
  • Partial(部分)
  • Full
  • Partial

Full

--validation-type Full

--verbose

不涉及

布尔型

是否启用verbose选项来显示详细信息。

如果命令中指定了该参数,则参数值为true。否则值为false。

不涉及

False

--verbose

--with-serverlog

不涉及

布尔型

是否备份主数据节点、协调节点、备数据节点、从备数据节点、全局事务管理器的日志文件。

如果命令中指定了该参数,则参数值为true。否则值为false。

不涉及

False

--with-serverlog

--resume-backup

不涉及

布尔型

该参数用于指定本次全量备份是否为断点续做。

当数据较多时,全量备份失败如果不想重头再做,可以在全量备份开始时加上此参数,可在断掉的位置继续做全量备份。

说明:

此参数只用于全量备份,备份介质只适用于磁盘。

不涉及

False

--resume-backup

使用指南

  • 对于集群级备份,必须提供介质类型、目标介质和主代理端口,否则Roach工具会报错。
  • 对于表级备份,必须提供介质类型、目标介质、表名、非主代理端口和主代理端口,否则Roach工具会报错。
  • 集群级备份前,请执行如下命令开启集群归档模式。
    python GaussRoach.py -t config --archive=true -p Parsing the configuration file. Setting configuration. Configuring ENV and GUC parameter. Archive mode has been SET. Successfully configured ENV and GUC parameter Successfully set configuration.
  • 集群级备份前,请执行如下命令检查集群运行状态,cluster_state为Normal时表示集群正常运行,可以备份集群。
    gs_om -t status ----------------------------------------------------------------------- cluster_state : Normal redistributing : No balanced : Yes -----------------------------------------------------------------------
  • 集群级备份后,请执行如下命令关闭集群归档模式。
    python GaussRoach.py -t config --archive=false -p Parsing the configuration file. Setting configuration. Configuring ENV and GUC parameter. Archive mode has been UNSET. Successfully configured ENV and GUC parameter. Successfully set configuration.

命令示例

  • 备份集群到NBU
    python GaussRoach.py -t backup --master-port 6000 --media-destination samplepolicy --media-type NBU --metadata-destination /home/userA/metadata
  • 备份集群到磁盘
    python GaussRoach.py -t backup --master-port 6000 --media-destination /home/userA/media --media-type DISK --metadata-destination /home/userA/metadata
  • 备份单表到NBU
    python GaussRoach.py -t backup --master-port 6000 --media-destination samplepolicy --media-type NBU --agent-port 7000 --dbname postgres --tablename tbl_backup --metadata-destination /home/userA/metadata
  • 备份单表到磁盘
    python GaussRoach.py -t backup --master-port 6000 --media-destination /home/userA/backup --media-type Disk --agent-port 7000 --dbname postgres --tablename tbl_backup --metadata-destination /home/userA/metadata
  • 备份多表到NBU
    python GaussRoach.py -t backup --master-port 6000 --media-destination samplepolicy --media-type NBU --agent-port 7000 --logical --table-list /home/roack/bklist.txt --dbname postgres --metadata-destination /home/userA/metadata
  • 备份多表到磁盘
    python GaussRoach.py -t backup --master-port 6000 --media-destination /home/userA/media --media-type Disk --agent-port 7000 --logical --table-list /home/roach/bklist.txt --dbname postgres --metadata-destination /home/userA/metadata
  • 增量备份集群
    python GaussRoach.py -t backup --master-port 6000 --media-destination /home/userA/media --media-type Disk --metadata-destination /home/userA/metadata --prior-backup-key 20170313_131629 --validate-prior-backups force

相关命令

恢复命令


查看更多:华为GaussDB 200 GaussRoach.py 命令行参考
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论