首页 > 其他分享 >openGauss之物理备份与恢复实践操作(openGauss课程openGauss3.0.0)

openGauss之物理备份与恢复实践操作(openGauss课程openGauss3.0.0)

时间:2023-04-28 11:33:05浏览次数:41  
标签:momo488 gs 备份 openGauss3.0 openGauss data probackup

一、opengauss的背景和行业现状

 

2022年,七大openGauss商业版发布,是基于openGauss3.0推出商业发行版

目前海量数据库Vastbase表现最佳,一直是TOP 1

作者认为之所以海量数据库Vastbase目前无法被同行超越,和各家研发实力和技术背景有关

 

众所周知,opengauss起源于postgresql,在此基础上做了改良

海量数据库从postgresql就已经开始做商业版,一直做到opengauss,经验最丰富,其他产品例如MongoDB是紧随其后(在此不讨论其存在的意义),目前产品百花齐放,更显锦上添花

 

Vastbase G100采用业界证明稳定高效的日志流复制技术实现集群内主备库的数据和状态传输,

并通过一主多备的部署和配置架构实现了多点可读、数据不丢失、异地灾备等关键高可用场景。

 

二、openGauss物理备份

2.1 gs_basebackup

   gs_basebackup的实现目标是对服务器数据库文件的二进制进行拷贝,其实现原理使用了复制协议。

   远程执行gs_basebackup时,需要使用系统管理员账户。

   gs_basebackup当前支持热备份模式和压缩格式备份。

 

[omm@momo488 data]$ mkdir -p /data/wuli_backup

[omm@momo488 data]$ gs_basebackup -D /data/wuli_backup -h 127.0.0.1 -p 15400

INFO:  Try to bind walsender thread to available CPUs in threadpool.

INFO:  The starting position of the xlog copy of the full build is: 0/403ACA0. The slot minimum LSN is: 0/403ACA0.

[2023-04-12 11:22:06]:begin build tablespace list

[2023-04-12 11:22:06]:finish build tablespace list

[2023-04-12 11:22:06]:begin get xlog by xlogstream

INFO:  Try to bind walsender thread to available CPUs in threadpool.

[2023-04-12 11:22:06]: check identify system success                                                

[2023-04-12 11:22:06]: send START_REPLICATION 0/4000000 success                                    

[2023-04-12 11:22:06]: keepalive message is received                                                

[2023-04-12 11:22:13]: keepalive message is received                                                

[2023-04-12 11:22:17]: keepalive message is received                                                

[2023-04-12 11:22:18]:gs_basebackup: base backup successfully

 

2.2 gs_probackup

   gs_probackup是一个用于管理openGauss数据库备份和恢复的工具。

   它对openGauss实例进行定期备份,以便在数据库出现故障时能够恢复服务器。

 

步骤

1>初始化备份目录。在指定的目录下创建backups/和wal/子目录,分别用于存放备份文件和WAL文件。

[omm@momo488 ~]$ gs_probackup init -B /data/probackup

INFO: Backup catalog '/data/probackup' successfully inited

 

2>添加一个新的备份实例。gs_probackup可以在同一个备份目录下存放多个数据库实例的备份。

[omm@momo488 ~]$ gs_probackup add-instance -B /data/probackup -D /data/openGauss/install/data/dn --instance=momo488ins

INFO: Instance 'momo488ins' successfully inited

 

3>将指定的连接、压缩、日志等相关设置添加到pg_probackup.conf配置文件中,或修改已设置的值。不推荐手动编辑pg_probackup.conf配置文件。

[omm@momo488 backups]$ gs_probackup set-config -B /data/probackup --instance=momo488ins

 

4>显示位于备份目录中的pg_probackup.conf配置文件的内容。可以通过指定--format=json选项,以json格式显示。默认情况下,显示为纯文本格式。

[omm@momo488 backups]$ gs_probackup show-config -B /data/probackup --instance=momo488ins

 

5>显示备份目录的内容。

[omm@momo488 backups]$ gs_probackup show -B /data/probackup

 

6>创建指定实例的备份。在进行增量备份之前,必须至少创建一次全量备份。

[omm@momo488 backups]$ gs_probackup backup -B /data/probackup -b full --instance momo488ins -b FULL -p 15400 -d postgres

 

7>创建指定实例的备份。创建增量备份。

[omm@momo488 momo488ins]$ gs_probackup backup -B /data/probackup -b PTRACK --instance momo488ins -b PTRACK -p 15400 -d postgres

 

-b backup-mode

FULL:创建全量备份,全量备份包含所有数据文件。

PTRACK:创建PTRACK增量备份。

 

8>查看备份信息

[omm@momo488 momo488ins]$ gs_probackup show -B /data/probackup

BACKUP INSTANCE 'momo488ins'

========================================================================================

Instance    Version  ID      Recovery Time           Mode    WAL Mode  TLI    Time   Data   WAL  Zratio  Start LSN   Stop LSN    Status  

========================================================================================

momo488ins  9.2      RSZICJ  2023-04-12 12:12:26+08  PTRACK  STREAM    1/1     11s  259MB  16MB    1.00  0/12000028  0/120001E8  OK      

momo488ins  ----     RSZICF  ----                    PTRACK  STREAM    0/1  1m:38s      0     0    1.00  0/0         0/0         RUNNING

momo488ins  9.2      RSZI51  2023-04-12 12:08:06+08  FULL    STREAM    1/0     22s  656MB  16MB    1.00  0/10000028  0/100001E8  OK      

momo488ins  ----     RSZI4V  ----                    FULL    STREAM    0/0  6m:10s      0     0    1.00  0/0         0/0         RUNNING

 

 

三、openGauss物理恢复

3.1 gs_basebackup的恢复

   gs_basebackup是对数据库按二进制进行备份

   恢复时可以直接拷贝替换原有的文件

   或者直接在备份的库上启动数据库

 

3.2 gs_probackup的恢复

1>破坏数据库(仅用于学习,自建实验环境,生产环境不要这么做)

[root@momo488 ~]# ps -ef | grep gauss

omm       663627       1 20 12:23 ?        00:29:42 /data/openGauss/install/app/bin/gaussdb -D /data/openGauss/install/data/dn

[omm@momo488 ~]$ kill -9 604990

[omm@momo488 ~]$ rm -rf /data/openGauss/install/data/dn

 

2>从备份目录_backup-path_中的备份副本恢复指定实例。如果指定了恢复目标选项,gs_probackup将查找最近的备份并将其还原到指定的恢复目标。否则,使用最近一次备份。

[omm@momo488 ~]$ mkdir -p /data/openGauss/install/data/dn

[omm@momo488 ~]$ gs_probackup restore -B /data/probackup --instance momo488ins -D /data/openGauss/install/data/dn -i RSZICJ

 

3>启动数据库

[omm@momo488 ~]$ /data/openGauss/install/app/bin/gaussdb -D /data/openGauss/install/data/dn &

[omm@momo488 ~]$ gs_ctl start -D /data/openGauss/install/data/dn

 

彻底恢复成功,掌握了这个技术,在保护好数据库物理备份和日志备份的情况下(可以远程备份),

在任何数据库故障面前,你都可以优雅的喝一杯咖啡,

完全可以不需要任何第三方技术支持,自己敲敲键盘搞定数据库恢复,

在老板面前体现你的价值,老板可能会感慨,自从聘用了你一个人,比找一家技术外包公司还管用,

独当一面的第一招你已经学会了,加油

 

本文参考官方文档

 https://docs.opengauss.org/zh/

 https://docs.vastdata.com.cn/zh/

标签:momo488,gs,备份,openGauss3.0,openGauss,data,probackup
From: https://www.cnblogs.com/opengauss/p/17361631.html

相关文章

  • 数据库还原失败System.Data.SqlClient.SqlError: 无法执行 BACKUP LOG,因为当前没有数
    https://www.shuzhiduo.com/A/1O5EbK6yd7/高版本可以兼容低版本的数据库哎。所以低版本可以直接还原到高版本。过程中提示数据库还原失败System.Data.SqlClient.SqlError:无法执行BACKUPLOG,因为当前没有数据库备份,按照链接中的第二个方法解决了: 在还原的界面中,取消勾选还......
  • 快速上手Linux核心命令(九):文件备份与压缩
    目录tar打包备份gzip压缩或解压文件zip打包和压缩文件unzip解压zip文件scp远程文件复制rsync文件同步工具这期呢主要说一说Linux中文件备份与压缩命令,一共6个命令。这6个命令都是平常工作中非常非常常用的。tar打包备份1、简介tar可以将多个文件压缩打包、压缩。是......
  • gitLab数据备份、恢复和迁移
    自建的Gitlab服务器常常会因为使用时间的增长,其空间容量等硬件需求都需要升级,或者迁移至更高配置的服务器上。备份、迁移、恢复、升级过程如下一、gitlab备份备份前gitlab的项目如图所示 1.1修改仓库存储位置gitlab通过rpm包安装后,默认存储位置在/var/opt/gitlab/git-dat......
  • MySQL(二)备份与还原
    一.MySQL备份1.本地备份1.win+r后输入cdm2.命令行界面输入命令mysqldump-uroot-p 数据库名>存放备份sql文件的全目录,eg:  mysqldump-uroot-pbooksystem> D:\backup\booksystem.sql3.控制台没有输出~等待~结束完成2.异......
  • xtrabackup 备份与恢复
        #!/bin/bash#备份目录和文件名backup_dir=/var/backups/mysqlbackup_name=mysql_backup_$(date+%Y-%m-%d_%H-%M-%S)#MySQL连接信息mysql_user=rootmysql_password=your_password#备份命令xtrabackup--backup--user=$mysql_user--password=$mysql_......
  • 一篇文章教你学会数据备份利器rsync
     作为一个系统管理员,数据备份是非常重要的。阿铭有一次没有做好备份策略,结果磁盘坏了,数据全部丢失。所以在以后的系统维护工作中,你一定要时刻牢记给数据做备份。在Linux系统下数据备份的工具很多,但阿铭只用一种,那就是rsync,从字面意思上可以理解为remotesync(远程同步)。rsync不......
  • SQLServer备份、完整备份,差异备份、日志备份
    1、https://blog.51cto.com/u_15907770/5926159https://product.pconline.com.cn/itbk/software/dnwt/1702/8821700.html全备份(FullBackup):就是对整个系统进行完全备份,包括系统和数据。这种备份方式的好处就是很直观,容易被人理解,当数据丢失时容易恢复。然而它也有不足之处:首先由......
  • scn增量备份恢复dataguard从库(出现gap后主库有添加新的数据文件)
    环境:OS:Centos7DB:19.3.0.0 1.正常同步情况下的scn主从是一致的主库查询:SQL>selectSEQUENCE#,FIRST_CHANGE#,NEXT_CHANGE#,APPLIED,STATUSfromv$archived_logtwherename='tnsslavea';SEQUENCE#FIRST_CHANGE#NEXT_CHANGE#APPLIEDSTATUS-----------------......
  • 分享一种用镜像封装技术来对复杂的工业软件环境做容灾备份的还原方案
    做了产品以后经常遇到一个维护问题,经常一些产品过了七年八年就遇到这样那样的服务起不来需要从头部署,甚至一些产品在设计之初没有考虑到数据量和底层数据死锁,导致产品变得越来越慢,前者导致需要费时费力,后者导致产品风评越来越差,影响客户使用。甚至有些是由于服务器硬件、和微软多......
  • scn增量备份恢复dataguard从库
    环境:OS:Centos7DB:19.3.0.0 1.正常同步情况下的scn主从是一致的主库查询:SQL>selectSEQUENCE#,FIRST_CHANGE#,NEXT_CHANGE#,APPLIED,STATUSfromv$archived_logtwherename='tnsslavea';SEQUENCE#FIRST_CHANGE#NEXT_CHANGE#APPLIEDSTATUS----------------......