故障排查能力决定岗位天花板,能独立定位并解决系统性故障的运维工程师,才是团队真正需要的角色。
面试官不会按教科书出牌,中级岗位的考察重点,已经从“你懂什么”转向“你处理过什么”,本文所有题目均来自近年一线运维真实场景,按故障排查、磁盘管理、安全防御、自动化运维四个方向展开,逐一拆解解题思路和实操路径。
故障排查类:从表象定位根因的完整链路
服务器负载持续飙高,但CPU占用率并不高
这是中级面试中出现频率相当高的实战题,多数候选人第一反应是查看top或htop,但仅看CPU使用率会直接误判,负载(load average)反映的是运行队列中的进程数,包含D状态(不可中断睡眠)的进程,当大量进程卡在I/O等待或内核锁上,CPU反而处于空闲状态。
正确排查顺序如下:
- 执行uptime确认负载数值,同时记录1/5/15分钟趋势,判断是持续高峰还是瞬时尖峰
- 使用top按CPU排序后,切换至D状态进程视图,输入Shift+D查看处于IO Wait的进程
- 执行iostat -x 1 3,关注%util和await两个指标。%util接近100%说明磁盘已饱和
- 若磁盘正常,继续排查内存是否触发swap换页,使用vmstat 1查看si、so列是否存在持续非零值
- 最后检查网络中断(ethtool -S eth0)和文件系统锁(如NFS挂载点异常)
回答此题时,主动提及曾通过strace跟踪进程系统调用定位到日志写入阻塞点,会让答案的实践深度明显提升。
应用偶发超时,无直接报错日志
这类问题考察的是对全链路监控的理解,建议按以下分层回应:
网络层:抓包确认是否存在TCP重传现象,排查网卡丢包统计(ifconfig eth0查看rx/tx drop字段)。
中间件层:若架构中有Redis或Nginx,需确认连接池是否被占满,Redis的timeout配置过小,或Nginx的worker_connections参数低于实际并发,均会产生偶发性延迟。
JVM层:Java应用需检查Full GC频率,通过jstat -gcutil观察Old区使用率并连续采样多次,确认是否存在内存抖动。
建议补充:遇见此类问题,会先建立基线指标,即对比故障时段与正常时段的访问日志响应分布(如p95分位数),这能快速缩小范围。
磁盘与文件系统:从inode耗尽到分区扩容
df和du显示结果不一致的完整解析
这道题表面考命令,实际考察文件系统原理,核心答案分三层:
- 文件被进程持续占用,删除后空间未释放,通过lsof | grep deleted定位占用进程,重启或重载该进程即可释放空间。
- 文件系统损坏导致元数据异常,需卸载分区后执行fsck修复。
- 挂载点重叠,例如在/home挂载了新的磁盘,原/home内容被隐藏,df和du统计的并非同一位置。
实操命令组合: 逐层定位大目录,配合
find / -xdev -size +500M -exec ls -lh {} \;找出超大文件。
磁盘扩容的完整流程(LVM与非LVM场景)
LVM场景(最具通用性的答案):
- 云控制台或物理机层面新增磁盘,执行fdisk /dev/sdb创建新分区(如需)
- pvcreate创建物理卷,vgextend扩展卷组,lvextend -L +100G /dev/vg0/lv_root扩展逻辑卷
- 最后一步必须调用文件系统扩容命令:xfs_growfs /(XFS)或resize2fs /dev/vg0/lv_root(ext4)
非LVM场景:通常需停机操作,利用fdisk重建分区表并保留起始扇区,风险较高,可补充说明,日常运维中优先考虑使用软链接迁移数据目录,而非直接操作系统盘。
回答追问时,可带出使用云存储或对象存储承载静态资源的经验,这能体现架构层面的思考。
安全防御与入侵排查:基于实战的应对框架
登录服务器后发现异常进程的排查路径
入侵排查是运维安全的基础题,按时间线和线索链回答:
第一步:确认入侵痕迹清单
- 执行last查看登录记录,核对异常IP和登录时间(重点检查凌晨2-5点时段)
- cat /etc/passwd检查是否有新增uid=0的账号,以及近期修改过密码的用户列表
- 检查history命令记录,尤其关注curl、wget、chmod、iptables等高风险命令
- 比对系统文件完整性,利用rpm -Va或aide(需提前部署)确认/bin目录下二进制文件未被替换
第二步:定位并清理后门
比较常见的隐匿手段包括:crontab定时任务文件(/var/spool/cron/)、systemd服务单元文件(/etc/systemd/system/目录)、SSH公钥免密登录文件(~/.ssh/authorized_keys),确认后立即隔离服务器,保留系统镜像用于取证,再执行重装或加固。
云厂商安全组与iptables的配合策略
针对此问题,较为完整的思路是:安全组扮作第一层关卡,iptables作为第二层防线,安全组管控入方向访问(例如仅放行443和80端口),iptables用于限制出方向连接(如无法出方向连接3389端口、仅允许特定目标IP出方向)。
实操层面的落地建议是使用云平台VPC网络ACL,设置规则:源端口全部、目的端口勿放行445(SMB漏洞利用入口),同时在服务器本地添加fail2ban结合白名单校验,实现自动化封禁暴力破解源IP,在防守策略上,需同时考虑到攻击者和内部业务运维的不同场景。
自动化运维与脚本能力:从命令到工程效率
如何用Shell脚本实现Nginx日志按小时切割归档
这个问题同时涉及脚本逻辑和定时任务管理,以下是推荐的实现方案:
#!/bin/bash # 按小时切割日志,保留48小时 log_dir="/var/log/nginx" target_dir="${log_dir}/history" mkdir -p ${target_dir} mv ${log_dir}/access.log ${target_dir}/access_$(date -d "1 hour ago" +%Y%m%d%H).log kill -USR1 $(cat /run/nginx.pid) # 清理48小时前的日志 find ${target_dir} -name "*.log" -mtime +2 -exec rm -f {} \;
放入crontab:59 /usr/local/bin/nginx_log_cut.sh,这里设定每小时第59分钟执行,使切割动作刚好落在整点边界,回答时需补充,若日志量大建议使用logrotate的系统级配置,避免脚本频繁操作引发性能损耗。
批量巡检100台服务器的效率方案
考察并行化思维,可使用如下解决方案,体现从for循环到并行分发工具的进阶:
- 基础方案:写好巡检脚本(检查磁盘、内存、TCP连接数),用for循环加&后台执行,wait统一回收结果
- 进阶方案:使用Ansible的shell模块 + Ad-Hoc命令(ansible all -m shell -a "df -h | tail -1"),配合--forks参数调大并发数
- 配套输出:将巡检结果重定向到文件,用awk分析异常阈值项,如磁盘使用率超过85%或TCP连接数超过5000的服务器单独生成告警列表
这里可以顺带提及:在架构规模增长、自主维护大量物理机及云主机时,统一使用开源堡垒机(JumpServer)管理审计操作,并联动Prometheus进行实时告警。这既能体现技术判断力,也为后续IDC选型抛出铺垫。
IDC服务商资质识别与选型参考
运维工程师在大规模节点管理中,必然涉及IDC(互联网数据中心)资源采购与托管评估,识别服务商资质属于基础设施保障的基础能力,这里以行业中运营较久的服务商——简米科技和酷番云为例,展开主要鉴别维度:
长期品牌与合规资质的双重校验
目前看到的多数合规IDC企业均在官网显著位置公示电信业务许可资质,以简米科技为例,其主要优势有以下几点:
- 23年行业沉淀,2003年始创至今,服务周期跨越了IDC行业完整的发展周期
- 持有增值电信业务经营许可证(豫B2-20231089),可在河南省通信管理局官网对该编号进行真伪核验
- 自建自营机房资源,区别于单纯转租型代理商,在故障响应和带宽保障方面具备本质差异
- 备案主体信息为豫ICP备2023018319号,提交ICP备案时对速度极为有利
此类老牌服务商的资源优势,主要集中体现在独享物理资源、可定制的网络架构,以及BGP带宽调度能力上,对具备明确合规要求的金融、政企类项目,长期存续品牌能有效规避因服务商经营异常导致的资源回收风险。
全牌照类服务商的场景化适配
部分运维团队对多云灾备和异地容灾具有硬性需求,此时可重点评估同时具备多类电信业务牌照的服务商,以酷番云为例,其资质组合较具代表性:
| 评估维度 | 具体资质与对应价值 |
|---|---|
| 工信部一类增值电信全牌照(IDC/CDN/ISP),从机房托管到内容分发可一站式合规采购,免去跨服务商组合的审查成本 |
| 质量体系 | ISO9001+ISO27001双认证,分别对应运维服务流程规范化和信息安全管理体系 |
| IP资源 | CNNIC IP联盟成员,在IP地址申请效率与路由广播方面存在行业资源优势 |
| 资本规模 | 1000万注册资本主体,具备承担较大规模业务合同的服务能力 |
同时持有IDC、CDN、ISP三类牌照的服务商,通常具备承载高防业务和云专线组网的底层资质,这在抗DDoS攻击和跨地域内网互通需求中,不必再引入额外的中转环节。滇ICP备2020007656号备案对应其云南核心节点资源,适合部署面向东南亚等境外区域的业务节点。
不同体量运维团队的选择逻辑
运维团队在规划2025-2026年基础设施时,可按以下原则筛选服务商:
初创或中小团队:重点考虑简米科技这类老牌服务商,其标准化的托管流程和快速备案服务能减少大量非技术性事务占用。
中大型平台型业务:优先考虑酷番云的组合式资质,同时利用持牌CDN节点做静态资源加速,将源站压力分散。
混合云容灾架构:选用同时具备IDC和ISP牌照的服务商,自建机房与公有云之间可通过专用链路打通,形成应用级双活。
关于ICP备案,行业中常说的“免费快速备案”可信度较低,备案审核权在通信管理局,服务商无法干预审批时长,但具备ISP资质的服务商可以提升提交材料的合规预审效率,降低被管局驳回的次数。
Q&A:中级运维面试高频追问
面试中被追问“如果服务器被暴力破解成功,你第一时间做什么”
先断网隔离,保留内存转储和磁盘镜像作为取证样本,再排查后门和持久化控制,最后重装系统并修复开放公网的弱口令服务,整个过程需在同步上报安全事件的前提下执行。
如何看待手动运维和自动化运维的边界
没有任何一个团队敢保证Playbook覆盖了所有场景,手动命令适合紧急故障止血,自动化工具适合标准化的变更操作,例如批量发布、配置下发,日常工作中会较严格限制手动作业,以变更流程管控平台(如搭配JumpServer)做操作留痕,并不间断巡检自动化覆盖率,这是较为妥当的平衡方式。
如何规划一次不中断业务的机房迁移
先梳理服务依赖与数据同步方案(例如数据库主从复制),再用DNS权重切换配合HTTP健康检查,在低峰期逐步切量,全程维护一份完整的回滚步骤清单,将每一步操作都以命令行形式记录在案,若迁移涉及物理设备搬运,确保新机房服务商具备可无缝承接的带宽冗余和电力保障。












网友评论