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 图展示了从发行版选择到基础优化的完整安装流程,包含关键决策点与操作步骤:
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 对系统盘制作一份完整镜像快照,作为值班台环境的黄金基线。后续所有值班台节点均基于此基线批量部署,确保环境一致性。