From 1b3d00719cacf020f3c3a5d9d016d9285f263005 Mon Sep 17 00:00:00 2001 From: hejiahuan11 Date: Thu, 6 Mar 2025 14:53:10 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A9=BA=E9=97=B4=E4=B8=8D=E8=B6=B3=E5=BD=92?= =?UTF-8?q?=E6=A1=A3=E6=9C=AA=E8=BF=9B=E8=A1=8C=E5=AE=8C=E6=88=90=E8=80=8C?= =?UTF-8?q?=E5=A4=87=E4=BB=BD=E5=A4=B1=E8=B4=A5=E6=8F=8F=E8=BF=B0=E8=A1=A5?= =?UTF-8?q?=E5=85=85=E3=80=81=E6=95=B4=E7=90=86=E5=90=88=E5=B9=B6=E7=89=A9?= =?UTF-8?q?=E7=90=86=E5=A4=87=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...51\347\220\206\345\244\207\344\273\275.md" | 2 +- ...57\346\214\201\345\275\222\346\241\243.md" | 2 +- ...75\344\270\216\346\201\242\345\244\215.md" | 1076 +---------------- .../docs/ToolandCommandReference/gs_backup.md | 50 +- .../ToolandCommandReference/gs_basebackup.md | 5 +- .../ToolandCommandReference/gs_probackup.md | 10 +- 6 files changed, 48 insertions(+), 1097 deletions(-) diff --git "a/content/zh/docs/AboutopenGauss/\347\211\251\347\220\206\345\244\207\344\273\275.md" "b/content/zh/docs/AboutopenGauss/\347\211\251\347\220\206\345\244\207\344\273\275.md" index c9b77f0bf..211f4a207 100644 --- "a/content/zh/docs/AboutopenGauss/\347\211\251\347\220\206\345\244\207\344\273\275.md" +++ "b/content/zh/docs/AboutopenGauss/\347\211\251\347\220\206\345\244\207\344\273\275.md" @@ -42,7 +42,7 @@ openGauss提供物理备份能力,可以将整个数据库的数据以数据 ## 特性约束 -物理备份的约束条件请参见《数据库运维指南》中“备份与恢复 \> 物理备份恢复”章节。 +物理备份的约束条件请参见《数据库运维指南》中“备份与恢复 \> [物理备份与恢复](../DatabaseOMGuide/物理备份与恢复.md)”章节。 ## 依赖关系 diff --git "a/content/zh/docs/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226XLOG\346\224\257\346\214\201\345\275\222\346\241\243.md" "b/content/zh/docs/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226XLOG\346\224\257\346\214\201\345\275\222\346\241\243.md" index 3d3a0e5eb..02a176453 100644 --- "a/content/zh/docs/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226XLOG\346\224\257\346\214\201\345\275\222\346\241\243.md" +++ "b/content/zh/docs/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226XLOG\346\224\257\346\214\201\345\275\222\346\241\243.md" @@ -24,7 +24,7 @@ - 本特性仅支持主节点开启归档参数,进行归档操作。 - 当wal_level参数为minimal时,归档功能无法开启使用。 -- 本特性不会检测已归档的XLOG是否还有存在价值,若出现归档路径的盘空间满,则归档会停止直到归档路径盘存在可用空间(>1G,因为资源池化环境下的XLOG文件规格是1G),因此需要用户自行进行归档的XLOG维护清理。 +- 本特性不会检测已归档的XLOG是否还有存在价值,若出现归档路径的盘空间满,则归档会停止直到归档路径盘存在可用空间(>1G,因为资源池化环境下的XLOG文件规格是1G),因此需要用户自行进行归档的XLOG维护清理。若归档因盘空间不足而停止,此时进行备份操作会备份失败。 - 资源池化环境下,归档命令参数(archive_command)为dsscmd cp,暂时仅支持 cp 基本的复制操作,并且文件路径参数不支持使用相对路径,详情可以参考[dsscmd](../ToolandCommandReference/dsscmd.md) ## 依赖关系 diff --git "a/content/zh/docs/DatabaseOMGuide/\347\211\251\347\220\206\345\244\207\344\273\275\344\270\216\346\201\242\345\244\215.md" "b/content/zh/docs/DatabaseOMGuide/\347\211\251\347\220\206\345\244\207\344\273\275\344\270\216\346\201\242\345\244\215.md" index eecb7153f..e2acf0cc7 100644 --- "a/content/zh/docs/DatabaseOMGuide/\347\211\251\347\220\206\345\244\207\344\273\275\344\270\216\346\201\242\345\244\215.md" +++ "b/content/zh/docs/DatabaseOMGuide/\347\211\251\347\220\206\345\244\207\344\273\275\344\270\216\346\201\242\345\244\215.md" @@ -1,333 +1,20 @@ # 物理备份与恢复 -## gs\_backup - -### 背景信息 - -openGauss部署成功后,在数据库运行的过程中,会遇到各种问题及异常状态。openGauss提供了gs\_backup工具帮助openGauss备份、恢复重要数据、显示帮助信息和版本号信息。 - -### 前提条件 - -- 可以正常连接openGauss数据库。 -- 在进行还原时,需要保证各节点备份目录中存在备份文件。 -- 需以操作系统用户omm执行gs\_backup命令。 - -### 语法 - -- 备份数据库主机 - - ``` - gs_backup -t backup --backup-dir=BACKUPDIR [-h HOSTNAME] [--parameter] [--binary] [--all] [-l LOGFILE] - ``` - -- 恢复数据库主机 - - ``` - gs_backup -t restore --backup-dir=BACKUPDIR [-h HOSTNAME] [--parameter] [--binary] [--all] [-l LOGFILE] [--force] - ``` - -- 显示帮助信息 - - ``` - gs_backup -? | --help - ``` - -- 显示版本号信息 - - ``` - gs_backup -V | --version - ``` - -### 参数说明 - -gs\_backup参数可以分为如下几类: - -- 备份数据库主机参数: - - - -h - - 指定存储备份文件的主机名称。 - - 取值范围:主机名称。如果不指定主机名称,则备份当前数据库实例。 - - - --backup-dir=BACKUPDIR - - 备份文件保存路径。 - - - --parameter - - 备份参数文件,不指定--parameter、--binary、--all参数时默认只备份参数文件。 - - - --binary - - 备份app目录下的二进制文件。 - - - --all - - 备份app目录下的二进制文件、pg\_hba.conf和postgsql.conf文件。 - - - -l - - 指定日志文件及存放路径。 - - 默认值:$GAUSSLOG/om/gs\_backup-YYYY-MM-DD\_hhmmss.log - - -- 恢复数据库主机参数: - - - -h - - 指定需要恢复主机的名称。 - - 取值范围:主机名称。如果不指定主机,则恢复对应的备份节点。 - - - --backup-dir=BACKUPDIR - - 恢复文件提取路径。 - - - --parameter - - 恢复参数文件,不指定--parameter、--binary、--all参数时默认只恢复参数文件。 - - - --binary - - 恢复二进制文件。 - - - --all - - 恢复二进制和参数文件。 - - - -l - - 指定日志文件及存放路径。 - - 默认值:$GAUSSLOG/om/gs\_backup-YYYY-MM-DD\_hhmmss.log - - - --force - - 节点的静态文件丢失后强行restore,仅限--all 或者--binary一起使用时才生效。 - - -- 其他参数: - - - -?, --help - - 显示帮助信息。 - - - -V, --version - - 显示版本号信息。 - - - -t - - 指定操作类型。 - - 取值范围:backup 或者 restore。 - - - -### 示例 - -- 使用gs\_backup脚本备份数据库主机。 - - ``` - gs_backup -t backup --backup-dir=/opt/software/gaussdb/backup_dir -h plat1 --parameter - Backing up openGauss. - Parsing configuration files. - Successfully parsed the configuration file. - Performing remote backup. - Remote backup succeeded. - Successfully backed up openGauss. - ``` - -- 使用gs\_backup脚本恢复数据库主机。 - - ``` - gs_backup -t restore --backup-dir=/opt/software/gaussdb/backup_dir -h plat1 --parameter - Restoring openGauss. - Parsing the configuration file. - Successfully parsed configuration files. - Performing remote restoration. - Remote restoration succeeded. - Successfully restored openGauss. - ``` - - - -## gs\_basebackup - -### 背景信息 - -openGauss部署成功后,在数据库运行的过程中,会遇到各种问题及异常状态。openGauss提供了gs\_basebackup工具做基础的物理备份。gs\_basebackup的实现目标是对服务器数据库文件的二进制进行拷贝,其实现原理使用了复制协议。远程执行gs\_basebackup时,需要使用系统管理员账户。gs\_basebackup当前支持热备份模式和压缩格式备份。 - -gs\_basebackup工具支持打印进度,会根据已经传输完成的文件大小比上需要传输的总文件大小进行进度打印。 - ->![](public_sys-resources/icon-note.png) **说明:** +>![](public_sys-resources/icon-note.png) **说明:** > ->- gs\_basebackup仅支持主机和备机的全量备份,不支持增量。 ->- gs\_basebackup当前支持热备份模式和压缩格式备份。 ->- gs\_basebackup在备份包含绝对路径的表空间时,如果在同一台机器上进行备份,可以通过tablespace-mapping重定向表空间路径,或使用归档模式进行备份。 ->- 若打开增量检测点功能且打开双写,gs\_basebackup也会备份双写文件。 ->- 若pg\_xlog目录为软链接,备份时将不会建立软链接,会直接将数据备份到目的路径的pg\_xlog目录下。 ->- 备份过程中收回用户备份权限,可能导致备份失败或者备份数据不可用。 ->- 如果因为网络临时故障等原因导致Server端无应答,gs\_basebackup将在最长等待120秒后退出。 - -### 前提条件 - -- 可以正常连接openGauss数据库。 - -- 备份过程中用户权限没有被回收。 - -- pg\_hba.conf中需要配置允许复制链接,且该连接必须由一个系统管理员建立。 - -- 如果xlog传输模式为stream模式,需要配置max\_wal\_senders的数量, 至少有一个可用。 - -- 如果xlog传输模式为fetch模式,有必要把wal\_keep\_segments参数设置得足够高,这样在备份末尾之前日志不会被移除。 - -- 在进行还原时,需要保证各节点备份目录中存在备份文件,若备份文件丢失,则需要从其他节点进行拷贝。 - -### 语法 - -- 显示帮助信息 - - ``` - gs_basebackup -? | --help - ``` - -- 显示版本号信息 - - ``` - gs_basebackup -V | --version - ``` - -参数说明 - -gs\_basebackup参数可以分为如下几类: - -- -D directory - - 备份文件输出的目录,必选项。 - - -- 常用参数: - - - -c,--checkpoint=fast|spread - - 设置检查点模式为fast或者spread(默认)。 - - - -l,--label=LABEL - - 为备份设置标签。 - - - -P,--progress - - 启用进展报告。 - - - -v, --verbose - - 启用冗长模式。 - - - -V, --version - - 打印版本后退出。 - - - -?,--help - - 显示gs\_basebackup命令行参数。 - - - -T,–tablespace-mapping=olddir=newdir - - 在备份期间将目录olddir中的表空间重定位到newdir中。为使之有效,olddir必须正好匹配表空间所在的路径(但如果备份中没有包含olddir中的表空间也不是错误)。olddir和newdir必须是绝对路径。如果一个路径凑巧包含了一个=符号,可用反斜线对它转义。对于多个表空间可以多次使用这个选项。 - - - -F,–format=plain|tar - - 设置输出格式为plain\(默认\)或者tar。没有设置该参数的情况下,默认–format=plain。plain格式把输出写成平面文件,使用和当前数据目录和表空间相同的布局。当集簇没有额外表空间时,整个数据库将被放在目标目录中。如果集簇包含额外的表空间,主数据目录将被放置在目标目录中,但是所有其他表空间将被放在它们位于服务器上的相同的绝对路径中。tar模式将输出写成目标目录中的 tar 文件。主数据目录将被写入到一个名为base.tar的文件中,并且其他表空间将被以其 OID 命名。生成的tar包,需要用gs\_tar命令解压。 - - - -X, –xlog-method=fetch|stream - - 设置xlog传输方式。没有设置该参数的情况下,默认–xlog-method=stream。在备份中包括所需的预写式日志文件(WAL文件)。这包括所有在备份期间产生的预写式日志。fetch方式在备份末尾收集预写式日志文件。因此,有必要把wal\_keep\_segments参数设置得足够高,这样在备份末尾之前日志不会被移除。如果在要传输日志时它已经被轮转,备份将失败并且是不可用的。stream方式在备份被创建时流传送预写式日志。这将开启一个到服务器的第二连接并且在运行备份时并行开始流传输预写式日志。因此,它将使用最多两个由max\_wal\_senders参数配置的连接。只要客户端能保持接收预写式日志,使用这种模式不需要在主控机上保存额外的预写式日志。 - - - -x, - - –xlog 使用这个选项等效于和方法fetch一起使用-X。 - - - -Z –compress=level +>- 如果在开启归档的集群环境中进行物理备份操作,需注意归档空间是否富裕,若归档因空间不足而停止,会导致备份操作失败。 - 启用对 tar 文件输出的 gzip 压缩,并且制定压缩级别(0 到 9,0 是不压缩,9 是最佳压缩)。只有使用 tar 格式时压缩才可用,并且会在所有tar文件名后面自动加上后缀.gz。 +## gs\_backup方式 - - -z +具体使用操作步骤参考[gs\_backup](../ToolandCommandReference/gs_backup.md)。 - 启用对 tar 文件输出的 gzip 压缩,使用默认的压缩级别。只有使用 tar 格式时压缩才可用,并且会在所有tar文件名后面自动加上后缀.gz。 +## gs\_basebackup方式 - - -t,–rw-timeout - - 设置备份期间checkpoint的时间限制,默认限制时间为120s。当数据库全量checkpoint耗时较长时,可以适当增大rw-timeout限制时间。 - - -- 连接参数 - - - -h, --host=HOSTNAME - - 指定正在运行服务器的主机名或者Unix域套接字的路径。 - - - -p,--port=PORT - - 指定数据库服务器的端口号。 - - 可以通过port参数修改默认端口号。 - - - -U,--username=USERNAME - - 指定连接数据库的用户。 - - - -s, --status-interval=INTERVAL - - 发送到服务器的状态包的时间(以秒为单位)。 - - - -w,--no-password - - 不出现输入密码提示。 - - - -W, --password=password - - 当使用-U参数连接本地数据库或者连接远端数据库时,指定用户连接的密码。如果没有-W选项,则会提示用户输入密码。如下两种情况将不对密码作相关校验: - 1. 本地备份。在数据库所在节点运行备份命令 - 2. 远程备份,且远程备份环境与节点存在主备关系(在replconninfo中配置相关IP且pg_hba.conf中支持环境远程连接(除GSS外任意认证方式)) - - - -### 示例 - -``` -gs_basebackup -D /home/test/trunk/install/data/backup -h 127.0.0.1 -p 21233 -INFO: The starting position of the xlog copy of the full build is: 0/1B800000. The slot minimum LSN is: 0/1B800000. -``` - -### 从备份文件恢复数据 - -当数据库发生故障时需要从备份文件进行恢复。因为gs\_basebackup是对数据库按二进制进行备份,因此恢复时可以直接拷贝替换原有的文件,或者直接在备份的库上启动数据库。 - ->![](public_sys-resources/icon-note.png) **说明:** -> ->- 若当前数据库实例正在运行,直接从备份文件启动数据库可能会存在端口冲突,这时需要修改配置文件的port参数,或者在启动数据库时指定一下端口。 ->- 若当前备份文件为主备数据库,可能需要修改一下主备之间的复制连接。即配置文件中的postgre.conf中的replconninfo1、 replconninfo2等。 ->- 若配置文件postgresql.conf的参数data\_directory打开且有配置,当使用备份目录启动数据库时候,data\_directory和备份目录不同会导致启动失败。可以修改data\_directory的值为新的数据目录,或者注释掉该参数。 - -若要在原库的地方恢复数据库,参考步骤如下: - -1. 停止数据库服务器, 具体操作请参见《数据库运维指南》。 -2. 将原数据库和所有表空间复制到另外一个位置,以备后面需要。 -3. 清理原库中的所有或部分文件。 -4. 使用数据库系统用户权限从备份中还原需要的数据库文件。 -5. 若数据库中存在链接文件,需要修改使其链接到正确的文件。 -6. 重启数据库服务器,并检查数据库内容,确保数据库已经恢复到所需的状态。 - ->![](public_sys-resources/icon-note.png) **说明:** -> ->- 暂不支持备份文件增量恢复。 ->- 恢复后需要检查数据库中的链接文件是否链接到正确的文件。 +具体使用操作步骤参考[gs\_basebackup](../ToolandCommandReference/gs_basebackup.md)。 +## gs\_probackup方式 +具体使用操作步骤参考[gs\_probackup](../ToolandCommandReference/gs_probackup.md)。 ## PITR恢复 @@ -439,750 +126,9 @@ recovery_target_inclusive = true ``` >![](public_sys-resources/icon-note.png) **说明:** - -- recovery\_target\_name、recovery\_target\_time、recovery\_target\_xid、recovery\_target\_lsn这四个配置项仅同时支持一项。 - -- 如果不配置任何恢复目标,或配置目标不存在,则默认恢复到最新的WAL日志点。 - -## gs\_probackup - -### 背景信息 - -gs\_probackup是一个用于管理openGauss数据库备份和恢复的工具。它对openGauss实例进行定期备份,以便在数据库出现故障时能够恢复服务器。 - -- 可用于备份单机数据库,也可对主机或者主节点数据库备机进行备份,为物理备份。 -- 可备份外部目录的内容,如脚本文件、配置文件、日志文件、dump文件等。 -- 支持增量备份、定期备份和远程备份。 -- 可设置备份的留存策略。 -- 支持备份到兼容S3协议的对象存储 - -gs\_probackup目前支持进度打印,会分别在文件备份、文件验证阶段、文件同步阶段以及文件恢复阶段,根据已经完成的文件数比总文件数打印进度。 - -### 前提条件 - -- 可以正常连接openGauss数据库。 -- 若要使用PTRACK增量备份,需在postgresql.conf中手动添加参数“enable\_cbm\_tracking = on”或通过gs\_guc工具进行设置。 -- 为了防止xlog在传输结束前被清理,请适当调高postgresql.conf文件中wal\_keep\_segments的值。 - -### 限制说明 - -- 备份必须由运行数据库服务器的用户执行。 -- 备份和恢复的数据库服务器的主版本号必须相同。 -- 如果要通过ssh在远程模式下备份数据库,需要在本地和远程主机安装相同主版本的数据库,并通过ssh-copy-id remote\_user@remote\_host命令设置本地主机备份用户和远程主机数据库用户的无密码ssh连接。 -- 远程模式下只能执行add-instance、backup、restore子命令。 -- 使用restore子命令前,应先停止gaussdb进程。 -- 在非资源池化模式下,当存在用户自定义表空间时,如果该表空间的路径不在PGDATA目录下,备份的时候要加上 --external-dirs 参数,否则,该表空间不会被备份;在资源池化模式下,当前只支持相对路径表空间,因此存在自定义表空间时不需要指定 --external-dir 参数。 -- 当备份的规模比较大或在备份同时执行业务时,为了防止备份过程中timeout发生,请适当调整postgresql.conf文件的参数 session\_timeout、wal\_sender\_timeout。并且在备份的命令行参数中适当调整参数--rw-timeout的值。 -- 资源池化模式下,恢复到不同集群需先执行全量恢复。 -- 恢复时,使用-T选项把备份中的外部目录重定向到新目录时,请同时指定参数--external-mapping。 -- 增量备份恢复后,之前创建的非pgoutput插件的逻辑复制槽不可用,需删除重建。 -- 当使用远程备份时,请确保远程机器和备份机器的时钟同步,以防止使用--recovery-target-time恢复的场合,启动gaussdb时有可能会失败。 -- 当远程备份有效时\(remote-proto=ssh\),请确保-h和--remote-host指定的是同一台机器。当远程备份无效时,如果指定了-h选项,请确保-h指定的是本机地址或本机主机名。 -- 当前仅支持备份发布订阅的逻辑复制槽。 -- 备份时,请确保服务器用户对备份的目录下所有文件有读写的权限,以防止在恢复时因权限不足的问题而失败。 -- 在资源池化模式下当前仅支持本地主机操作。 -- 备份将执行checkpoint与xlog switch操作,此行为将产生新的xlog,并提交事务。一主一备或一主多备场景备份时,若配置文件中synchronous_commit设置为on,备机关停可能会导致主机同步提交事务失败,进而导致备份失败。此场景下,请确认各节点状态正常,或将synchronous_commit设置为off以避免备份失败。 -- 在开启enable_cbm_tracking后,不能直接执行增量备份,需要先执行全量备份,即使在开启参数之前已经执行过全量备份。 -- 备份到兼容S3协议的对象存储时,请确保对象存储服务已经开通,可以获取到ak和sk,并且已经创建好bucket。备份到对象存储特性目前不支持执行merge子命令。 - -### 命令说明 - -- 打印gs\_probackup版本。 - - ``` - gs_probackup -V|--version - gs_probackup version - ``` - -- 显示gs\_probackup命令的摘要信息。如果指定了gs\_probackup的子命令,则显示可用于此子命令的参数的详细信息。 - - ``` - gs_probackup -?|--help - gs_probackup help [command] - ``` - -- 初始化备份路径_backup-path_中的备份目录,该目录将存储已备份的内容。如果备份路径_backup-path_已存在,则_backup-path_必须为空目录。 - - ``` - gs_probackup init -B backup-path [--help] - ``` - -- 在备份路径_backup-path_内初始化一个新的备份实例,并生成pg\_probackup.conf配置文件,该文件保存了指定数据目录_pgdata-path_的gs\_probackup设置。 - - ``` - gs_probackup add-instance -B backup-path -D pgdata-path --instance=instance_name - [-E external-directories-paths] - [remote_options] [dss_options] [s3_options] - [--help] - ``` - -- 在备份路径_backup-path_内删除指定实例相关的备份内容。 - - ``` - gs_probackup del-instance -B backup-path --instance=instance_name - [s3_options] - [--help] - ``` - -- 将指定的连接、压缩、日志等相关设置添加到pg\_probackup.conf配置文件中,或修改已设置的值。不推荐手动编辑pg\_probackup.conf配置文件。 - - ``` - gs_probackup set-config -B backup-path --instance=instance_name - [-D pgdata-path] [-E external-directories-paths] [--archive-timeout=timeout] - [--retention-redundancy=retention-redundancy] [--retention-window=retention-window] [--wal-depth=wal-depth] - [--compress-algorithm=compress-algorithm] [--compress-level=compress-level] - [-d dbname] [-h hostname] [-p port] [-U username] - [logging_options] [remote_options] [dss_options] [s3_options] - [--help] - ``` - -- 将备份相关设置添加到backup.control配置文件中,或修改已设置的值。 - - ``` - gs_probackup set-backup -B backup-path --instance=instance_name -i backup-id - [--note=text] [pinning_options] - [s3_options] [--s3-status=s3|local] - [--help] - ``` - -- 显示位于备份目录中的pg\_probackup.conf配置文件的内容。可以通过指定--format=json选项,以json格式显示。默认情况下,显示为纯文本格式。 - - ``` - gs_probackup show-config -B backup-path --instance=instance_name - [--format=plain|json] - [s3_options] - [--help] - ``` - -- 显示备份目录的内容。如果指定了instance\_name和backup\_id,则显示该备份的详细信息。可以通过指定--format=json选项,以json格式显示。默认情况下,备份目录的内容显示为纯文本格式。 - - ``` - gs_probackup show -B backup-path - [--instance=instance_name [-i backup-id]] [--archive] [--format=plain|json] - [s3_options] - [--help] - ``` - -- 创建指定实例的备份。 - - ``` - gs_probackup backup -B backup-path --instance=instance_name -b backup-mode - [-D pgdata-path] [-C] [-S slot-name] [--temp-slot] [--backup-pg-log] [-j threads_num] [--progress] - [--no-validate] [--skip-block-validation] [-E external-directories-paths] [--no-sync] [--note=text] - [--archive-timeout=timeout] [-t rwtimeout] - [logging_options] [retention_options] [compression_options] [connection_options] - [remote_options] [dss_options] [pinning_options] [s3_options][--backup-pg-replslot] - [--help] - ``` - -- 从备份目录_backup-path_中的备份副本恢复指定实例。如果指定了恢复目标选项,gs\_probackup将查找最近的备份并将其还原到指定的恢复目标。否则,使用最近一次备份。 - - ``` - gs_probackup restore -B backup-path --instance=instance_name - [-D pgdata-path] [-i backup_id] [-j threads_num] [--progress] [--force] [--no-sync] [--no-validate] [--skip-block-validation] - [--external-mapping=OLDDIR=NEWDIR] [-T OLDDIR=NEWDIR] [--skip-external-dirs] [-I incremental_mode] - [recovery_options] [remote_options] [dss_options] [logging_options] [s3_options] - [--help] - ``` - -- 将指定的增量备份与其父完全备份之间的所有增量备份合并到父完全备份。父完全备份将接收所有合并的数据,而已合并的增量备份将作为冗余被删除。 - - ``` - gs_probackup merge -B backup-path --instance=instance_name -i backup_id - [-j threads_num] [--progress] [logging_options] - [--help] - ``` - -- 删除指定备份,或删除不满足当前保留策略的备份。 - - ``` - gs_probackup delete -B backup-path --instance=instance_name - [-i backup-id | --delete-expired | --merge-expired | --status=backup_status] - [--delete-wal] [-j threads_num] [--progress] - [--retention-redundancy=retention-redundancy] [--retention-window=retention-window] - [--wal-depth=wal-depth] [--dry-run] - [logging_options] [s3_options] - [--help] - ``` - -- 验证恢复数据库所需的所有文件是否存在且未损坏。如果未指定_instance\_name_,gs\_probackup将验证备份目录中的所有可用备份。如果指定_instance\_name_而不指定任何附加选项,gs\_probackup将验证此备份实例的所有可用备份。如果指定了_instance\_name_并且指定_backup-id_或恢复目标相关选项,gs\_probackup将检查是否可以使用这些选项恢复数据库。 - - ``` - gs_probackup validate -B backup-path - [--instance=instance_name] [-i backup-id] - [-j threads_num] [--progress] [--skip-block-validation] - [--recovery-target-time=time | --recovery-target-xid=xid | --recovery-target-lsn=lsn | --recovery-target-name=target-name] - [--recovery-target-inclusive=boolean] - [logging_options] [s3_options] - [--help] - ``` - -### 参数说明 - -**通用参数** - -- command - - gs\_probackup除version和help以外的子命令:init、add-instance、del-instance、set-config、set-backup、show-config、show、backup、restore、merge、delete、validate。 - -- -?, --help - - 显示gs\_probackup命令行参数的帮助信息,然后退出。 - - 子命令中只能使用--help,不能使用-?。 - -- -V, --version - - 打印gs\_probackup版本,然后退出。 - -- -B _backup-path_, --backup-path=_backup-path_ - - 备份的路径。 - - 系统环境变量:$BACKUP\_PATH - -- -D _pgdata-path_, --pgdata=_pgdata-path_ - - 数据目录的路径。 - - 系统环境变量:$PGDATA - -- --instance=_instance\_name_ - - 实例名。 - -- -i _backup-id_, --backup-id=_backup-id_ - - 备份的唯一标识。 - -- --format=_format_ - - 指定显示备份信息的格式,支持plain和json格式。 - - 默认值:plain - -- --status=_backup\_status_ - - 删除指定状态的所有备份,包含以下状态: - - - OK:备份已完成且有效。 - - DONE:备份已完成但未经过验证。 - - RUNNING:备份正在进行中。 - - MERGING:备份正在合并中。 - - DELETING:备份正在删除中。 - - CORRUPT:部分备份文件已损坏。 - - ERROR:由于意外错误,备份失败。 - - ORPHAN:由于其父备份之一已损坏或丢失,备份无效。 - -- -j _threads\_num_, --threads=_threads\_num_ - - 设置备份、还原、合并进程的并行线程数。 - -- --archive - - 显示WAL归档信息。 - -- --progress - - 显示进度。 - -- --note=_text_ - - 给备份添加note。 - -**资源池化模式下添加实例相关参数** - -- --enable-dss - - 开启资源池化模式。当输入包含vgname时,会自动开启该参数。 - -- --instance-id - - 数据库节点id号,因为资源池化模式只支持主机备份,因此该参数一般为0。 - -- --vgname - - 资源池化模式下数据库使用的卷的卷名。 - -- --socketpath - - dss进程socket文件路径,可不指定,默认值为$DSS_HOME/.dss_unix_d_socket。 - -**备份相关参数** - -- -b _backup-mode_, --backup-mode=_backup-mode_ - - 指定备份模式,支持FULL和PTRACK。 - - FULL:创建全量备份,全量备份包含所有数据文件。 - - PTRACK:创建PTRACK增量备份。 - -- -C, --smooth-checkpoint - - 将检查点在一段时间内展开。默认情况下,gs\_probackup会尝试尽快完成检查点。 - -- -S _slot-name_, --slot=_slot-name_ - - 指定WAL流处理的复制slot。 - -- --temp-slot - - 在备份的实例中为WAL流处理创建一个临时物理复制slot,它确保在备份过程中,所有所需的WAL段仍然是可用的。 - - 默认的slot名为pg\_probackup\_slot,可通过选项--slot/-S更改。 - -- --backup-pg-log - - 将日志目录包含到备份中。此目录通常包含日志消息。默认情况下包含日志目录,但不包含日志文件。如果修改了默认的日志路径,需要备份日志文件时可使用-E参数进行备份,使用方法见下文。 - -- -E _external-directories-paths_, --external-dirs=_external-directories-paths_ - - 将指定的目录包含到备份中。此选项对于备份位于数据目录外部的脚本、sql转储和配置文件很有用。如果要备份多个外部目录,请在Unix上用冒号分隔它们的路径。目前只支持指定文件系统中的目录,不支持指定共享存储中的目录。 - - 例如:-E /tmp/dir1:/tmp/dir2 - -- --skip-block-validation - - 关闭块级校验,加快备份速度。 - -- --no-validate - - 在完成备份后跳过自动验证。 - -- --no-sync - - 不将备份文件同步到磁盘。 - -- --archive-timeout=_timeout_ - - 以秒为单位设置流式处理的超时时间。 - - 默认值:300 - -- -t rwtimeout - - 以秒为单位的连接的超时时间。 - - 默认值: 120 - - -**恢复相关参数** - -- -I, --incremental-mode=none|checksum|lsn - - 若PGDATA中可用的有效页没有修改,则重新使用它们。 - - 默认值:none - -- --external-mapping=_OLDDIR=NEWDIR_ - - 在恢复时,将包含在备份中的外部目录从_OLDDIR_重新定位到_NEWDIR_目录。_OLDDIR_和_NEWDIR_都必须是绝对路径。如果路径中包含“=”,则使用反斜杠转义。此选项可为多个目录多次指定。目前只支持指定文件系统中的目录,不支持指定共享存储中的目录。 - -- -T _OLDDIR=NEWDIR_, --tablespace-mapping=_OLDDIR=NEWDIR_ - - 在恢复时,将表空间从_OLDDIR_重新定位到_NEWDIR_目录。_OLDDIR_和_NEWDIR_必须都是绝对路径。如果路径中包含“=”,则使用反斜杠转义。多个表空间可以多次指定此选项。此选项必须和--external-mapping一起使用。目前只支持指定文件系统中的目录,不支持指定共享存储中的目录。 - -- --skip-external-dirs - - 跳过备份中包含的使用--external-dirs选项指定的外部目录。这些目录的内容将不会被恢复。 - -- --skip-block-validation - - 跳过块级校验,以加快验证速度。在恢复之前的自动验证期间,将仅做文件级别的校验。 - -- --no-validate - - 跳过备份验证。 - -- --force - - 允许忽略备份的无效状态。如果出于某种原因需要从损坏的或无效的备份中恢复数据,可以使用此标志。请谨慎使用。 - -**恢复目标相关参数\(recovery\_options\)** - ->![](public_sys-resources/icon-note.png) **说明:** ->当前不支持配置连续的WAL归档的PITR,因而使用这些参数会有一定限制,具体如下描述。 ->如果需要使用持续归档的WAL日志进行PITR恢复,请按照下面描述的步骤: > ->1. 将物理备份的文件替换目标数据库目录。 ->2. 删除数据库目录下pg\_xlog/中的所有文件。 ->3. 将归档的WAL日志文件复制到pg\_xlog文件中(此步骤可以省略,通过配置recovery.conf恢复命令文件中的restore\_command项替代)。 ->4. 在数据库目录下创建恢复命令文件recovery.conf,指定数据库恢复的程度。 ->5. 启动数据库。 ->6. 连接数据库,查看是否恢复到希望预期的状态。若已经恢复到预期状态,通过pg\_xlog\_replay\_resume\(\)指令使主节点对外提供服务。 - -- --recovery-target-lsn=_lsn_ - - 指定要恢复到的lsn,当前只能指定备份的stop lsn。 - -- --recovery-target-name=_target-name_ - - 指定要将数据恢复到的已命名的保存点,保存点可以通过查看备份中recovery-name字段得到。 - -- --recovery-target-time=_time_ - - 指定要恢复到的时间,当前只能指定备份中的recovery-time。 - -- --recovery-target-xid=_xid_ - - 指定要恢复到的事务ID,当前只能指定备份中的recovery-xid。 - -- --recovery-target-inclusive=_boolean_ - - 当该参数指定为true时,恢复目标将包括指定的内容。 - - 当该参数指定为false时,恢复目标将不包括指定的内容。 - - 该参数必须和--recovery-target-name、--recovery-target-time、--recovery-target-lsn或--recovery-target-xid一起使用。 - - -**留存相关参数\(retention\_options\)** - ->![](public_sys-resources/icon-note.png) **说明:** ->可以和backup和delete命令一起使用这些参数。 - -- --retention-redundancy=_retention-redundancy_ - - 指定在数据目录中留存的完整备份数。必须为正整数。0表示禁用此设置。 - - 默认值:0 - -- --retention-window=_retention-window_ - - 指定留存的天数。必须为正整数。0表示禁用此设置。 - - 默认值:0 - -- --wal-depth=_wal-depth_ - - 每个时间轴上必须留存的执行PITR能力的最新有效备份数。必须为正整数。0表示禁用此设置。 - - 默认值:0 - -- --delete-wal - - 从任何现有的备份中删除不需要的WAL文件。 - -- --delete-expired - - 删除不符合pg\_probackup.conf配置文件中定义的留存策略的备份。 - -- --merge-expired - - 将满足留存策略要求的最旧的增量备份与其已过期的父备份合并。 - -- --dry-run - - 显示所有可用备份的当前状态,不删除或合并过期备份。 - -**固定备份相关参数\(pinning\_options\)** - ->![](public_sys-resources/icon-note.png) **说明:** ->如果要将某些备份从已建立的留存策略中排除,可以和backup和set-backup命令一起使用这些参数。 - -- --ttl=_interval_ - - 指定从恢复时间开始计算,备份要固定的时间量。必须为正整数。0表示取消备份固定。 - - 支持的单位:ms, s, min, h, d(默认为s)。 - - 例如:--ttl=30d。 - -- --expire-time=_time_ - - 指定备份固定失效的时间戳。必须是ISO-8601标准的时间戳。 - - 例如:--expire-time='2020-01-01 00:00:00+03' - - -**日志相关参数\(logging\_options\)** - -日志级别:verbose、log、info、warning、error和off。 - -- --log-level-console=_log-level-console_ - - 设置要发送到控制台的日志级别。每个级别都包含其后的所有级别。级别越高,发送的消息越少。指定off级别表示禁用控制台日志记录。 - - 默认值:info - -- --log-level-file=_log-level-file_ - - 设置要发送到日志文件的日志级别。每个级别都包含其后的所有级别。级别越高,发送的消息越少。指定off级别表示禁用日志文件记录。 - - 默认值:off - -- --log-filename=_log-filename_ - - 指定要创建的日志文件的文件名。文件名可以使用strftime模式,因此可以使用%-escapes指定随时间变化的文件名。 - - 例如,如果指定了“pg\_probackup-%u.log”模式,则pg\_probackup为每周的每一天生成单独的日志文件,其中%u替换为相应的十进制数字,即pg\_probackup-1.log表示星期一;pg\_probackup-2.log表示星期二,以此类推。 - - 如果指定了--log-level-file参数启用日志文件记录,则该参数有效。 - - 默认值:“pg\_probackup.log” - -- --error-log-filename=_error-log-filename_ - - 指定仅用于error日志的日志文件名。指定方式与--log-filename参数相同。 - - 此参数用于故障排除和监视。 - -- --log-directory=_log-directory_ - - 指定创建日志文件的目录。必须是绝对路径。此目录会在写入第一条日志时创建。 - - 默认值:$BACKUP\_PATH/log - -- --log-rotation-size=_log-rotation-size_ - - 指定单个日志文件的最大大小。如果达到此值,则启动gs\_probackup命令后,日志文件将循环,但help和version命令除外。0表示禁用基于文件大小的循环。 - - 支持的单位:KB、MB、GB、TB(默认为KB)。 - - 默认值:0 - -- --log-rotation-age=_log-rotation-age_ - - 单个日志文件的最大生命周期。如果达到此值,则启动gs\_probackup命令后,日志文件将循环,但help和version命令除外。$BACKUP\_PATH/log/log\_rotation目录下保存最后一次创建日志文件的时间。0表示禁用基于时间的循环。 - - 支持的单位:ms, s, min, h, d(默认为min)。 - - 默认值:0 - - -**连接相关参数\(connection\_options\)** - ->![](public_sys-resources/icon-note.png) **说明:** ->可以和backup命令一起使用这些参数。 - -- -d _dbname_, --pgdatabase=_dbname_ - - 指定要连接的数据库名称。该连接仅用于管理备份进程,因此您可以连接到任何现有的数据库。如果命令行、PGDATABASE环境变量或pg\_probackup.conf配置文件中没有指定此参数,则gs\_probackup会尝试从PGUSER环境变量中获取该值。如果未设置PGUSER变量,则从当前用户名获取。 - - 系统环境变量:$PGDATABASE - -- -h _hostname_, --pghost=_hostname_ - - 指定运行服务器的系统的主机名。如果该值以斜杠开头,则被用作到Unix域套接字的路径。 - - 系统环境变量:$PGHOST - - 默认值:local socket - -- -p _port_, --pgport=_p__ort_ - - 指定服务器正在侦听连接的TCP端口或本地Unix域套接字文件扩展名。 - - 系统环境变量:$PGPORT - - 默认值:5432 - -- -U _username_, --pguser=_username_ - - 指定所连接主机的用户名。 - - 系统环境变量:$PGUSER - -- -w, --no-password - - 不出现输入密码提示。如果主机要求密码认证并且密码没有通过其它形式给出,则连接尝试将会失败。 该选项在批量工作和不存在用户输入密码的脚本中很有帮助。 - -- -W _password_, --password=_password_ - - 指定用户连接的密码。如果主机的认证策略是trust,则不会对系统管理员进行密码验证,即无需输入-W选项;如果没有-W选项,并且不是系统管理员,则会提示用户输入密码。 - -**压缩相关参数\(compression\_options\)** - ->![](public_sys-resources/icon-note.png) **说明:** ->可以和backup命令一起使用这些参数。 - -- --compress-algorithm=_compress-algorithm_ - - 指定用于压缩数据文件的算法。 - - 取值包括zlib、pglz和none。如果设置为zlib或pglz,此选项将启用压缩。默认情况下,压缩功能处于关闭状态。 - - 默认值:none - -- --compress-level=_compress-level_ - - 指定压缩级别。取值范围:0\~9 - - - 0表示无压缩。 - - 1表示压缩比最小,处理速度最快。 - - 9表示压缩比最大,处理速度最慢。 - - 可与--compress-algorithm选项一起使用。 - - 默认值:1 - -- --compress - - 以--compress-algorithm=zlib和--compress-level=1进行压缩。 - - -**远程模式相关参数\(remote\_options\)** - ->![](public_sys-resources/icon-note.png) **说明:** ->通过SSH远程运行gs\_probackup操作的相关参数。可以和add-instance、set-config、backup、restore命令一起使用这些参数。 - -- --remote-proto=_protocol_ - - 指定用于远程操作的协议。目前只支持SSH协议。取值包括: - - ssh:通过SSH启用远程备份模式。这是默认值。 - - none:显式禁用远程模式。 - - 如果指定了--remote-host参数,可以省略此参数。 - -- --remote-host=_destination_ - - 指定要连接的远程主机的IP地址或主机名。 - -- --remote-port=_port_ - - 指定要连接的远程主机的端口号。 - - 默认值:22 - -- --remote-user=_username_ - - 指定SSH连接的远程主机用户。如果省略此参数,则使用当前发起SSH连接的用户。 - - 默认值:当前用户 - -- --remote-path=_path_ - - 指定gs\_probackup在远程系统的安装目录。 - - 默认值:当前路径 - -- --remote-libpath=_libpath_ - - 指定gs\_probackup在远程系统安装的lib库目录。 - -- --ssh-options=_ssh\_options_ - - 指定SSH命令行参数的字符串。 - - 例如:--ssh-options='-c cipher\_spec -F configfile' - - ![](public_sys-resources/icon-note.png) **说明:** - - - 如果因为网络临时故障等原因导致server端无应答,gs\_probackup将在等待archive-timeout(默认300秒)后退出。 - - - 如果备机lsn与主机有差别时,数据库会不停地刷以下log信息,此时应重新build备机。 - - ``` - LOG: walsender thread shut down - LOG: walsender thread started - LOG: received wal replication command: IDENTIFY_VERSION - LOG: received wal replication command: IDENTIFY_MODE - LOG: received wal replication command: IDENTIFY_SYSTEM - LOG: received wal replication command: IDENTIFY_CONSISTENCE 0/D0002D8 - LOG: remote request lsn/crc: [xxxxx] local max lsn/crc: [xxxxx] - ``` - -**兼容S3协议对象存储相关参数\(s3\_options\)** -- --media-type=_type_ - - 指定存储备份的介质类型。取值包括: - - s3:备份到兼容S3协议的对象存储。 - - disk:备份到磁盘,不启用备份到对象存储的功能。这是默认值。 - - 不需要备份到远程对象存储时,可以省略此参数。 - -- --access-id=_ak_ - - 开通对象存储服务后获取的 Access Key Id,用于标示用户。设置 media-type 为 s3 时不可为空。 - -- --access-key=_sk_ - - 开通对象存储服务后获取的 Secret Access Key,用于验证用户身份的密钥。设置 media-type 为 s3 时不可为空。 - -- --access-bucket=_bucket_ - - 用户在对象存储上创建的桶的名字。设置 media-type 为 s3 时不可为空。 - -- --endpoint=_endpoint_ - - 访问兼容S3协议对象存储的访问域名,可以是 ip:port 的形式。设置 media-type 为 s3 时不可为空。 - -- --region=_region_ - - 对象存储服务的地理区域,可选参数。值可以为空。 - -- --s3-status=_status_ - - 当前备份集的状态,取值包括: - - s3:备份集位于兼容S3协议的对象存储服务器上,此时执行restore/validate子命令将从对象存储下载回备份集文件。 - - local:备份集已从对象存储下载回本地,此时执行restore/validate子命令将优先读取本地文件,如果本地文件不能正常恢复/验证将会报错。 - - unknown:未设置 media-type 为 s3 时进行备份的备份集状态,无实际意义。 - - 可通过set-backup子命令进行设置,通过show子命令查看。 - -### 备份流程 - ->![](public_sys-resources/icon-note.png) **说明:** ->该备份流程为非资源池化模式下备份流程,资源池化模式下备份流程参考[gs_probackup](../ToolandCommandReference/gs_probackup.md)。 - -1. 初始化备份目录。在指定的目录下创建backups/和wal/子目录,分别用于存放备份文件和WAL文件。 - - ``` - gs_probackup init -B backup_dir - ``` - >![](public_sys-resources/icon-notice.png) **注意:** - >在非资源池化模式下,虽然指定目录下会创建wal子目录,但WAL文件(即pg_xlog文件)会存放在backups目录下。 - -2. 添加一个新的备份实例。gs\_probackup可以在同一个备份目录下存放多个数据库实例的备份。 - - ``` - gs_probackup add-instance -B backup_dir -D data_dir --instance instance_name - ``` - -3. 创建指定实例的备份。在进行增量备份之前,必须至少创建一次全量备份。 - - ``` - gs_probackup backup -B backup_dir --instance instance_name -b backup_mode - ``` - -4. 从指定实例的备份中恢复数据。 - - ``` - gs_probackup restore -B backup_dir --instance instance_name -D pgdata-path -i backup_id - ``` - >![](public_sys-resources/icon-notice.png) **须知:** - >在恢复备份前,必须先停止gaussdb进程,并且将原始实例目录(参数-D后面的目录)下面的内容清空。 - >使用restore子命令前,应先停止gaussdb进程。 - -### 故障处理 - - +>- recovery\_target\_name、recovery\_target\_time、recovery\_target\_xid、recovery\_target\_lsn这四个配置项仅同时支持一项。 +> +>- 如果不配置任何恢复目标,或配置目标不存在,则默认恢复到最新的WAL日志点。 - - - - - - - - -

问题描述

-

原因和解决方案

-

ERROR: query failed: ERROR: canceling statement due to conflict with recovery

-

(错误:查询失败:由于与恢复操作冲突,正在取消语句命令)

-

原因:在备机上执行的操作正在访问存储行,主机上更改或者删除了对应的行,并将xlog在备机上重放,迫使备机上操作取消。

-

解决方案:

-

1. 适当增加如下配置参数的值

-

max_standby_archive_delay

-

max_standby_streaming_delay

-

2. 增加如下配置

-

hot_standby_feedback = on

-
diff --git a/content/zh/docs/ToolandCommandReference/gs_backup.md b/content/zh/docs/ToolandCommandReference/gs_backup.md index 82df49fde..02645c118 100644 --- a/content/zh/docs/ToolandCommandReference/gs_backup.md +++ b/content/zh/docs/ToolandCommandReference/gs_backup.md @@ -9,6 +9,7 @@ openGauss部署成功后,在数据库运行的过程中,会遇到各种问 - 可以正常连接openGauss数据库。 - 在进行还原时,需要保证各节点备份目录中存在备份文件。 - 需以操作系统用户omm执行gs\_backup命令。 +- 关于物理备份与恢复的更多说明,请参考[物理备份与恢复](../DatabaseOMGuide/物理备份与恢复.md)。 ## 语法 @@ -46,7 +47,7 @@ gs\_backup参数可以分为如下几类: 指定存储备份文件的主机名称。 - 取值范围:主机名称。如果不指定主机名称,则备份当前集群。 + 取值范围:主机名称。如果不指定主机名称,则备份当前数据库实例。 - --backup-dir=BACKUPDIR @@ -90,7 +91,7 @@ gs\_backup参数可以分为如下几类: 恢复二进制文件。 - - --all + - --all 恢复二进制和参数文件。 @@ -102,7 +103,7 @@ gs\_backup参数可以分为如下几类: - --force - 节点的静态文件丢失之后强行restore,仅限--all或者--binary参数使用时才生效。 + 节点的静态文件丢失之后强行restore,仅限--all或者--binary参数一起使用时才生效。 @@ -125,25 +126,28 @@ gs\_backup参数可以分为如下几类: ## 示例 -- 使用gs\_backup脚本备份数据库主机。 - - ``` - gs_backup -t backup --backup-dir=/opt/software/gaussdb/backup_dir -h plat1 --parameter - Parsing configuration files. - Successfully parsed the configuration file. - Performing remote backup. - Remote backup succeeded. - Successfully backed up cluster files. - ``` - -- 使用gs\_backup脚本恢复数据库主机。 - - ``` - gs_backup -t restore --backup-dir=/opt/software/gaussdb/backup_dir -h plat1 --parameter - Parsing configuration files. - Successfully parsed the configuration file. - Performing remote restoration. - Successfully restored cluster files. - ``` +- 使用gs\_backup脚本备份数据库主机。 + + ``` + gs_backup -t backup --backup-dir=/opt/software/gaussdb/backup_dir -h plat1 --parameter + Backing up openGauss. + Parsing configuration files. + Successfully parsed the configuration file. + Performing remote backup. + Remote backup succeeded. + Successfully backed up openGauss. + ``` + +- 使用gs\_backup脚本恢复数据库主机。 + + ``` + gs_backup -t restore --backup-dir=/opt/software/gaussdb/backup_dir -h plat1 --parameter + Restoring openGauss. + Parsing the configuration file. + Successfully parsed configuration files. + Performing remote restoration. + Remote restoration succeeded. + Successfully restored openGauss. + ``` diff --git a/content/zh/docs/ToolandCommandReference/gs_basebackup.md b/content/zh/docs/ToolandCommandReference/gs_basebackup.md index 3f34d49db..48c676ff2 100644 --- a/content/zh/docs/ToolandCommandReference/gs_basebackup.md +++ b/content/zh/docs/ToolandCommandReference/gs_basebackup.md @@ -9,11 +9,11 @@ gs\_basebackup工具支持MySQL兼容性。(仅限于3.0.0,3.1.0,3.1.1的M gs\_basebackup工具支持打印进度,会根据已经传输完成的文件大小比上需要传输的总文件大小进行进度打印。 >![](public_sys-resources/icon-note.png) **说明:** - +> >- gs\_basebackup仅支持主机和备机的全量备份,不支持增量。 >- gs\_basebackup当前支持热备份模式和压缩格式备份模式。 ->- 若打开增量检测点功能且打开双写,gs\_basebackup也会备份双写文件。 >- gs\_basebackup在备份包含绝对路径的表空间时,如果在同一台机器上进行备份,可以通过tablespace-mapping重定向表空间路径或使用归档模式进行备份。 +>- 若打开增量检测点功能且打开双写,gs\_basebackup也会备份双写文件。 >- 若pg\_xlog目录为软链接,备份时将不会建立软链接,会直接将数据备份到目的路径的pg\_xlog目录下。 >- 备份过程中收回用户备份权限,可能导致备份失败或者备份数据不可用。 >- 如果因为网络临时故障等原因导致Server端无法应答,gs\_basebackup将在最长等待120秒后退出。 @@ -26,6 +26,7 @@ gs\_basebackup工具支持打印进度,会根据已经传输完成的文件大 - 如果xlog传输模式为stream模式,需要配置max\_wal\_senders的数量,至少有一个可用。 - 如果xlog传输模式为fetch模式,有必要把wal_keep_segments参数设置得足够高,这样在备份末尾之前日志不会被移除。 - 在进行还原时,需要保证各节点备份目录中存在备份文件,若备份文件丢失,则需要从其他节点进行拷贝。 +- 关于物理备份与恢复的更多说明,请参考[物理备份与恢复](../DatabaseOMGuide/物理备份与恢复.md)。 ## 语法 diff --git a/content/zh/docs/ToolandCommandReference/gs_probackup.md b/content/zh/docs/ToolandCommandReference/gs_probackup.md index b3c58a4c6..a1dfb1cbe 100644 --- a/content/zh/docs/ToolandCommandReference/gs_probackup.md +++ b/content/zh/docs/ToolandCommandReference/gs_probackup.md @@ -17,7 +17,7 @@ gs\_probackup目前支持进度打印,会分别在文件备份、文件验证 - 可以正常连接openGauss数据库。 - 若要使用PTRACK增量备份,需在postgresql.conf中手动添加参数“enable\_cbm\_tracking = on”或通过gs\_guc工具进行设置。 -- 为了防止xlog在传输结束前被清理,请适当调高postgresql.conf文件中wal_keep_segements的值。 +- 为了防止xlog在传输结束前被清理,请适当调高postgresql.conf文件中wal_keep_segments的值。 ## 限制说明 @@ -27,7 +27,7 @@ gs\_probackup目前支持进度打印,会分别在文件备份、文件验证 - 远程模式下只能执行add-instance、backup、restore子命令。 - 使用restore子命令前,应先停止gaussdb进程。 - 在非资源池化模式下,当存在用户自定义表空间时,如果该表空间的路径不在PGDATA目录下,备份的时候要加上 --external-dirs 参数,否则,该表空间不会被备份;在资源池化模式下,当前只支持相对路径表空间,因此存在自定义表空间时不需要指定 --external-dir 参数。 -- 当备份的规模比较大或在备份同时执行业务时,为了防止备份过程中timeout发生,请适当调整postgresql.conf文件的参数 session\_timeout、wal\_sender\_timeout。并且在备份的命令行参数中适当调整参数rw-timeout的值。 +- 当备份的规模比较大或在备份同时执行业务时,为了防止备份过程中timeout发生,请适当调整postgresql.conf文件的参数 session\_timeout、wal\_sender\_timeout。并且在备份的命令行参数中适当调整参数--rw-timeout的值。 - 资源池化模式下,恢复到不同集群需先执行全量恢复。 - 增量备份恢复后,之前创建的非pgoutput插件的逻辑复制槽不可用,需删除重建。 - 恢复时,使用-T选项把备份中的外部目录重定向到新目录时,请同时指定参数--external-mapping。 @@ -39,6 +39,7 @@ gs\_probackup目前支持进度打印,会分别在文件备份、文件验证 - 备份将执行checkpoint与xlog switch操作,此行为将产生新的xlog,并提交事务。一主一备或一主多备场景备份时,若配置文件中synchronous_commit设置为on,备机关停可能会导致主机同步提交事务失败,进而导致备份失败。此场景下,请确认各节点状态正常,或将synchronous_commit设置为off以避免备份失败。 - 在开启enable_cbm_tracking后,不能直接执行增量备份,需要先执行全量备份,即使在开启参数之前已经执行过全量备份。 - 备份到兼容S3协议的对象存储时,请确保对象存储服务已经开通,可以获取到ak和sk,并且已经创建好bucket。备份到对象存储特性目前不支持执行merge子命令。 +- 关于物理备份与恢复的更多说明,请参考[物理备份与恢复](../DatabaseOMGuide/物理备份与恢复.md)。 ## 功能说明 @@ -78,8 +79,7 @@ gs\_probackup工具的主要功能如下: - 若未指定-D选项,则默认为数据库原始数据目录$PGDATA ``` - gs_probackup add-instance -B backup-path --instance=instance_name - [-D pgdata-path] + gs_probackup add-instance -B backup-path -D pgdata-path --instance=instance_name [-E external-directories-paths] [remote_options] [dss_options] [s3_options] [--help] @@ -754,7 +754,7 @@ gs\_probackup工具的主要功能如下: gs_probackup restore -B backup-path --instance instance_name -D pgdata-path -i backup_id ``` >![](public_sys-resources/icon-notice.png) **须知:** - >在恢复备份时,必须先将原始实例目录(参数-D后面的目录)下面的内容清空。 + >在恢复备份前,必须先将原始实例目录(参数-D后面的目录)下面的内容清空。 >使用restore子命令前,应先停止gaussdb进程。 -- Gitee