备份命令
功能
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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。评论




