链接:https://zhuanlan.zhihu.com/p/392517709
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
现今各种互联网应用都承载着大量用户数据,用户体验与此息息相关。除了数据的读写速度,数据的保障也至关重要,倘若发生服务器故障、网络攻击、操作失误,导致数据丢失,例如音乐用户歌单、乐评丢失,游戏玩家道具消失甚至账号异常,这些体验无疑是十分糟糕的。而数据备份就像一件铁布衫,在数据丢失时能够提供恢复,TcaplusDB有两种备份策略,本篇短文介绍其定时备份操作。
- 每套线上运营的TcaplusDB环境都有定时备份策略
- 每日凌晨1:05 所有Tcapsvr Slave自动做冷数据备份(txh+cfg)
- 每隔15分钟 所有Tcapsvr Slave自动做增量流水备份(ulog)
- 发生主备切换、故障切换后的50小时内, 当前的Tcapsvr Master也自动做增量流忽视备份(ulog)
- 对于新搭的环境,自动定时备份需要手动配置打开,步骤如下:
- 以tcaplus账号ssh登录Tcapcenter机器, cd /data/tcaplus/tcaplus_service/bin/tcaplus_backup_script/backup_script_for_overseas/mysql_tcaplus_backup_script; cp config_info.txt.template config_info.txt
- 修改定时备份的配置文件config_info.txt, 如果打开后看到注释为中文乱码,可转成UTF-8编码查看
- 备份模式(backup_mode)设置为海外模式(非腾讯内部都使用这个模式): backup_mode=1
- mysql备份打开:need_backup_mysql="True"
- 冷数据备份窗口(allow_backup_time_from)可以自己调整,默认每天凌晨1:05
- 如果接入了Tmonitor, 建议把Tmonitor的信息配置下,由定时脚本清理Tmonitor过期上报数据
- svr_password是tcaplus账号的ssh密码, 需要填入才能自动备份,这里填写密文, 使用加密工具获得
- /data/tcaplus/tcaplus_service/bin/encrypt_tool/encrypt_tool "PlainText" 30+iBnHyorkIukZ+sT36gQ==
- 有条件的话,强烈建议备份数据的跨机备份使用gluster, 我们为gluster存储集群适配了所有事务化回档、重建任务
- gluster模式
- 将gluster开关设置为ON: need_gluster_backup="ON"
- 设置gluster实际的挂载路径:gluster_backup_path="/data/glusterfs_dbbak"
- 同时修改tcapcenter配置文件, 配置gluster信息: vim /data/tcaplus/tcaplus_service/cfg/tcapcenter/tcapcenter_cfg.xml
- 在BackUpApi标签下增加4行配置, 分别对应:备份类型,gluster存储卷名, gluster存储节点ip, gluster挂载路径
- 重启tcapcenter: cd /data/tcaplus/tcaplus_service/bin; ./tcapcenter_stop.sh ; sleep 10; ./tcapcenter_start.sh
- 单冷备机模式, need_remote_backup="ON", remote_backup_passwd填工具加密后的密文,remote_backup_dir填备份存储路径
TcaplusDB是腾讯出品的分布式NoSQL数据库,存储和调度的代码完全自研。具备缓存+落地融合架构、PB级存储、毫秒级时延、无损水平扩展和复杂数据结构等特性。同时具备丰富的生态、便捷的迁移、极低的运维成本和五个九高可用等特点。客户覆盖游戏、互联网、政务、金融、制造和物联网等领域。