控制器 MySQL 数据备份
创建时间:2024-04-02 最近修改时间:2024-04-02
#1. 控制器 MySQL 数据备份
每日自动备份数据存在 mntnct 所在节点的 /usr/local/deepflow/mysql 下
控制器数据主要在 MySQL 中,参考 MySQL 标准备份方法即可,备份之前请先查看 MySQL 数据目录大小、并使用 deepflow-deploy -d 卸载所有 DeepFlow 组件:
恢复数据之前也需要使用 deepflow-deploy -d 停止所有 DeepFlow 进程。
备份数据库:
# 进入 mntnct 服务对应的 POD 执行 kubectl exec -it -n deepflow pod-xxxxxxxx sh
BACKUP_FILE="/usr/local/deepflow/mysql/manual-backup-deepflow-$(date +%F-%H-%M-%S).sql.gz" && mysqldump -h${MYSQL_HOST} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -P${MYSQL_PORT} deepflow --hex-blob --max_allowed_packet=512M | gzip > ${BACKUP_FILE} && echo "Backup File Path: ${BACKUP_FILE}"
1
2
2
恢复数据库:
# 进入 mntnct 服务对应的 POD 执行 kubectl exec -it -n deepflow pod-xxxxxxxx sh
mysql -hmysql -uroot -p -P30130 deepflow < __FIX_ME_备份的文件名__
1
2
2
#2. 数据节点指标数据备份
指标数据存储于 InfluxDB 中,进入 Influxdb pod 后可参考如下方法进行备份和恢复。
influxd backup
[ -database <db_name> ]
[ -portable ]
[ -host <host:port> ]
[ -retention <rp_name> ] | [ -shard <shard_ID> -retention <rp_name> ]
[ -start <timestamp> [ -end <timestamp> ] | -since <timestamp> ]
<path-to-backup>
1
2
3
4
5
6
7
2
3
4
5
6
7
influxd restore [ -db <db_name> ]
-portable | -online
[ -host <host:port> ]
[ -newdb <newdb_name> ]
[ -rp <rp_name> ]
[ -newrp <newrp_name> ]
[ -shard <shard_ID> ]
<path-to-backup-files>
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
#3. 数据节点流量日志数据备份
流量日志数据使用 Elasticsearch 存储,可使用快照方式进行备份:
PUT /_snapshot/my_backup
{
"type": "fs",
"settings": {
"location": "my_backup_location"
}
}
1
2
3
4
5
6
7
2
3
4
5
6
7