灾备方案
数据备份
数据源 | 备份方案 | 备份周期 |
---|---|---|
PVC | 暂停velero或者手动脚本 | 未定 |
mysql | mysql&&xtrabackup | 每天全备+小时增备 |
etcd | 定时脚本 | 每小时 |
bootstrap | nfs定时备份 | 每天 |
mysql备份
逻辑备份
#!/bin/bash |
物理备份
docker load < xtrabuckup-k8s.tar |
容器化xtrabackup
导入xtrabuckup镜像
docker load < xtrabuckup.tar |
运行xtrabuckup容器
# 在备份数据库节点运行xtrabuckup容器(切记需要将准备备份的数据库数据目录挂载到容器的/bitnami/mysql/data目录下) |
全量备份
[root@2e70e90f864b /]innobackupex --defaults-file=/etc/my.cnf --user=root --password=root -H192.168.100.90 /data/basedir/ |
全量恢复
全量恢复前一定要关闭备份数据库服务并且删除数据文件及事务日志文件,否则会报错。
[root@host10~] # innobackupex --defaults-file=/etc/my.cnf --apply-log /data/basedir/2021-12-31_02-47-48 |
定时全量备份
编写系统定时脚本,周期性全量备份mysql数据库,然后上传备份数据到oss对象存储中。
#!/bin/bash |
Grafana面板备份
- 首先获取Grafana的api_key:menu–configuration–api keys – add API key
- 导出脚本grafana-dashboard-exporter.sh
#/bin/bash |
使用示例bash grafana-dashboard-exporter.sh http://localhost:3000 eyJrIjoiZkhiQUVDczNFT0QyUVE4YkJwb1RBbHasfaefaefdDVXT1dkVlkiLCJuIjoiemFpaHVpX2FXkiLCJpZCI6MX0=
- 导入脚本grafana-dashboard-importer.sh
#!/bin/bash |
使用示例
bash grafana-dashboard-importer.sh -t http:localhost:3000 -k eyJrIjoiZkhiQUVDczNFT0QyUaouefohaoeihoaefhaoiefiomFpaHVpX2FwaV9rZXkiLCJpZCI6MX0= -p ~/grafana-dashboard |