開源一套數據異地備份系統

簡介

此係統解決遊族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

相關文章
相關標籤/搜索