运维知识框架

运维知识框架

针对运维岗位面试的详细技术体系及核心知识点梳理,涵盖系统、网络、存储、自动化、云原生、监控、安全等多个方向,帮助你构建完整的知识框架:


一、Linux系统管理(深度篇)

1. 系统性能分析
  • 工具链与指标

    • CPUtop%Cpu(s))、vmstatr列表示运行队列长度)、pidstat -u(进程级CPU统计)、perf(火焰图生成)。
    • 内存free -m(关注available)、vmstat -s(详细内存统计)、smem(按进程统计内存占用)。
    • I/Oiostat -x%utilawait)、iotop(实时磁盘I/O监控)、blktrace(块设备级追踪)。
    • 网络iftop(实时流量监控)、nethogs(按进程统计网络带宽)、ss -s(查看套接字状态)。
  • 高级命令

    复制代码
    # 追踪进程的系统调用
    strace -p <PID> -T -ff -o trace.log
    
    # 动态追踪内核函数(需安装SystemTap或BPF工具)
    bpftrace -e 'tracepoint:syscalls:sys_enter_* { @[probe] = count(); }'
    
    # 分析内存泄漏(查看进程的/proc/PID/smaps)
    grep -E 'Rss|Pss' /proc/<PID>/smaps | awk '{sum+=$2} END {print sum}'
2. 内核调优
  • 关键参数

    复制代码
    # 调整文件描述符限制
    sysctl -w fs.file-max=1000000
    
    # 网络调优(避免TIME_WAIT过多)
    sysctl -w net.ipv4.tcp_tw_reuse=1
    sysctl -w net.ipv4.tcp_max_tw_buckets=10000
    
    # 内存溢出保护(OOM Killer策略)
    sysctl -w vm.overcommit_memory=2  # 禁止过度分配
    sysctl -w vm.panic_on_oom=0       # 不触发系统panic
3. 常见故障场景
  • 磁盘满但df显示未满 :可能被删除的文件仍被进程占用(lsof | grep deleted)。
  • 系统卡顿但CPU/内存正常 :检查I/O等待(%wa)或SWAP使用(si/so)。
  • 服务启动端口冲突netstat -tunlp | grep <端口>ss -ltnp

二、网络协议与排障(进阶)

1. 核心协议
  • TCP/IP协议栈
    • 三次握手 :SYN → SYN-ACK → ACK(关注半连接队列net.ipv4.tcp_max_syn_backlog)。
    • 四次挥手:FIN → ACK → FIN → ACK(TIME_WAIT状态的作用与优化)。
    • 拥塞控制:慢启动、拥塞避免、快重传、快恢复(算法如CUBIC、BBR)。
  • HTTP/HTTPS
    • 状态码(502/504区别)、Keep-Alive机制、TLS握手过程(SNI扩展)。
    • 使用curl -v调试请求头/响应头,或openssl s_client检查证书链。
2. 高级排障工具
  • tcpdump高级用法

    复制代码
    # 抓取HTTP GET请求
    tcpdump -i eth0 'tcp port 80 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420)'
    
    # 分析TCP重传
    tcpdump -nn -i eth0 'tcp[tcpflags] & (tcp-syn|tcp-ack) == tcp-syn'
  • Wireshark过滤

    • 显示重传包:tcp.analysis.retransmission
    • 分析HTTP延迟:http.time > 1
3. 网络架构设计
  • 负载均衡:LVS(DR/NAT模式)、Nginx(加权轮询、一致性哈希)、HAProxy。
  • CDN原理:边缘节点缓存、DNS解析劫持、动态内容加速(QUIC协议)。
  • 网络隔离:VLAN、VXLAN、Calico的BGP路由方案。

三、存储与文件系统(企业级场景)

1. 磁盘与RAID
  • RAID级别

    • RAID 0:条带化(高性能,无冗余)。
    • RAID 1:镜像(高可靠,容量减半)。
    • RAID 5/6:分布式校验(平衡性能与安全)。
    • RAID 10:镜像+条带化(高性能高可靠)。
  • LVM管理

    复制代码
    # 创建逻辑卷
    pvcreate /dev/sdb1
    vgcreate vg_data /dev/sdb1
    lvcreate -L 100G -n lv_data vg_data
    mkfs.xfs /dev/vg_data/lv_data
2. 分布式存储
  • Ceph架构:Monitor、OSD、MDS、RADOSGW(对象存储)、RBD(块存储)。
  • MinIO:S3兼容、纠删码、多节点部署。
  • NFS调优rsize/wsize优化、使用TCP协议、避免频繁元数据操作。

四、自动化运维与DevOps

1. Ansible深入
  • 核心概念

    • Inventory:动态主机清单(支持EC2、OpenStack等云平台API)。
    • Playbook :任务原子化(roles/目录结构)、条件判断(when)、循环(loop)。
    • Vault:加密敏感数据(如密码、API Key)。
  • 场景示例

    复制代码
    # 批量部署Nginx
    - name: Install Nginx
      hosts: webservers
      tasks:
        - name: Add Nginx repo
          yum_repository:
            name: nginx
            description: Nginx repo
            baseurl: http://nginx.org/packages/centos/$releasever/$basearch/
            gpgcheck: no
        - name: Install Nginx
          yum:
            name: nginx
            state: latest
        - name: Start Nginx
          service:
            name: nginx
            state: started
            enabled: yes
2. CI/CD流水线
  • 工具链集成

    • 代码管理:Git(分支策略、Tag发布)。
    • 构建:Jenkins Pipeline、GitLab CI、GitHub Actions。
    • 部署:蓝绿发布、金丝雀发布(Kubernetes + Argo Rollouts)。
  • 示例流程

    复制代码
    // Jenkinsfile 示例
    pipeline {
      agent any
      stages {
        stage('Build') {
          steps {
            sh 'mvn clean package'
          }
        }
        stage('Test') {
          steps {
            sh 'mvn test'
          }
        }
        stage('Deploy') {
          steps {
            sh 'kubectl apply -f k8s/deployment.yaml'
          }
        }
      }
    }

五、云原生与容器化

1. Kubernetes核心
  • 架构组件
    • 控制平面:API Server、Scheduler、Controller Manager、etcd。
    • 工作节点:Kubelet、Container Runtime(Docker/Containerd)、kube-proxy。
    • 网络模型:CNI插件(Calico/Flannel)、Service(ClusterIP/NodePort/LoadBalancer)、Ingress(Nginx/Traefik)。
  • 高级调度
    • 亲和性/反亲和性nodeAffinitypodAntiAffinity
    • 资源限制requestslimits(CPU/memory)。
    • HPA:基于CPU/内存或自定义指标(Prometheus Adapter)自动扩缩容。
2. 服务网格(Service Mesh)
  • Istio核心
    • 数据平面:Envoy代理(Sidecar模式)。
    • 控制平面:Pilot(服务发现)、Mixer(策略管理)、Citadel(安全)。
    • 功能:流量管理(金丝雀发布)、熔断、链路追踪(Jaeger集成)。

六、监控与日志(企业级实践)

1. 监控体系设计
  • 指标分类

    • 基础设施:CPU/内存/磁盘/网络。
    • 中间件:MySQL连接数、Redis命中率、Kafka堆积量。
    • 应用层:HTTP请求延迟、JVM GC时间、自定义业务指标。
  • Prometheus进阶

    • PromQL示例

      promql

      复制代码
      # 计算CPU使用率
      100 - (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
      
      # 预测磁盘填满时间
      predict_linear(node_filesystem_free_bytes{mountpoint="/"}[1h], 3600*24)
2. 日志管理
  • ELK Stack
    • Filebeat:日志采集(支持多行合并、字段过滤)。
    • Logstash:解析(Grok模式)、转换(如时间戳格式化)。
    • Elasticsearch:索引分片策略、冷热数据分层。
    • Kibana:可视化仪表盘、告警规则(Watcher)。

七、安全与合规

1. 安全加固
  • Linux加固
    • 禁用root远程登录(PermitRootLogin no)。
    • 配置SSH密钥登录、Fail2Ban防暴力破解。
    • 定期更新内核(yum update --security)。
  • Kubernetes安全
    • RBAC权限控制(Role/ClusterRole)。
    • Pod安全策略(PSP)、NetworkPolicy限制流量。
    • 镜像扫描(Trivy、Clair)。
2. 合规审计
  • 审计工具
    • Linux审计auditd(跟踪文件访问、用户命令)。
    • K8s审计:启用API Server审计日志,记录关键操作(如Pod删除)。
  • 合规标准:GDPR、等保2.0、ISO 27001。

八、软技能与项目实战

1. 故障复盘(Postmortem)
  • 经典案例
    • 案例1 :某次数据库主从延迟导致业务数据不一致。
      • 根因:大事务未拆分,从库单线程回放。
      • 解决:拆分为小事务、启用并行复制(MySQL 5.7+)。
    • 案例2 :CDN节点故障导致静态资源加载失败。
      • 根因:DNS解析异常,未配置多CDN厂商容灾。
      • 解决:动态DNS切换、增加回源策略。
2. 沟通与协作
  • 跨团队协作
    • 使用Jira/Confluence管理需求与文档。
    • 通过定期同步会议(如每日站会)对齐进度。
  • 冲突解决:以数据驱动决策(如A/B测试结果),明确优先级(如稳定性 > 新功能)。

九、推荐学习资源

  1. 书籍
    • 《Linux系统架构与运维实战》
    • 《Kubernetes权威指南》
    • 《Site Reliability Engineering》(Google SRE手册)
  2. 在线课程
    • Coursera: "Google IT Support Professional Certificate"
    • Udemy: "Linux Administration Bootcamp"
  3. 实践平台
    • Katacoda(在线K8s实验)
    • AWS/GCP免费层(部署真实项目)

通过以上体系化的学习与实战,你不仅能应对面试,还能构建完整的运维技术栈,适应企业级复杂场景的需求。

相关推荐
Arvin6274 小时前
Nginx 添加账号密码访问验证
运维·服务器·nginx
风曦Kisaki5 小时前
# Linux 磁盘查看命令详解:df 与 du
linux·运维·网络
攻城狮在此5 小时前
华为交换机Console口密码如何清除
运维·网络·华为
内心的一片海6 小时前
服务器内存异常占用
运维·服务器
liulilittle7 小时前
C++ 无锁编程:单停多发送场景高性能方案
服务器·开发语言·c++·高性能·无锁·原子
m0_738120727 小时前
渗透基础知识ctfshow——Web应用安全与防护(第一章)
服务器·前端·javascript·安全·web安全·网络安全
亚空间仓鼠7 小时前
OpenEuler系统常用服务(四)
linux·运维·服务器·网络
郝学胜-神的一滴7 小时前
Socket实战:从单端聊天到多用户连接的实现秘籍
服务器·开发语言·python·网络协议·pycharm
MichealChen0105087 小时前
Influxdb-cluster使用docker部署
运维·docker·容器