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" new file mode 100644 index 0000000000000000000000000000000000000000..da87748520fa9ca3957abe21cfd3bf1d49e1a46b --- /dev/null +++ "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" @@ -0,0 +1,41 @@ +# 资源池化XLOG支持归档 + +## 特性简介 + +本特性实现资源池化单集群XLOG支持归档,支持备份恢复及通过归档的XLOG进行PITR恢复。 + +## 可获得性 + +本特性自openGauss 7.0.0-RC1版本开始引入。 + +## 客户价值 + +提升资源池化单集群场景下的可维护性,提升集群的稳定性和可靠性。 + +## 特性描述 + +在资源池化单集群场景下,开启归档相关参数后,XLOG会持续进行归档操作。当发生故障后,可以通过gs_probackup工具和归档的XLOG进行PITR恢复。 + +## 特性增强 + +无。 + +## 特性约束 + +- 本特性仅适用于资源池化单集群日志合一场景。 +- 本特性仅支持主节点开启归档参数,进行归档操作。 +- 本特性不会检测已归档的XLOG是否还有存在价值,若出现归档路径的盘空间满,则归档会停止直到归档路径盘存在可用空间(>1G,因为资源池化环境下的XLOG文件规格是1G),因此需要用户自行进行归档的XLOG维护清理。 + +## 依赖关系 + +无。 + +## 基本原理 + +在资源池化环境下,XLOG存储在共享日志盘内,原本的cp命令无法对共享盘进行操作,目前已进行了适配修改,使得在配置归档相关参数后,将共享日志盘内的XLOG进行归档且在共享日志盘内生成XLOG归档的状态文件。由于进行PITR恢复时的前提条件,一是基于物理备份的全量数据文件,二是基于已归档的XLOG,因此此前是无法进行PITR恢复的。目前已可以通过归档的XLOG进行PITR恢复。 + +## 使用指导 + +XLOG归档部分仅archive\_command参数配置与传统主备有差异,其余参数配置限制与传统主备一致。参考[归档](../DatabaseReference/归档.md)使用指导。 + +PITR恢复部分参考[gs_probackup](../ToolandCommandReference/gs_probackup.md)使用指导 diff --git "a/content/zh/docs/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\217\257\347\273\264\346\212\244\346\200\247\345\242\236\345\274\272.md" "b/content/zh/docs/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\217\257\347\273\264\346\212\244\346\200\247\345\242\236\345\274\272.md" index 1bd742e75106ee19ad1ca4553e9fc13a27d874ac..65a20a2eb3415c4c3472d3a52efbee8ae091d862 100644 --- "a/content/zh/docs/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\217\257\347\273\264\346\212\244\346\200\247\345\242\236\345\274\272.md" +++ "b/content/zh/docs/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\217\257\347\273\264\346\212\244\346\200\247\345\242\236\345\274\272.md" @@ -4,4 +4,5 @@ - **[DMS资源统计函数](DMS资源统计函数.md)** - **[gs_probackup适配资源池化](gs_probackup适配资源池化.md)** - **[cm支持双集群备集群switchover](cm支持双集群备集群switchover.md)** -- **[资源池化支持主备参数同步.md](资源池化支持主备参数同步.md)** \ No newline at end of file +- **[资源池化支持主备参数同步](资源池化支持主备参数同步.md)** +- **[资源池化XLOG支持归档](资源池化XLOG支持归档.md)** \ No newline at end of file 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 d593a0bc7002e450ce0da4fc7b81055233235b43..1672e3406adf6a2ec0bd5d31fe29181269ba645e 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" @@ -431,7 +431,7 @@ recovery_target_lsn = '0/0FFFFFF' - recovery\_target\_inclusive = boolean -声明是否在指定恢复目标(true)之后停止,或在这(false)之前停止。改声明仅支持恢复目标为recovery\_target\_time、recovery\_target\_xid和recovery\_target\_lsn的配置。 +声明是否在指定恢复目标(true)之后停止,或在这(false)之前停止。该声明仅支持恢复目标为recovery\_target\_time、recovery\_target\_xid和recovery\_target\_lsn的配置。 示例: diff --git "a/content/zh/docs/DatabaseReference/\345\275\222\346\241\243.md" "b/content/zh/docs/DatabaseReference/\345\275\222\346\241\243.md" index f8d7ebc8aa24ec60ff45616f09348cfd09f74fe6..88474bf62f488523850e4758c6be9ebd9429091c 100644 --- "a/content/zh/docs/DatabaseReference/\345\275\222\346\241\243.md" +++ "b/content/zh/docs/DatabaseReference/\345\275\222\346\241\243.md" @@ -40,6 +40,11 @@ > --归档命令如下。 > archive_command='sh dir/test.sh %p %f' > ``` +>- 若为资源池化单集群日志合一场景时,该参数配置示例如下: +> ``` +> archive_command = 'dsscmd cp -s %p -d /mnt/server/archivedir/%f' +> ``` +>- /mnt/server/archivedir/为想要XLOG归档的路径,必须为绝对路径。 **取值范围**:字符串 @@ -82,7 +87,7 @@ ## archive\_interval -**参数说明**: 表示归档间隔时间。 +**参数说明**: 表示OBS归档间隔时间,。 该参数属于SIGHUP类型参数,请参考[表1](../DatabaseAdministrationGuide/重设参数.md#zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 diff --git a/content/zh/docs/ToolandCommandReference/dsscmd.md b/content/zh/docs/ToolandCommandReference/dsscmd.md index 8d6f6d28af10ad544f9c7923231da3db67947e4a..97f0424e710c5d59602c725989efad815a827eeb 100644 --- a/content/zh/docs/ToolandCommandReference/dsscmd.md +++ b/content/zh/docs/ToolandCommandReference/dsscmd.md @@ -113,7 +113,7 @@ openGauss部署资源池化模式且开启ss\_enable\_dss功能情况下,经 ``` dsscmd cp <-s src_file> <-d dest_file> [-U UDS:socket_domain] ``` - 此处的src_file和dest_file为带路径的文件名,使用限制参考“参数说明”部分的path。 + 此处的src_file和dest_file为带路径的文件名,可以为共享盘中的文件(需要带'+'),也可以为文件系统的文件(不需要带'+'),均不支持使用相对路径。 - 截断卷组文件 ``` diff --git a/content/zh/docs/ToolandCommandReference/gs_probackup.md b/content/zh/docs/ToolandCommandReference/gs_probackup.md index e4d68c4c1f357955319ff229036395f970485965..5e01a321070eb7bd08b4fc579700c16c9098138b 100644 --- a/content/zh/docs/ToolandCommandReference/gs_probackup.md +++ b/content/zh/docs/ToolandCommandReference/gs_probackup.md @@ -770,7 +770,7 @@ gs\_probackup工具的主要功能如下: 2. 添加一个新的备份实例。 ``` - gs_probackup add-instance -B backup-path -D pgdata-path --instance instance_name --enable-dss --vgname="vgdata,vglog" --socketpath=socket_domain + gs_probackup add-instance -B backup-path -D pgdata-path --instance instance_name --enable-dss --vgname="vgdata,vglog" [--socketpath=socket_domain] ``` **说明:** pgdata-path为数据库在文件系统中的数据目录,instance_name为用户指定的备份实例名,--enable-dss参数代表所添加的备份实例对应的数据库为资源池化模式,vgdata和vglog分别代表资源池化的数据目录和日志目录(例如--vgname="+data,+log",其中+data为资源池化的数据目录,+log为资源池化的日志目录),socket_domain为dss实例进程使用的socket文件路径,仅支持绝对路径。 @@ -882,6 +882,103 @@ gs\_probackup工具的主要功能如下: cm_ctl start ``` +## cm工具管理集群PITR恢复流程(资源池化模式) + +>![](public_sys-resources/icon-note.png) **说明:** +> +>- 基于已归档的XLOG。 +>- 基于经过物理备份的全量数据文件。 + +1. 执行cm_ctl stop关闭集群。(当出现故障后,停止数据库进程kill -9 xxx(gaussdb的pid)) + + ``` + cm_ctl stop + ``` + +2. 使用dd命令清空磁阵(清空磁阵前2M内容磁阵便可以被清空)。 + + ``` + dd if=/dev/zero of=/dev/disk_name bs=2048 count=1000 > /dev/null 2>&1 + + 示例: + 假如当前dss_vg_conf.ini文件的内容如下(环境为一主一备): + data:/dev/user_dss_data + log:/dev/user_dss_log + 对应清空磁阵操作如下: + dd if=/dev/zero of=/dev/user_dss_data bs=2048 count=1000 > /dev/null 2>&1 + dd if=/dev/zero of=/dev/user_dss_log bs=2048 count=1000 > /dev/null 2>&1 + ``` + **说明:** of后面的参数可以进入$DSS_HOME的cfg目录,在dss_vg_conf.ini文件中查看每个卷对应磁盘,这里需要清空该文件中的所有主备对应的数据和日志磁盘。 + +3. 使用dsscmd cv命令建卷。 + + ``` + dsscmd cv -g data -v /dev/disk_name -D $DSS_HOME + + 示例: + 假如当前dss_vg_conf.ini文件的内容如下(环境为一主一备): + data:/dev/user_dss_data + log:/dev/user_dss_log + 对应建卷操作如下: + dsscmd cv -g data -v /dev/user_dss_data -D $DSS_HOME + dsscmd cv -g log -v /dev/user_dss_log -D $DSS_HOME + ``` + **说明:** -v后面的参数是每个卷对应磁盘,在dss_vg_conf.ini文件中查看。 + +4. 将主机的dn目录中的如下文件拷贝出来(当要恢复的集群相对于备份来讲重新安装过或者不是原来的集群,需要执行该操作,否则跳过)。 + + ``` + cacert.pem server.crt server.key server.key.cipher server.key.rand postgresql.conf pg_hba.conf + ``` + **说明:** 当要恢复的集群相对于备份来讲重新安装过或者不是原来的集群时,集群之间用于认证的证书会发生变化,因此需要将当前集群的拷贝下来防止恢复后被备份文件中的证书覆盖导致无法和备机通信。 + +5. 清空主机的dn目录,启动dssserver。 + + ``` + rm -rf primary_dir/* + dssserver -M -D $DSS_HOME & + ``` + +6. 在主机执行全量恢复操作。 + + ``` + gs_probackup restore -B backup-path --instance instance_name -D pgdata-path -i backup_id + kill -9 xxx(dssserver的pid) 或 dsscmd stopdss + ``` + **说明:** 确保dssserver进程关闭后再执行后续操作 + +7. 当要恢复的集群相对于备份来讲重新安装过或者不是原来的集群时,将步骤7拷贝的的文件覆盖到恢复的主机dn目录,否则跳过。 + +8. 进入主机恢复后的dn目录,创建恢复配置文件recovery.conf,指定数据库恢复的程度。 + + ``` + vim recovery.conf + ``` + recover.conf里至少需要包括以下内容: + > restore_command = 'dsscmd cp -s /mnt/server/archivedir/%f -d %p' + > + > recovery_target_name = 'target_name' + > + > recovery_target_time = 'time' + > + > recovery_target_xid = 'xid' + > + > recovery_target_lsn = 'lsn' + > + > recovery_target_inclusive = boolean + > + > pause_at_recovery_target = boolean + > + >- restore_command:该参数是将归档的XLOG复制到pg_xlog文件中,此参数不支持加--remove-destination,/mnt/server/archivedir为归档的XLOG路径。 + >- 上述参数其中recovery_target_name、recovery_target_time、recovery_target_xid、recovery_target_lsn参数仅支持同时设置一个。 + >- recovery_target_inclusive:该参数必须和recovery_target_name、recovery_target_time、recovery_target_xid、recovery_target_lsn参数一起使用 + >- pause_at_recovery_target:若回放模式为串行或并行回放,该参数必须设置为false,其余回放模式可以不设置。参考[资源池化高可用系统配置的回放方式](../DatabaseOMGuide/资源池化高可用系统配置.md)确定当前回放模式或配置回放模式。 + +9. 启动资源池化集群。 + + ``` + cm_ctl start + ``` ## 故障处理 diff --git a/content/zh/menu/index.md b/content/zh/menu/index.md index 99b09de249c853a5137680e4d8ba88b8835b58c0..c740e256441d06f5018d94486b7f085fc501fdfb 100644 --- a/content/zh/menu/index.md +++ b/content/zh/menu/index.md @@ -113,6 +113,7 @@ headless: true - [gs_probackup适配资源池化]({{< relref "./docs/AboutopenGauss/gs_probackup适配资源池化.md" >}}) - [cm支持双集群备集群switchover]({{< relref "./docs/AboutopenGauss/cm支持双集群备集群switchover.md" >}}) - [资源池化支持主备参数同步]({{< relref "./docs/AboutopenGauss/资源池化支持主备参数同步.md" >}}) + - [资源池化XLOG支持归档]({{< relref "./docs/AboutopenGauss/资源池化XLOG支持归档.md" >}}) - [在线reform]({{< relref "./docs/AboutopenGauss/在线reform.md" >}}) - [MES worker线程池化]({{< relref "./docs/AboutopenGauss/MES-worker线程池化.md" >}}) - [企业级特性]({{< relref "./docs/AboutopenGauss/企业级特性.md" >}}) diff --git "a/sphinx/source/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\217\257\347\273\264\346\212\244\346\200\247\345\242\236\345\274\272.rst" "b/sphinx/source/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\217\257\347\273\264\346\212\244\346\200\247\345\242\236\345\274\272.rst" index 2fd872c1552a62ca85b63f4b541e148fbe0e0a10..77caa730e6b92a3e557e42aa92ef3f8f65b3e5a8 100644 --- "a/sphinx/source/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\217\257\347\273\264\346\212\244\346\200\247\345\242\236\345\274\272.rst" +++ "b/sphinx/source/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\217\257\347\273\264\346\212\244\346\200\247\345\242\236\345\274\272.rst" @@ -7,4 +7,5 @@ ../content/zh/docs/AboutopenGauss/DMS资源统计视图 ../content/zh/docs/AboutopenGauss/gs_probackup适配资源池化 ../content/zh/docs/AboutopenGauss/cm支持双集群备集群switchover - ../content/zh/docs/AboutopenGauss/资源池化支持主备参数同步 \ No newline at end of file + ../content/zh/docs/AboutopenGauss/资源池化支持主备参数同步 + ../content/zh/docs/AboutopenGauss/资源池化XLOG支持归档 \ No newline at end of file