数据备份
需要备份的数据包含 MySQL, Redis, Elasticsearch 与附件
离线数据备份
在执行以下数据备份与恢复时,需要确保服务已经停止,否则有可能会引发数据一致性问题。
MySQL
导出
mysqldump -uroot -pxxxxx -R -E --single-transaction --databases ur_main > ur_main.sql
mysqldump -uroot -pxxxxx -R -E --single-transaction --databases new_ur > new_ur.sql
导入
mysql -uroot -p ur_main < ur_main.sql
mysql -uroot -p new_ur < new_ur.sql
Elasticsearch
备份前记录索引数据内容和数据总量,以便迁移后核对
curl http://elasticsearch-server:9200/_cat/indices?v
单节点备份
注意: 执行以下操作时必须正常退出 Elasticsearch 进程
cd ops/docker_env/var/lib/
tar zcf elasticsearch-data.tar.gz elasticsearch
单节点恢复
注意: 执行以下操作时必须正常退出 Elasticsearch 进程
cd elasticsearch_answer
tar 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/