1.
准备与前置条件
- 环境确认:SSH可连通、root或有sudo权限、镜像/备份存放位置(本地磁盘、外部挂载或S3兼容对象存储)。
- 工具准备:确认已安装rsync、tar、cron或systemd-timer、ssh-key、jq(若需操作API)、Borg或Restic(推荐)。
- 建立恢复计划文档:写明IP、SSH端口、应急联系人、备份策略与恢复SOP。
2.
监控与告警部署
- 部署基础监控:使用Prometheus+Node Exporter或Zabbix收集CPU、内存、磁盘、网络、服务端口。
- 告警配置:设置阈值(如磁盘使用>80%、服务down),通过邮件/SMS/钉钉Webhook发送告警。
- 自动化自愈:在告警脚本中加入常见操作(例如systemctl restart xxx;重启网络接口),并记录日志。
3.
常见故障快速排查步骤
- 无法SSH:从本地尝试telnet IP port,检查防火墙(ufw/iptables)与sshd状态(sudo systemctl status sshd)。若端口被占用,查看sshd日志:sudo journalctl -u sshd -n 200。
- 服务崩溃或内存泄露:使用top/htop、ps aux --sort=-rss,查看最近日志:sudo journalctl -u
-n 200;若是应用问题,按需重启并保留core与日志用于分析。
4.
磁盘与文件系统故障恢复
- 磁盘空间耗尽:清理日志(/var/log/*.log)、临时文件、docker镜像;使用sudo du -hsx /* 找到大文件。
- 文件系统损坏:进入单用户或救援模式,使用fsck /dev/sdX -y;若是LVM快照可以mount快照并rsync数据到新卷。
5.
网络与DNS相关故障处理
- 路由/网络断连:检查ip route、ip addr、ethtool;重启网络服务(sudo systemctl restart networking 或 netplan apply)。
- DNS错误:本地hosts临时修复,检查bind或coredns配置,必要时调整DNS记录并降低TTL,以便快速切换指向备份服务器。
6.
故障恢复(从备份恢复数据)实操步骤
- 确认最新备份:列出备份清单(Borg: borg list /mnt/backup),确认时间点。
- 恢复步骤①:停止相关服务(sudo systemctl stop )。② 挂载目标卷(sudo mount /dev/sdX1 /mnt/restore)。③ 使用rsync或Borg恢复(rsync -a --delete /mnt/backup/ /mnt/restore/ 或 borg extract repo::archive)。④ 修正权限(chown -R)并重启服务,验证日志与功能。
7.
自动化备份方案:脚本 + cron/systemd
- 推荐工具:rsync+ssh(文件同步)、Borg/Restic(去重加密)、lvm快照(一致性)。
- 示例rsync脚本(保存为 /usr/local/bin/backup-rsync.sh):
#!/bin/bash
src="/var/www/"
dest="backup@backup.example.hk:/data/switch-server/$(hostname)/$(date +%F)"
rsync -az --delete --exclude='cache' "$src" "$dest"
在crontab中加入每日任务:0 2 * * * /bin/bash /usr/local/bin/backup-rsync.sh >/dev/null 2>&1
8.
对象存储与异地备份配置(香港节点)
- 使用S3兼容存储:配置rclone或awscli,保存凭证在~/.aws/credentials或rclone.conf。
- 备份到S3示例(restic):
export RESTIC_REPOSITORY=s3:s3.hk-region.example/bucket/switch
export AWS_ACCESS_KEY_ID=xxx
restic backup /var/www --verbose
配置定期 prune:restic forget --keep-daily 7 --keep-weekly 4 --prune
9.
定期演练与恢复演练(RTO/RPO验证)
- 每季度做一次恢复演练:通过模拟磁盘损坏或主服务宕机,按SOP恢复到备用主机并记录耗时。
- 验证点:数据完整性、服务依赖、DNS切换时间、回滚流程。将演练结果写入SLA改进计划。
10.
问:如果主机无法启动,如何最短时间恢复香港Switch服务器的业务?
问:主机无法启动时的最短恢复流程是什么?
答:首先切换DNS/负载均衡至已准备好的热备或临时主机;同时在控制台查看主机启动日志,若为磁盘故障,直接从最近快照或对象存储恢复到新主机(按第6段恢复步骤),验证应用并切换流量,整个过程提前准备好脚本可在30-120分钟内完成。
11.
问:自动化备份如何保证一致性,尤其是数据库级别?
问:怎样保证数据库备份的一致性?
答:使用数据库自身的备份工具(mysqldump或mysqldump --single-transaction, pg_dump),或先对数据库做LVM快照再进行文件级备份;对于在线业务优先使用逻辑备份或支持在线快照的备份工具(Percona Xtrabackup、pg_basebackup)并结合WAL/增量备份,确保RPO最小化。
12.
问:在香港部署switch服务器,哪些安全与运维要点必须注意?
问:部署时关键的安全运维要点有哪些?
答:保持系统与应用补丁及时更新、启用SSH密钥登录并关闭密码登录、配置防火墙白名单、启用入侵检测(Fail2ban)、对备份进行加密并使用异地备份、设置最小权限账号与监控告警,定期审计与演练,确保合规与快速恢复能力。
来源:维护switch服务器香港 常见故障恢复与自动化备份方法