server_config: 系统级网络优化规范(KVM/LXC 差异 + qdisc 持久化 + sysctl.conf 覆盖坑)
- 新增 sysctl/99-zz-rrpp-network.{kvm,lxc}.conf 两套模板(99-zz- 前缀保证最后生效)
- 新增 systemd/rrpp-qdisc.service + scripts/rrpp-qdisc.sh(default_qdisc 只对新建网卡生效,需显式 replace)
- README §2.6:如实记录实测差异
* KVM/完整VM:rmem/wmem、netdev_max_backlog、default_qdisc、qdisc 均可写
* LXC/OpenVZ:上述项缺失或只读、eth0 为 noqueue、/usr/lib/sysctl.d 的 pid_max/fs.protected_* 报 permission denied(正常)
* 坑:sysctl --system 会在 sysctl.d 之后加载 /etc/sysctl.conf,实测某节点旧文件把 tcp_mtu_probing 覆盖回 0
- 记录 UDP 策略:节点不部署 UDP 传输,UDP 需求统一走 UoT v2(§5.5)
- 更新 §9 服务表、§10 验证清单、§11 目录索引
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
# 把默认路由网卡的根 qdisc 设为 fq(BBR 的最佳搭档)。
|
||||
# 背景:net.core.default_qdisc=fq 只对"新创建"的网卡生效,已存在的网卡
|
||||
# 重启后仍可能是 pfifo_fast/fq_codel,故用本脚本显式设置。
|
||||
# 仅在 KVM/裸机可用;LXC 容器内网卡为 noqueue,本脚本会自行跳过。
|
||||
set -uo pipefail
|
||||
IFACE=$(ip -4 route show default | awk '{print $5; exit}')
|
||||
[ -n "${IFACE:-}" ] || { echo "未找到默认路由网卡,跳过"; exit 0; }
|
||||
if tc qdisc show dev "$IFACE" 2>/dev/null | grep -q " noqueue"; then
|
||||
echo "$IFACE 为 noqueue(容器环境),跳过 qdisc 设置"
|
||||
exit 0
|
||||
fi
|
||||
tc qdisc replace dev "$IFACE" root fq 2>/dev/null && echo "已设置 $IFACE root qdisc = fq" || echo "设置 $IFACE qdisc 失败(可忽略)"
|
||||
Reference in New Issue
Block a user