LabHub
学习 学习路径 课程

面对陌生系统

动手之前先画一张地图

在 LabHub 中继续学习

目标

面对首次接触的客户系统,在进行任何操作之前先绘制地图。 明确需要请求什么、调查范围到哪里、哪些组件彼此相连、什么时候安全, 并首先写下回滚方法。

环境

一套客户系统位于 /opt/data/site。对你来说这是新系统,但对客户而言它已运行 10 年, 期间积累了许多从未记录的依赖关系。创建副本后,在该副本上工作。

cp -r /opt/data/site /root/site
cd /root/site
ls -R | head -40

你收到的只有这些。没有架构图,也没有 Wiki。

要创建的文件

inventory.txt   무엇이 있는지 + 첫날 요청할 것
retention.txt   로그 보존 기간과 그것이 조사에 뜻하는 것
upstream.txt    이 서비스를 부르는 쪽
downstream.txt  이 서비스가 부르는 쪽
shared.txt      구성도에 없는 공유 상태
timing.txt      언제가 안전하지 않은가
plan.md         변경 계획 — 첫 줄이 되돌리는 방법
rollback.sh     실제로 되돌리는 스크립트
snapshot.sh     재시작 전에 상태를 남기는 스크립트

评分方式

第 7 步和第 8 步中,评分程序会直接运行你的脚本。

rollback.sh  채점기가 설정을 일부러 바꾼 뒤 돌려서, 원본으로 돌아오는지 봅니다
snapshot.sh  프로세스·메모리·열린 파일·최근 로그 네 가지가 시각과 함께 나오는지 봅니다

只说不做的脚本无法通过。而且无论发生什么情况,评分程序都会将你的配置恢复原状。

步骤

  1. 记录现有内容,并列出第一天应同时提出的请求。 审批体系大多是串行的,因此第一天全部提交,才能并行推进。
  2. 找出日志的保留期限。该值决定调查范围。
  3. 根据访问日志的源 IP 找出所有上游,并统计各自的请求数量。
  4. 从配置中找出下游,并写明更改哪些内容时会给下游带来风险。
  5. 比较两个配置文件,找出共享状态
  6. 从 crontab 中找出批处理窗口,确定安全时段。
  7. plan.mdrollback.sh——变更计划的第一行不是变更内容, 而是回滚方法。还要写明回滚所需时间和观察窗口。
  8. snapshot.sh——在重启前保留状态。

参考

第 8 步的原因是本练习中最容易被忘记的部分。重启在消除症状的同时, 也会一并抹去证据。 即使必须重启,只要事先留下快照, 这一个文件日后就能构成报告的一半。

现有什么,需要请求什么

记录现有内容,并列出第一天应同时提出的请求。 审批体系大多是串行的,因此第一天全部提交,才能并行推进。

先查看有多少个配置文件。然后列出第一天要提出的请求——审批体系大多是串行的,只有 VPN 完成后才能创建账号,账号创建后才能授予权限。第一天全部同时提交,才能并行推进。

保留期限决定调查范围

找出日志的保留期限。该值决定调查范围。

该信息写在 etc/logrotate.conf 中。还要确认它是否与轮转文件的数量一致。如果收到超出该期限的问题反馈,就无法通过日志进行确认。

谁在调用该服务

根据访问日志的源 IP 找出所有上游,并统计各自的请求数量。

统计访问日志中的源 IP。不能只找到一个就结束——当该服务停止时,所有同时停止的系统都属于影响范围。

该服务在调用什么

从配置中找出下游,并写明更改哪些内容时会给下游带来风险。

查看配置中的 downstream。还要写明更改哪些内容时会给下游带来风险——延长超时时间时,我们认为给出了余量,但下游的连接会被占用更久。

架构图中没有的共享状态

比较两个配置文件,找出共享状态

共有两个配置文件。查看是否存在指向同一对象的行。共享状态通常不会画在架构图中,但事故往往发生在这里。

什么时候不安全

从 crontab 中找出批处理窗口,确定安全时段。

查看 crontab,确认日终结算、夜间报告和月度结算各自在什么时候运行。即使技术上安全,时机错误也会造成事故。

首先写回滚方案

plan.mdrollback.sh——变更计划的第一行不是变更内容, 而是回滚方法。还要写明回滚所需时间和观察窗口。

变更计划的第一行必须是回滚方法。还要写明回滚所需时间和观察窗口(观察什么、观察多久)。评分程序会故意修改配置,再运行你的 rollback.sh,确认能否恢复原状。

在重启前留下记录

snapshot.sh——在重启前保留状态。

重启在消除症状的同时也会抹去证据。请将进程、内存、打开的文件和近期日志这四项内容连同时间一起保存。这个文件日后会构成报告的一半。