此系统解决游族2w+个数据库实例(包括mysql,redis,ssdb)的异地灾备mysql
天天大概40w+个备份文件(99%的数据库实例进行每小时备份策略)git
天天40TB+数据量进行异地传输github
此系统只负责备份异地传输,不负责如何备份 具体备份脚本用户自行编写,只要按照要求把备份信息写入对应日志文件便可redis
备份脚本规范 1.每次都是全备的方式 (例如redis经过RDB每次都是全备) 2.全备+增量 的方式(例如Mysql经过Xtrabackup) 脚本日志生成规范: 备份成功:back_log 第一行为ok,第二行为文件名 备份失败:back_log 第一行为wrong,第二行为错误信息 若是是第2种方式,则在生成back_log的时候,同时生成一份相同的日志信息在last_all_log 日志中
备份队列优先级控制,重要的备份优先拉取到异地sql
正常备份脚本出错(脚本退出码非0)chrome
超过规定时间未备份数据库
非法备份后端
针对报警作了一个chrome插件提醒的功能ide
集群支持拉取数据调整,权重调整,集群容量能够经过简单的增长节点进行增长spa
节点根据配置预留空间,超过预留空间自动暂停,暂停后只要集群中还尚有正常工做的节点,整个集群就能继续工做
元数据存储在ES,根据须要进行数据分析
配合恢复脚本能够实现查询备份位置,下载,恢复一鼓作气
github地址:
https://github.com/lustlost/ubackup
gitoschina地址:
http://git.oschina.net/lustlost/ubackup