4. 值班台操作系统安装:Linux 发行版选择与基础优化

SRE 值班台作为故障响应与日常运维的入口节点,其操作系统选型与安装配置直接影响工具链兼容性、长期维护成本与故障排查效率。本章围绕发行版选择、分区方案与基础系统优化三个核心环节展开,提供可直接落地的实践标准。

4.1 Linux 发行版选择:Ubuntu vs. CentOS

值班台环境对操作系统的核心诉求包括:长期稳定支持、主流监控/告警工具的原生兼容性、以及社区/厂商的持续安全更新。当前主流选择集中在 Ubuntu LTS 与 CentOS Stream / Rocky Linux 两个方向。以下从关键维度进行对比:

对比维度 Ubuntu LTS (22.04/24.04) CentOS Stream / Rocky Linux 9
支持周期 5 年标准支持 + 5 年 ESM(扩展安全维护) CentOS Stream 滚动更新;Rocky Linux 10 年
包管理 APT + Snap DNF / YUM
默认内核 较新内核,硬件兼容性好 企业级内核,稳定性优先
监控工具兼容 Prometheus、Grafana、Telegraf 官方包支持完善 需启用 EPEL 或第三方仓库
容器/云原生 Docker/K8s 官方推荐,体验最佳 兼容性好,但部分新特性滞后
社区活跃度 极高,故障排查资料丰富 企业用户多,社区相对收敛
推荐场景 值班台、开发测试、云原生环境 传统企业、RHEL 兼容需求
实践建议: 对于新建 SRE 值班台,优先选择 Ubuntu 22.04 LTS 或 24.04 LTS。其较新的内核版本对 NVMe、万兆网卡、GPU 等硬件支持更友好,且 Prometheus 生态工具链的官方包维护最及时。若组织已有 CentOS 标准化基座,则选择 Rocky Linux 9 以保持兼容。

4.2 分区方案设计

值班台通常承载日志采集代理、告警引擎、Web 面板、本地缓存等混合负载,分区方案需兼顾 数据安全、磁盘空间隔离 与 故障恢复 三个目标。推荐采用 LVM(逻辑卷管理)方案,便于后续在线扩容。

4.2.1 推荐分区布局(以 500GB SSD 为例)

挂载点 大小 文件系统 说明
/boot 1 GB ext4 内核与引导文件,独立分区避免 / 满导致无法启动
/ 50 GB ext4 系统根目录,包含 /usr、/etc 等核心目录
/var 100 GB ext4 日志、数据库、缓存;值班台日志量较大,需独立隔离
/var/log 50 GB ext4 单独挂载日志分区,防止日志爆满影响系统
/opt 100 GB ext4 第三方软件、监控 Agent、自定义脚本
/home 20 GB ext4 用户数据,值班台通常多用户共享
swap 8 GB swap 物理内存的 0.5~1 倍,用于内存压力缓冲
剩余空间 ~171 GB LVM 卷组 保留为未分配空间,用于后续扩容或快照
避坑提醒: 不要将 /var 与 / 合并。值班台运行 Prometheus、Loki 或 Elasticsearch 时,日志与时间序列数据极易写满根分区,导致系统无法正常启动或 SSH 登录失败。独立 /var/log 分区是 SRE 值班台的最低安全要求。

4.2.2 LVM 分区流程示例

# 1. 创建物理卷
pvcreate /dev/sda3

# 2. 创建卷组
vgcreate vg_sre /dev/sda3

# 3. 创建逻辑卷
lvcreate -L 50G -n lv_root vg_sre
lvcreate -L 100G -n lv_var vg_sre
lvcreate -L 50G -n lv_log vg_sre
lvcreate -L 100G -n lv_opt vg_sre
lvcreate -L 20G -n lv_home vg_sre

# 4. 格式化并挂载
mkfs.ext4 /dev/vg_sre/lv_root
mkfs.ext4 /dev/vg_sre/lv_var
mkfs.ext4 /dev/vg_sre/lv_log
mkfs.ext4 /dev/vg_sre/lv_opt
mkfs.ext4 /dev/vg_sre/lv_home

mount /dev/vg_sre/lv_root /mnt/root
# ... 后续挂载到对应目录

4.3 基础系统优化

操作系统安装完成后,需执行一系列标准化优化操作,以提升值班台的稳定性、安全性与运维效率。以下为 SRE 值班台必须执行的优化项。

4.3.1 内核参数优化

值班台通常需要处理大量并发连接(监控数据上报、Web 面板访问),需调整内核网络栈参数:

# /etc/sysctl.d/99-sre-tuned.conf

# 网络连接优化
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_keepalive_time = 300

# 文件句柄限制
fs.file-max = 2097152

# 内存与 OOM 行为
vm.swappiness = 10
vm.overcommit_memory = 1

4.3.2 系统服务裁剪

减少不必要的后台服务,降低攻击面与资源占用:

  • 禁用:cups、bluetooth、avahi-daemon、postfix(若无需邮件)
  • 保留:sshd、systemd-journald、chronyd(NTP 同步)、rsyslog(日志转发)
  • 启用:firewalld 或 ufw(防火墙)、auditd(审计日志)

4.3.3 日志轮转与持久化

配置 logrotate 防止日志无限增长:

# /etc/logrotate.d/sre-custom
/var/log/sre/*.log {
    daily
    rotate 30
    compress
    delaycompress
    missingok
    notifempty
    create 0640 sre sre
    sharedscripts
    postrotate
        systemctl reload rsyslog >/dev/null 2>&1 || true
    endscript
}

4.3.4 时间同步与字符集

  • NTP 同步:安装 chrony,配置指向内网 NTP 服务器或 pool.ntp.org,确保值班台时间偏差 < 10ms
  • 字符集:设置 LANG=en_US.UTF-8,避免日志乱码
  • 时区:统一使用 UTC 时间,避免跨时区值班时的时间混淆

4.4 值班台操作系统安装流程总览

以下 SVG 图展示了从发行版选择到基础优化的完整安装流程,包含关键决策点与操作步骤:

SRE 值班台操作系统安装流程 值班台操作系统安装流程总览 1. 发行版选择 Ubuntu LTS 22.04/24.04 或 Rocky Linux 9 (根据组织标准选择) 2. 分区方案设计 LVM 逻辑卷管理 /boot 1G | / 50G /var 100G | /var/log 50G /opt 100G | 保留空间 ~170G 3. 系统安装 最小化安装 仅安装 SSH 与基础工具 4. 基础优化 内核参数调优 服务裁剪 日志轮转配置 NTP 与字符集 防火墙与审计 5. 验收与快照 关键决策点 • 是否使用 LVM? • /var/log 是否独立? • 是否启用防火墙?

4.5 安装后验收清单

完成安装与优化后,建议按以下清单逐项验收,确保值班台环境符合 SRE 运维标准:

验收项 检查方法 预期结果
分区挂载 df -h 所有分区正确挂载,无异常
LVM 状态 lvdisplay / vgdisplay 逻辑卷与卷组状态正常
内核参数 sysctl -a | grep -E 'somaxconn|swappiness' 参数值与配置一致
时间同步 chronyc sources -v 显示已同步,偏差 < 10ms
防火墙 firewall-cmd --list-all 或 ufw status 仅开放 SSH 与必要端口
日志轮转 logrotate -d /etc/logrotate.d/sre-custom 无错误输出
服务状态 systemctl list-units --type=service --state=running 仅保留必要服务
最佳实践: 完成验收后,立即使用 dd 或 Clonezilla 对系统盘制作一份完整镜像快照,作为值班台环境的黄金基线。后续所有值班台节点均基于此基线批量部署,确保环境一致性。