#yasbak操作示例

本示例以XBSA API的方式进行备份恢复对接,文中所列用户、密码、IP、端口、路径等均需替换为实际值。

1.参考om安装文档完成数据库安装部署。 2.在备份服务器上同步解压YashanDB安装包,该备份服务器需具备XBSA的动态库。 3.获取OM服务的rpc_secret_key,配置位于${YASDB_HOME}/om/yashan/conf/tls.toml。

# 前往install_path目录寻找tls.toml
$ cat ${YASDB_HOME}/om/yashan/conf/tls.toml | grep rpc_secret_key
rpc_secret_key = "96ed7a2c90e81a9e"

4.通过yasbak对进行初始化操作。

$ yasbak deploy -c yashan -a 192.168.1.2:1675 -k 96ed7a2c90e81a9e -D ./catalog -u sys -p password

 hostid   | node_type | nodeid | pid   | instance_status | database_status | database_role | listen_address | data_path
----------------------------------------------------------------------------------------------------------------------------------
 host0001 | db        | 1-1:1  | 26097 | open            | normal          | primary       | 192.168.1.2:1688 | /data/yashan/db-1-1
          +-----------+--------+-------+-----------------+-----------------+---------------+--------------------+-----------------
          | db        | 1-2:2  | 26220 | open            | normal          | standby       | 192.168.1.2:1690 | /data/yashan/db-1-2
          +-----------+--------+-------+-----------------+-----------------+---------------+--------------------+-----------------
          | db        | 1-3:3  | 26215 | open            | normal          | standby       | 192.168.1.2:1692 | /data/yashan/db-1-3
----------+-----------+--------+-------+-----------------+-----------------+---------------+--------------------+-----------------
cluster:yashan deploy yasbak succeed

5.进行备份操作。

DINGJIA_PARAM="XBSA_LIBRARY=/lib/libxbsa.so, TOKEN=157257815837, ENV=(key1=val1,key2=val2)"

# 执行全量备份
$ yasbak run -c yashan -s "backup database tag 'full_01' parallelism 4 dest client params '${DINGJIA_PARAM}'"
 
# 执行增量备份
$ yasbak run -c yashan -s "backup database incremental level 0 tag 'incr_0'  dest client params '${DINGJIA_PARAM}'"
$ yasbak run -c yashan -s "backup database incremental level 1 tag 'incr_1'  dest client params '${DINGJIA_PARAM}'"
 
# 清理备份
$ yasbak run -c yashan -s "delete backupset tag 'full_01'"

6.进行恢复。

恢复前,需要将数据库重置,数据库重置是一项高危操作,当前需要手动对数据库进行重置,通过restore命令进行数据库重置,完成后再进行恢复。

# 清理重置数据库
$ yasbak restore -c yashan 

# 恢复
DINGJIA_PARAM="XBSA_LIBRARY=/lib/libxbsa.so, TOKEN=157257815837, ENV=(key1=val1,key2=val2)"
$ yasbak run -c yashan -s "restore database from tag 'full_01' dest client params '${DINGJIA_PARAM}'" --build-all

7.卸载yasbak。

对于无需进行yasbak操作的环境,进行清理。

# 清理,指定 --purge 会同时删除catalog目录
$ yasbak clean -c yashan --purge

remove yasbak.env succeed.
remove yasrman catalog succeed.

pdf-btn 下载文档
copy-btn 复制链接