>   
> >

备份命令

功能

backup命令用于备份集群数据到NBU或磁盘,支持•全量备份集群•增量备份集群两种备份类型。

命令格式

  • 全量备份
    分布式部署模式下
    python GaussRoach.py
    -t backup
    --mode cluster
    --master-port master-port
    --media-type media-type
    --media-destination media-destination-path
    --metadata-destination metadata-path
    [--compression-mode mode]
    [--compression-level level]
    [--parallel-process level]
    [--nbu-policy policy_name]
    [--nbu-schedule schedule_name]
    [--validation-type validation_type]
    [--enable-encrypt password]
  • 增量备份
    分布式部署模式下
    python GaussRoach.py
    -t backup
    --mode cluster
    --master-port master-port
    --media-type media-type
    --media-destination media-destination-path
    --metadata-destination metadata-path
    --prior-backup-key prior-full-backup-key
    [--compression-mode mode]
    [--compression-level level]
    [--parallel-process level]
    [--nbu-policy policy_name]
    [--nbu-schedule schedule_name]
    [--validation-type validation_type]
    [--incremental-type incremental-type]

参数说明

表1 备份命令行参数

参数名

参数描述

取值范围

缺省值

应用实例

-t

Roach接口支持多种功能。指定该参数为backup,表示调用备份功能。

  • -t backup
  • -t stop
  • -t delete
  • -t restore
  • -t show
  • -t start
  • -t validate

不涉及

-t backup

--mode

Roach工具能在单机和集群两种模式下使用。该参数用于选择数据库模式。

  • cluster(集群模式)

不涉及

--mode cluster

--master-port

Roach主代理进程的执行端口。该参数仅需配置一个无业务冲突的端口即可。

说明:

集群中执行Roach命令的主机被认为是主代理。

[1024,65535]。

不涉及

--master-port 6812

--media-type

指定本次备份的介质类型。

  • DISK(磁盘)
  • NBU
说明:

--media-type的参数值错误时(假设指定的是hbu),提示如下信息:

[GAUSS-50004] : The parameter '--media-type' value is incorrect. Value: hbu.

不涉及

  • 对于磁盘:--media-type DISK
  • 对于NBU:--media-type NBU

--media- destination

指定介质的目的备份路径。该路径必须是绝对路径。

建议将media destination和metadata destination设为不同路径。这样,即使backup key被删除,元数据信息也不会丢失。

mediadata是指集群中存储的业务数据,也就是数据库文件。

不涉及

不涉及

--media-destination /home/cam/backup

--metadata-destination

指定本次备份的元数据存储路径。

建议将media destination和metadata destination设为不同路径。这样,即使backup key被删除,元数据信息也不会丢失。

metadata是指Roach在备份恢复操作中收集的配置管理类数据,也叫元数据。例如:集群节点个数、节点配置信息、数据库表个数、表的存储路径、表定义等。

不涉及

不涉及

--metadata-destination /home/username

--prior-backup-key

指定本次增量备份的基线备份信息。

说明:

该参数不再作为指定增量备份的基线备份,只能作为打开增量备份开关使用,用法不变。roach基线备份以内核记录的为准。不建议使用该参数。

不涉及

不涉及

--prior-backup-key 20170117_041504

--compression-mode

指定压缩备份模式。

zlib

zstd

lz4

zstd

zstd

--compression-level

设置压缩备份的级别。

[1,9]

--compression-mode指定为zlib时,如果不指定--compression-level的值,则默认--compression-level的值为4

3

--parallel-process

开启多个并发进程进行备份,指定并发数。

[1,8]

不涉及

4

--nbu-policy

设置NBU备份策略。

说明:
  • 如果备份命令参数中设置该参数,roach配置文件中的该参数将不再起作用。

不涉及

不涉及

sample_policy

--nbu-schedule

设置NBU备份的schedule。

说明:

如果备份命令参数中设置该参数,roach配置文件中的该参数将不再起作用。如果使用默认schedule,可以不用设置该参数。

不涉及

不涉及

sample_schedule

--validation-type

该参数打开验证备份集完整性开关并指定验证类型。只支持DISK介质类型。

说明:

只有在备份时打开完整性验证开关的备份集才能进行备份集验证。

sha256

不涉及

不涉及

--enable-encrypt

启用对备份集进行加密。

启用加密后,需要输入两次密码,并且两次输入密码必须一致。密码规则如下:

  • 密码长度必须大于等于8位,小于等于64位字符。
  • 密码只能包含以下4种类型,并且至少选取其中3种类型的组合。
    • 大写字母
    • 小写字母
    • 数字
    • 特殊字符(支持的特殊字符列表,请参见“表2”表)

如果全量备份对备份集进行了加密,基于该全量备份进行增量备份的过程中,用户需要交互式输入密码,该密码必须和全量备份时设置的密码一致。

不涉及

不涉及

gauss_123

--incremental-type

指定增量备份类型。

说明:

推荐使用此参数进行增量备份。

  • all 累积增量备份
  • newest 差分增量备份

不涉及

--incremental-type all

表2 特殊字符

编号

字符

编号

字符

编号

字符

编号

字符

1

`

9

&

17

\

25

,

2

~

10

*

18

|

26

<

3

11

(

19

[

27

.

4

@

12

)

20

{

28

>

5

#

13

-

21

}

29

/

6

$

14

_

22

]

-

-

7

%

15

=

23

:

-

-

8

^

16

+

24

"

-

-

使用指南

  1. omm用户身份登录GaussDB 100任意服务器。
  2. 进入$ROACH_HOME目录。

    cd $ROACH_HOME

  3. 查看集群状态是否是Normal或Degraded状态。

    gs_om -t status

    集群状态是Normal(即cluster_state : Normal)或者Degraded(即cluster_state : Degraded)时,可以继续执行备份。

  4. (可选)备份至NBU或OBS时,需要在$ROACH_HOME/conf/roach.ini文件中添加NBU或OBS服务器信息。

    1. 打开roach.ini文件。
      vim $ROACH_HOME/conf/roach.ini
    2. 添加NBU或OBS服务器信息。

      备份至NBU时,需要添加以下信息(只支持集群模式):

      #roach media param config
      NBU_SERVER=sever1
      NBU_POLICY=nbupolicy
      NBU_SCHEDULE=schedule

      备份至OBS时,需要添加以下信息(只支持单机模式):

      #roach media param config
      OBS_SERVER=obssever
      OBS_AK=xxxxxxxx
      OBS_SK=xxxxxxxxxx
      OBS_BUCKET=xxxxxxxx
      OBS_LIMIT_SIZE=100*1024
      CLUSTER_ID=xxx
      
    3. 输入:wq并按回车键保存退出。
    说明:
    • Roach支持两地三中心备份和恢复,所以每个节点上的NBU客户端配置信息可以是不同的服务器信息。
    • NBU Policy和NBU Schedule的设置,用户可通过在roach.ini文件中配置NBU_POLICY和NBU_SCHEDULE参数完成;也可以通过在备份命令中指定--nbu-policy和--nbu-schedule参数完成,此时roach.ini文件中的NBU_POLICY和NBU_SCHEDULE参数将不再起作用。
    • OBS参数设置与NBU类似,可以通过直接传参的形式传入server、ak、sk、bucket和cluster id,也可以在roach.ini文件中设置。
    • 为保证备份命令的前向兼容,可以使用--prior-backup-key进行增量备份,但需在roach.ini配置增量备份类型,默认为newest。

  5. 执行备份。

    • 执行全量备份
      python GaussRoach.py -t backup --mode cluster/single --master-port master_port --media-destination media_destination_path --media-type type --metadata-destination metadata_path  
    • 执行增量备份

      增量备份和全量备份命令的差异点在于,增量备份需要指定--prior-backup-key参数。通过该参数,系统可以获取到上次备份信息,以判断继上次备份之后所更改的数据,用于执行本次的增量备份。

      python GaussRoach.py -t backup  --mode cluster/single --master-port master_port --media-destination media_destination_path --media-type type --metadata-destination metadata_path --prior-backup-key prior-backup-key 
      说明:

      增量备份和全量备份的介质必须相同,也就是说,增量备份至磁盘只能基于磁盘全量备份进行;增量备份至NBU只能基于NBU全量备份进行;增量备份至OBS只能基于OBS全量备份进行。

    备份命令支持的全部参数请参见命令格式,参数详情请参见参数说明章节。

    说明:
    • 元数据路径(--metadata-destination参数指定)和介质数据存储路径(--media-destination参数指定)必须是绝对路径。指定路径不存在时,如果该路径的上层目录已存在且属主是数据库安装用户,Roach工具会自动创建该路径且路径属主是数据库安装用户;指定路径是已存在路径时,需要确保该路径的属主是数据库安装用户。其中,数据库安装用户,即是使用gs_preinstall执行预安装时参数-U指定的用户。集群部署模式下,每个节点上的路径都必须遵守上面的规定。
    • --archivelog只是备份恢复归档日志的开关。
    • OBS备份使用不同的桶备份同一个数据库和NBU使用不同的策略备份同一个集群时,元数据路径(--metadata-destination参数指定)和介质数据存储路径(--media-destination参数指定)必须不同。

    备份验证

    备份操作完成后,运行Roach的主机屏幕上显示如下信息。

    Parsing the configuration file.
    Performing presetup activities...
    LFG1000753142 : ##################################################100%  9.531M/s
    LFG1000753141 : ##################################################100%  9.528M/s
    LFG1000753139 : ##################################################100%  22.092M/s
    Successfully backup data, backup key: 20190813_165641, takes time: 00:00:38.
    Performing backup completed.
    说明:
    • 如果命令执行失败,Roach会直接退出备份,并显示备份失败。
    • 如果是终端断连引起Roach备份恢复异常退出,用户可再次执行备份恢复,此时建议用户在后台执行备份恢复操作。
    • Roach工具会生成本次备份的backup key,格式为YYMMDD_HHMMSS。执行恢复操作时需提供该backup key。该backup key会在控制台中显示出来。

命令示例

  • 全量备份至磁盘。
    python GaussRoach.py -t backup --mode cluster --master-port 6000 --media-destination /home/userA/backup --media-type Disk --metadata-destination /home/userA/metadata --

  • 全量备份至NBU。
    python GaussRoach.py -t backup--mode cluster  --master-port 6000 --media-destination /home/userA/media --media-type NBU --metadata-destination /home/userA/metadata --nbu-policy sample_policy --nbu-schedule sample_schedule
  • 增量备份至磁盘。
    python GaussRoach.py -t backup --mode cluster --master-port 6000 --media-destination /home/userA/backup --media-type Disk --metadata-destination /home/userA/metadata --prior-backup-key 20170313_131629

相关命令

恢复命令







backTop-phone