实战练习
以下练习先不给答案。请在虚拟机、容器或测试服务器完成,不要直接用生产环境练习高危操作。
基础判断
- 登录后发现提示符显示 root,请列出继续操作前的检查。
apt list --upgradable包含内核、OpenSSL、Nginx 和 MySQL,设计升级计划。- 解释个人电脑使用
apt upgrade -y与生产服务器的风险差异。 - 区分
systemctl start、enable、reload和restart。
文件和磁盘
- 为
/srv/nloop/tmp设计清理 24 小时前文件的“预览—验证—删除”流程,并考虑活跃任务。 df -h显示 100%,但du找不到对应大文件,给出排查思路。- inode 耗尽但磁盘容量还有余量,说明原因和处理方式。
- 评审脚本
rm -rf "$TEMP_DIR"/*的风险。
服务和网络
- PM2 显示 online,但 Nginx 返回 502,按层次列出检查命令。
- 修改 Nginx 配置后,设计从
nginx -t到业务验证的流程。 - 设计修改 SSH 端口且不把自己锁在服务器外的操作步骤。
- 比较
pm2 restart、pm2 reload和kill -9的影响。
数据和部署
- 为一次新增非空数据库字段的发布设计兼容迁移流程。
- 写出 Node.js + TypeScript + PM2 的部署 Runbook 和回滚触发条件。
- MySQL 升级后应用无法连接,应保存哪些现场信息,如何决定回滚?
- 错误执行大范围 UPDATE 后,列出立即处置、恢复和复盘步骤。
综合事故演练
- 模拟磁盘使用率从 80% 快速增长到 98%,设计止损、定位和长期改进。
- 模拟软件包升级时 SSH 断开,列出备用入口和恢复检查。
- 模拟新版本健康检查成功但真实下载接口失败,说明为什么健康检查不足。
- 为一次生产变更制作包含操作人、窗口、命令、验证、回滚和结果的记录模板。