我有五台服务器,运维体系是怎么搭起来的
我有五台服务器,分布在三个云厂商。
最早就一台,后来服务越来越多,一台扛不住,就开始加。加着加着就五台了。
为什么是五台
一开始全放一台机器上,数据库吃内存把 Web 服务挤挂过。后来按职责拆了:
- A(腾讯云):核心业务
- B(阿里云):轻量应用 + 监控中心
- C(腾讯云):网关层 + AI 助手
- D(华为云):边缘节点
SSH 管理
禁掉密码登录,只用密钥。改掉默认端口。用 SSH Config 统管所有机器。
1 | Host A |
五台机器不用 Ansible,SSH Config 加个巡检脚本够了。
Docker 统一化
宿主机上除了 Docker,啥都不装。每个服务一个目录:
1 | service-name/ |
重启策略 unless-stopped,机器重启后服务自动拉起来。
网络与安全
公网只开放三个端口:SSH、80、443。其余端口全部关闭,防火墙白名单模式。
内部通信走内网端口,不对外暴露。Tailscale 给移动设备用,出门在外手机或笔记本连回内网查东西。
所有内部服务加统一认证,没登录的人连页面都看不到。
监控
轻量级方案,没上 Prometheus + Grafana。一台机器跑中心节点,其余装 Agent。CPU、内存、磁盘、网络一个面板看完。
告警推到手机,半夜服务挂了能收到通知。
备份
每天凌晨自动跑,备份完传到对象存储。脚本是 AI 帮忙写的。
配置和工作空间用 Git 管理,推到私有仓库,相当于异地备份。
教训:备份不验证等于没备份。定期做一次恢复测试。
域名与路由
一个域名,靠子域名区分所有服务。证书用通配符,不用每个子域名单独申请。DNS 和域名管理交给 AI 维护,我只下指令。
AI 助手
24 小时在线,能干这些:
- 服务器巡检,跑完出报告
- 日志分析,异常预警
- 写备份脚本、监控脚本
- 群聊里直接问服务器状态
以前出了问题去查,现在 AI 查完了告诉我。
最后
搭好自动化体系,让机器自己跑、自己备份、自己报警。人只在出问题的时候介入。
够用、稳定、能快速恢复,比什么都重要。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 星空!
评论