From f47793a0d96329cb5c7d218524acdb70dff4efe4 Mon Sep 17 00:00:00 2001 From: liuzhanfeng2 Date: Tue, 21 Nov 2023 19:55:31 +0800 Subject: [PATCH] =?UTF-8?q?gs=5Fprobackup=E5=85=A8=E9=87=8F=E5=A4=87?= =?UTF-8?q?=E4=BB=BD=E6=B5=81=E7=A8=8B=E7=AE=80=E5=8C=96=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...00\345\214\226\350\204\232\346\234\254.md" | 111 ++++++++++++++++++ ...32\346\234\254\344\273\213\347\273\215.md" | 0 2 files changed, 111 insertions(+) create mode 100644 "app/zh/blogs/liuzhanfeng/gs_probackup\345\205\250\351\207\217\346\201\242\345\244\215\346\265\201\347\250\213\347\256\200\345\214\226\350\204\232\346\234\254.md" rename "app/zh/blogs/liuzhanfeng/\350\265\204\346\272\220\346\261\240\345\214\226\346\250\241\346\213\237\347\216\257\345\242\203\351\203\250\347\275\262\350\204\232\346\234\254\344\273\213\347\273\215" => "app/zh/blogs/liuzhanfeng/\350\265\204\346\272\220\346\261\240\345\214\226\346\250\241\346\213\237\347\216\257\345\242\203\351\203\250\347\275\262\350\204\232\346\234\254\344\273\213\347\273\215.md" (100%) diff --git "a/app/zh/blogs/liuzhanfeng/gs_probackup\345\205\250\351\207\217\346\201\242\345\244\215\346\265\201\347\250\213\347\256\200\345\214\226\350\204\232\346\234\254.md" "b/app/zh/blogs/liuzhanfeng/gs_probackup\345\205\250\351\207\217\346\201\242\345\244\215\346\265\201\347\250\213\347\256\200\345\214\226\350\204\232\346\234\254.md" new file mode 100644 index 00000000..a236f039 --- /dev/null +++ "b/app/zh/blogs/liuzhanfeng/gs_probackup\345\205\250\351\207\217\346\201\242\345\244\215\346\265\201\347\250\213\347\256\200\345\214\226\350\204\232\346\234\254.md" @@ -0,0 +1,111 @@ +--- +title: 'gs_probackup全量恢复流程简化脚本' +date: '2023-11-20' +category: 'blog' +tags: ['openGauss使用增强'] +archives: '2023-07' +author: 'liuzhanfeng' +summary: 'gs_probackup全量恢复流程简化脚本' +img: '' +times: '20:37' +--- + +# gs\_probackup + +### 简介 + +gs_probackup是一个用于管理openGauss数据库备份和恢复的工具。可以对openGauss数据库进行备份,以便在数据库出现故障时能够恢复服务器。 + +**说明:** 工具详细的介绍与使用情况请参考官方文档。 + +在资源池化模式下进行全量恢复时,由于步骤繁琐,很容易出现问题,因此编写脚本简化全量恢复的流程。 + +### 脚本如下 + +**说明:** 脚本中未添加异常情况检验,使用时可自行添加。 + +1. 在关闭集群后,主节点执行脚本做恢复前的准备工作。 + + ``` + #!/bin/bash + + config_path=$DSS_HOME/cfg/dss_vg_conf.ini + + echo "cleaning volumn" + while IFS=':' read -r vgname diskname + do + dd if=/dev/zero of=$diskname bs=2048 count=1000 > /dev/null 2>&1 + done < "$config_path" + echo "successfully clean volumn" + + echo "creating volumn" + while IFS=':' read -r vgname diskname + do + dsscmd cv -g $vgname -v $diskname -D $DSS_HOME + done < "$config_path" + echo "successfully create volumn" + + echo "deleting PGDATA" + rm -rf $PGDATA + echo "successfully delete PGDATA" + + echo "starting dssserver" + dssserver -M -D $DSS_HOME & + echo "successfully start dssserver" + ``` + +2. 在主机执行恢复操作。 + + ``` + gs_probackup restore -B backup-path --instance instance_name -D pgdata-path -i backup_id + ``` + +3. 关闭dssserver。 + + ``` + kill -9 xxx(dssserver的pid) 或 dsscmd stopdss + ``` + +4. 在备节点执行脚本。 + + ``` + #!/bin/bash + + echo "copy PGDATA" + cd $PGDATA + cd .. + path=$(pwd) + dn=$(basename "$PGDATA") + mv ${dn} ${dn}_bak + echo "successfully copy PGDATA" + + echo "starting dssserver" + dssserver -M -D $DSS_HOME & + sleep 3 + echo "successfully start dssserver" + + echo "starting initdb" + cd $GAUSSLOG/om + initdb_str=$(grep gs_init *) + initdb_str2=$(echo "$initdb_str" | grep -o 'gs_initdb.*') + eval "${initdb_str2}" + echo "successfully initdb" + + echo "restore PGDATA" + rm -rf $PGDATA + cd $path + mv ${dn}_bak ${dn} + echo "successfully restore PGDATA" + ``` + +5. 关闭备节点的dssserver + + ``` + kill -9 xxx(dssserver的pid) 或 dsscmd stopdss + ``` + +6. 在主节点启动集群 + + ``` + cm_ctl start + ``` diff --git "a/app/zh/blogs/liuzhanfeng/\350\265\204\346\272\220\346\261\240\345\214\226\346\250\241\346\213\237\347\216\257\345\242\203\351\203\250\347\275\262\350\204\232\346\234\254\344\273\213\347\273\215" "b/app/zh/blogs/liuzhanfeng/\350\265\204\346\272\220\346\261\240\345\214\226\346\250\241\346\213\237\347\216\257\345\242\203\351\203\250\347\275\262\350\204\232\346\234\254\344\273\213\347\273\215.md" similarity index 100% rename from "app/zh/blogs/liuzhanfeng/\350\265\204\346\272\220\346\261\240\345\214\226\346\250\241\346\213\237\347\216\257\345\242\203\351\203\250\347\275\262\350\204\232\346\234\254\344\273\213\347\273\215" rename to "app/zh/blogs/liuzhanfeng/\350\265\204\346\272\220\346\261\240\345\214\226\346\250\241\346\213\237\347\216\257\345\242\203\351\203\250\347\275\262\350\204\232\346\234\254\344\273\213\347\273\215.md" -- Gitee