备份的重要性

  误操作恢复
  在不可控因素,尽快恢复线上业务
  历史查看等

异地容灾

数据库数据

  1.同步:
异地建立一个从库,实时同步线上的数据;服务器配置不需要很好,需要提升为主库时候升级配置即可。
  2.备份:
使用异地从库专门用于备份,不对线上业务造成任何影响;产生的备份文件同时实现了异地保存;定期检查备份文件的可用性。
  3.恢复:全实例恢复还是按库、按表恢复

代码:代码仓库、私有库

1.gitlab:要求版本必须一致,有两种方法
  方法一:使用gitlab自带的备份恢复功能

master节点:
    # /usr/bin/gitlab-rake gitlab:backup:create    //备份导出数据到文件中
    # scp   -r  /data/gitlab-bak/*  root@remote-gitlab:/data/gitlab/    //备份文件同步
backup节点:   
        # gitlab-ctl stop unicorn
    # gitlab-ctl stop sidekiq    //停止相关数据连接服务
    # gitlab-rake gitlab:backup:restore BACKUP=1521220887    //从指定编号备份恢复
    # sudo gitlab-ctl start     //启动Gitlab

  方法二:文件实时同步,重启gitlab即可

2.npm私有库:直接文件同步
  
3.编译后生成的目标文件:只能文件同步,或者编译完成后添加多地分发行为

环境:编译环境(前端runner)、运行环境(python依赖)

  方法一:系统镜像
  方法二:使用docker进行管理,解决环境的问题

配置相关

1.数据库配置
2.nginx配置
3.dns域名解析:定时导出域名下的所有解析记录
4.其他第三方与业务相关的配置(七牛存储服务、短信服务)

其他管理

1.构建管理:jenkins高可用
2.脚本管理:所有脚本上传到gitlab
3.监控管理