暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

GoldenDB备份恢复——备份操作

原创 蒋宇智 2024-04-19
1696
备份操作
环境准备
检查备份共享目录

备份目录基于NFS(NAS),此处以NFS(假设NFS服务器IP为192.168.1.107)为共享目录为例介绍环境准备操作,其它类型目录可参考执行。

1.在NFS服务端机器上执行如下命令,检查NFS服务端配置是否正常。

1)执行如下命令,检查NFS是否启动。

service nfs-server status

!

说明

如果没有启动,执行命令service nfs-server start。

2)执行如下命令,查看是否有类似“/opt/backup *(rw,async,no_root_squash”这样的共享目录配置。

cat /etc/exports

如果有,表示已配置,否则表示未配置。

未配置时

a)创建备份共享目录,保证权限为770,并加在统一用户组里,如: useradd backup -d /opt/backup -g 用户组名

chmod 770 /opt/backup

若用户组在该服务器上没有,则创建一个,需保证组名和组id和goldendb系统下用户组一致。

groupadd 用户组 -g 组id

b)执行命令vi /etc/exports手动添加配置。

c)添加配置:共享目录绝对路径 /opt/backup *(rw,async,no_root_squash) ,其中 * 表示服务器地址。

d)执行重启nfs服务命令:service nfs-server restart。

e)保证部署goldendb系统的服务器时间一致

2.提前准备

安装完环境,在insight界面配置备份恢复所需配置:

首先在(资源管理→存储配置→新增)中新增存储配置;

然后在(租户管理→集群实例→备份恢复→配置→编辑)指定使用的存储配置,注意实例级存储配置必须配置,MDS和GTM使用实例级存储配置,数据节点可以使用实例、分片、机房、节点级存储配置,根据需要配置。

若配置为LOCAL,需在manager用户、DN用户和gtm用户下新建配置里的路径,并改其权限为770。若为非LOCAL模式,则不需要此步骤。LOCAL模式示例如下:

若配置项backup_rootdir的值为空,则使用默认值backup_root。切到manager等用户下,若backup_root目录不存在,执行mkdir backup_root, chmod 770 backup_root;

若配置为$HOME/backup_lsx,需在备份恢复相关用户用下新建backup_lsx目录并改其权限为770。

3.在MANAGER安装服务器上执行命令df -h,检查是否能够查看到共享目录挂载。

将在界面配置的中backup_rootdir配置的路径挂载到/opt/backup目录中。

下面以配置文件中backup_rootdir配置的是$HOME/backup_root为例来进行说明。

正常示例:

192.168.1.107:/opt/backup … /home/manager/backup_root

如果没有挂载,手动执行挂载命令:

mount -t nfs 192.168.1.107:/opt/backup /home/manager/backup_root

4.在GTM安装服务器上执行命令df -h,检查是否能够看到共享目录挂载。

将在界面配置的中backup_rootdir配置的路径挂载到/opt/backup目录中。下面以配置文件中backup_rootdir配置的是$HOME/backup_root为例来进行说明。

正常示例:

192.168.1.107:/opt/backup … /home/goldendb/zxgtm/backup_root

如果没有挂载,手动执行挂载命令:

mount -t nfs 192.168.1.107:/opt/backup /home/goldendb/zxgtm/backup_root

5.在DN安装服务器上执行df -h命令,检查每台DN服务器备份共享目录挂载情况。

将在界面配置的中backup_rootdir配置的路径挂载到/opt/backup目录中。下面以配置文件中backup_rootdir配置的是$HOME/backup_root为例来进行说明。

正常示例:

192.168.1.107:/opt/backup … /home/zxddb1/backup_root

如果没有挂载,手动执行挂载命令:

mount -t nfs 192.168.1.107:/opt/backup /home/zxddb1/backup_root/

备份空间计算

备份空间里存放了三类比较占空间的文件:

● 全量备份文件

一份全量备份文件的大小略大于所有主节点data数据的和。

● 增量备份文件

一份增量备份文件的大小是一天的数据量大小。

● Binlog二进制日志文件

大小约等于data数据,但是binlog日志是一直在增加的,过期的binlog需要删除,否则会占用很大的空间。

备份步骤
备份data数据

Data数据备份包括定时备份和实时备份。

不管是定时备份还是实时备份,备份成功后,备份结果都会记录在一个备份结果文件中,文件名为:“集群ID_backup_resultsinfo.时间戳”,默认存放路径为:图31-1所示备份恢复配置中,backup_rootdir配置的路径,默认为$HOME/backup_root。

该文件中记录了备份开始时间、备份结束时间、备份文件存放路径等信息,在做恢复操作时需要使用到该文件。

定时备份

登录Insight,在Insight页面设置定制备份任务,系统将按照设置定时备份相应data数据。

1.在首页选择菜单[租户管理→集群实例→备份恢复→新增→定时备份],进入定时管理页面。

2.在定时备份管理页面,按照规划的备份策略配置定时备份任务。

定时任务参数说明参见下表。

参数说明
备份策略
共有五种

1、强制备份主节点:按分片 备份各分片的主DN

2、自动选择备节点:按分片 选择各分片的一个备DN进行备份

3、相对位置:按机房 本地/同城/本地同城选择各机房的一个备DN进行备份

4、指定机房:按机房 根据界面选择的机房选择各机房的一个备DN进行备份

5、指定节点:按节点 根据界面选择的节点进行备份(支持同时选择主备节点)。

备份对象
根据备份策略,可选择分片级、机房级、节点级,可单选或多选。
自动调整备份对象

默认否, 若改为是,则表示指定的节点状态异常或不可用、指定的机房内没有可选择的节点,GoldenDB是否能够根据一定的优先级规则自动调整备份对象,规则包括:

1、指定的节点不可用,则更换为同机房的其他节点->更换为同城市的其他节点,但是不能选择主节点

2、指定的机房不可用,则更换为同城市的其他机房,但是不能选择主节点

3、若备份主节点,DN状态异常时不支持自动调整备份对象 dbstart

备份开始时间
样例设置为凌晨零点开始备份。
备份时间间隔
备份失败时,会重试发起备份,如下图样例配置,每两次重试备份之间的时间间隔为3分钟
备份重试次数
发起重试备份次数,如图样例配置,发起3次重试,3次都失败后,等待下次定时任务触发备份。
备份binlog
选择“否”时,不备份必要binlog;选择“是”时,备份必要binlog。 说明:默认为否,此备份必要binlog为恢复至备份开始时刻必要binlog,恢复至其它时刻仍需使用原binlog备份文件。
周一至周日的备份模式
如图样例配置,周一至周六做增量备份,周日做一次全量备份。如果在做增量备份时,之前没有做过全量备份,本次增量备份自动转为全量备份。

3.单击“确定”按钮,完成定时备份设置。

4.若对指定日期备份任务进行调整(租户管理→集群实例→备份恢复→更多→调整)。

每天只能存在一个策略,且只能调整到未来时间,不能调整到过去时间,调整策略包括取消备份、调整备份时间和取消当天的调整策略。该策略只是对定时备份计划的调整,只有当天有定时任务才可调整。

实时备份

登录Insight页面,在Insight页面实时备份data数据。

1.在首页选择[租户管理→集群实例→备份恢复→新增→实时备份],进入实时备份管理页面。

2.在实时备份管理页面根据需要选择对应的备份。

3.配置实时备份参数,参数说明参见下表。

参数说明
备份策略
共有五种

1、强制备份主节点:按分片 备份各分片的主DN

2、自动选择备节点:按分片 选择各分片的一个备DN进行备份

3、相对位置:按机房 本地/同城/本地同城选择各机房的一个备DN进行备份

4、指定机房:按机房 根据界面选择的机房选择各机房的一个备DN进行备份

5、指定节点:按节点 根据界面选择的节点进行备份(支持同时选择主备节点)。

备份对象
根据备份策略,可选择分片级、机房级、节点级,可单选或多选。
自动调整备份对象

默认否, 若改为是,则表示指定的节点状态异常或不可用、指定的机房内没有可选择的节点,GoldenDB是否能够根据一定的优先级规则自动调整备份对象,规则包括:

1、指定的节点不可用,则更换为同机房的其他节点->更换为同城市的其他节点,但是不能选择主节点

2、指定的机房不可用,则更换为同城市的其他机房,但是不能选择主节点

3、若备份主节点,DN状态异常时不支持自动调整备份对象 dbstart

备份类型
可以选择“全量备份”、“增量备份”,根据操作员需要选择,一般操作场景选择全量备份。
备份binlog
选择“否”时,不备份必要binlog;选择“是”时,备份必要binlog。 说明:默认为否,此备份必要binlog为恢复至备份开始时刻必要binlog,恢复至其它时刻仍需使用原binlog备份文件。

命令行备份

1.只有鉴权成功的用户才可以进行命令行集群备份操作。

(1)mds dbtool 命令中增加用户名+密码校验;

(2)对于指定IP的堡垒机执行mds dbtool 命令不需要增加用户名+密码校验,该IP下直接鉴权成功;

(3)对于远程调用,使用 IP+Port 的方式进行校验。

2.执行下述命令可进行集群实时备份操作,默认增量备份备机。

dbtool -mds -backup -c[luster]=1 [-full] [-master] [-binlogBackup] [-user= -password= -host="127.0.0.1:6406"]

3.备份结果不仅仅展示在命令窗口,也展示在 Insight界面的备份历史记录页面中,发起方显示为命令行,若是从界面触发的备份,发起方显示为管理后台。

4.命令行备份参数说明

参数说明
-backup
实时备份
-cluster / -c
要备份的集群 ID
-full
全量备份,省略时,默认为增量备份
-master
强制备份主机,省略时,默认为优先选择备机备份
-binlogBackup
备份恢复至备份开始时刻必要binlog,默认否
-user
鉴权用户
-password
鉴权密码
-host
远端执行命令时,指明 mds 的 IP 和 Port 用来校验
备份Binlog日志

登录Insight,在Insight页面设置定制备份任务,系统将按照设置定时备份相应data数据。

在首页选择菜单[租户管理→集群实例→备份恢复→BINLOG备份→新增],进入新增binlog备份管理页面。

在定时备份管理页面,按照规划的备份策略配置BINLOG定时备份任务。

进行binlog策略变更时,可点击编辑,对binlog配置进行变更,进行策略变更时,按照提示步骤操作后可把影响降到最低。

定时备份BINLOG任务参数说明参见下表。

参数说明
备份策略
共有2种 1、按分片备份(每个分片一份) 2、按机房备份(每个机房一份)
备份周期
备份任务间隔周期,单位:分钟。 ID
是否允许备份主
在没有可用备机(逻辑主算作备机)做binlog备份的情况下,是否允许选择主做binlog备份
备份不生效时间段
可配置binlog备份无效期,在所配时间范围内,不做binlog定时备份,最多可配10段。例如:09:00:00~11:30:00,13:00:00~15:00:00。
备份活跃事务列表和binlog位置

环境安装时,就默认配置好了活跃gtid备份定时任务,开关配置在clustermanager.ini中active_tx_timing_query。默认配置:

active_tx_timing_query=1 --0-OFF,1-ON.

当开关开启时:

● 每隔30 s查询活跃事务,将查询结果保存在.current 文件中,文件配置路径clustermanager.ini中backup_root_directory;

● 每隔60 s查看.current文件是达到1 M,如果达到1M,归档到“Active_TX_Info/Active_TX_Archive”目录下。

!

说明

默认开启,一般不需要再去改动。

备份集群元数据

备机MDS元数据是跟随备份data数据一起备份的,备份集群相关的元数据,主要包括有数据字典,用户密码,索引信息。MDS元数据在单机恢复中使用不到,只有在集群恢复中才会使用到元数据信息。

备份集群Sequence

备机Sequence数据是跟随备份data数据一起备份的。只有在集群恢复中才会使用到Sequence数据信息。

备份结果查看
data数据备份路径

data备份文件存放路径:

● 在图31-1所示备份恢复配置中,backup_rootdir配置的路径。

default path:$HOME/backup_root

● 在backup_root目录下,会自动生成子目录“DBCluster_集群ID/DATA_BACKUP/任务/Data/Node_groupid_roomid_ip_port”。

备份的全量数据文件或增量数据文件都存放在这个子目录下。

data数据备份路径

Binlog日志备份路径

● 在图31-1所示备份恢复配置中,backup_rootdir配置的路径。

default path:$HOME/backup_root

● 在backup_root目录下,会自动生成子目录“DBCluster_集群ID/LOGICAL_BACKUP/Binlog/ Node_groupid_roomid(按机房备份)”或“DBCluster_集群ID/LOGICAL_BACKUP/Binlog/ Node_groupid(按分片备份)”。

备份的binlog二进制文件就存放在这个子目录下。

活跃事务列表和binlog位置备份路径

活跃事务列表和binlog位置备份文件存放路径:

● 在图31-1所示备份恢复配置中,backup_rootdir配置的路径。

default path will be $HOME/backup_root

● 在配置路径下的.current 文件中,有定时任务每隔60 s检查一次.current文件是否达到1 M,如果达到1 M,将.current文件归档到配置路径下的子目录“Active_TX_Info/Active_TX_Archive”下。

集群元数据备份路径

集群元数据备份文件存放路径:

● 在metadataserver.ini中metadata_backup_dir配置值路径。

default path:$HOME/.metadata_backup_root

● 在.metadata_backup_root目录下,会自动生成子目录“DBCluster_集群ID/DATA_BACKUP/“TASKID”目录/MetaData/“备份时间”目录”和“DBCluster_集群ID/LOGICAL_BACKUP/MetaData/“备份时间”目录/”子目录。备份的数据文件都存放在这个子目录下。

集群元数据备份路径

集群元数据备份文件存放路径:

● 在gtm.ini中seq_backup_dir配置值路径。

default path:$HOME/seq_backup_root

在seq_backup_root目录下,会自动生成子目录“DBCluster_集群ID/LOGICAL_BACKUP/Sequence/“备份时间”目录/”。备份的数据文件都存放在这个子目录下。

备份文件清理

备份文件清理配置(租户管理→集群实例→备份恢复→配置→备份文件清理策略→编辑):

数据备份自动清理周期:控制数据备份文件的清理(若界面不配置,dbagent 数据文件清理默认清理7天前的文件)

逻辑备份自动清理周期:控制逻辑备份日志的清理(若界面不配置,dbagent binlog文件清理默认清理7天前的文件)

文章转载自蒋宇智,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论