数据备份
需要备份的数据包含 MySQL, Redis, Elasticsearch 与附件
#
离线数据备份在执行以下数据备份与恢复时,需要确保服务已经停止,否则有可能会引发数据一致性问题。
#
MySQL#
导出mysqldump -uroot -pxxxxx -R -E --single-transactio --databases ur_main > ur_main.sqlmysqldump -uroot -pxxxxx -R -E --single-transactio --databases new_ur > new_ur.sql
#
导入mysql -uroot -p ur_main < ur_main.sqlmysql -uroot -p new_ur < new_ur.sql
#
Elasticsearch备份前记录索引数据内容和数据总量,以便迁移后核对
curl http://elasticsearch-server:9200/_cat/indices
#
单节点备份注意: 执行以下操作时必须正常退出 Elasticsearch 进程
cd ops/docker_env/var/lib/tar zcf elasticsearch-data.tar.gz elasticsearch
#
单节点恢复注意: 执行以下操作时必须正常退出 Elasticsearch 进程
cd elasticsearch_answertar zxf elasticsearch-data.tar.gz data
验证目录与数据的准确性,执行以下命令,如果出现 nodes 目录,即为正确
ls -lha data
多节点集群在备份与恢复时,尽可能将数据集中到某一个节点,使集群变为单节点集群。
#
Redis#
备份与恢复注意: 执行以下操作时必须正常退出源 redis-server 进程与目标 redis-server 进程
使用 ops/docker_env/var/lib/redis/dump.rdb
替换目标服务器文件 redis/data/dump.rdb
#
附件备份与替换以下存储目录即可
/data/vhosts/rec.ur.qq.com/
#
定时备份NFS Server 里的目录 /data/backup
,依赖定时任务 ops/standalone/crontab/backup.sh
, 可参考 nfs-backup-job.yml
, 按天备份内容如下
- 附件
- MySQL
- Elasticsearch