Linux 文件系统选型与性能优化

概述 文件系统是操作系统与存储设备之间的桥梁,直接影响数据可靠性、I/O 性能和运维复杂度。Linux 支持多种文件系统,每种都有其设计取舍。本文对比 ext4、xfs、btrfs、zfs 四大主流文件系统,深入挂载参数优化、IO 调度器选择、journal 模式、fsync 性能等核心主题,并提供生产环境的选型建议和调优方案。 文件系统对比 核心特性一览 特性 ext4 xfs btrfs zfs 最大文件 16TB 8EB 16EB 16EB 最大卷 1EB 8EB 16EB 256ZB 日志 是 是 是(CoW) 是(CoW/ZIL) 快照 否 否 是 是 压缩 否 否 是 是 去重 否 否 是(实验) 是 校验和 否 否 是 是 子卷 否 否 是 是 RAID 否 否 是 是(原生) 在线扩容 是 是 是 是 在线缩容 否 否 是 否 CoW 部分 否 是 是 开发方 Linux 社区 SGI → Red Hat Oracle OpenZFS ext4:稳定可靠的传统选择 ext4 是 ext3 的改进版,自 2008 年进入主线内核,是 Ubuntu、Debian 等发行版的默认文件系统。...

January 1, 2024 · 8 分钟 · 1529 字 · 徐保金

Linux 内核参数调优实战手册

概述 Linux 内核通过 /proc/sys/ 和 sysctl 接口暴露了数千个可调参数,涵盖网络、内存、文件系统、安全等各个方面。合理调整这些参数可以显著提升系统性能和稳定性,但盲目调参也可能适得其反。本文逐步梳理 sysctl 体系,按网络、文件描述符、内存、安全四大维度展开,并提供生产环境调优模板和参数验证方法。 sysctl 体系 参数查看与修改 # 查看所有参数 $ sysctl -a # 查看特定参数 $ sysctl net.ipv4.tcp_max_syn_backlog $ sysctl vm.swappiness # 临时修改(重启失效) $ sysctl -w vm.swappiness=10 # 从文件加载 $ sysctl -p /etc/sysctl.d/99-custom.conf # 永久生效:写入配置文件 # /etc/sysctl.conf — 传统配置文件 # /etc/sysctl.d/*.conf — 推荐方式(按字母序加载) 配置文件加载顺序 /etc/sysctl.d/ 下按文件名字母序加载: 00-default.conf → 默认值 50-network.conf → 网络参数 99-custom.conf → 自定义参数(最后加载,覆盖前面) 最后加载 /etc/sysctl.conf(如果存在) 参数命名空间 kernel.* — 内核通用参数 vm.* — 虚拟内存参数 fs.* — 文件系统参数 net....

December 21, 2023 · 10 分钟 · 2115 字 · 徐保金

Linux 安全加固清单:从最小化到合规

前言 一台默认安装的 Linux 服务器,暴露的攻击面远超想象:多余的 RPM 包、开放的网络服务、宽松的 SSH 配置、未启用的审计系统。安全加固不是一次性操作,而是一套从安装到运行的全生命周期清单。本文按 CIS Benchmark 框架梳理加固要点,每一步都给出可直接执行的配置。 系统最小化安装原则 包管理裁剪 最小化安装的核心思路:只装需要的,不装可能需要的。 # 安装时选择 Minimal Install(RHEL 系)或 minimal image(Debian 系) # 安装后审计已安装的包组,移除不需要的 yum grouplist # RHEL/CentOS dnf group list # Fedora/RHEL 8+ # 移除不需要的包组 dnf group remove "GNOME Desktop" "Graphical Administration Tools" # 审计已安装的包,按大小排序 rpm -qa --queryformat '%{SIZE} %{NAME}\n' | sort -rn | head -30 # 移除已知不需要的包 dnf remove -y ypbind rsh-server ypserv telnet-server talk-server Debian/Ubuntu 系: # 查看手动安装的包(可安全移除的候选) apt-mark showmanual # 移除不需要的服务包 apt purge -y rsh-client rsh-redone-server telnetd tftpd xinetd 服务裁剪 安装后审计运行中的服务,关闭一切非必要服务:...

December 18, 2023 · 9 分钟 · 1723 字 · 徐保金

SSH 安全最佳实践:从认证到隧道

概述 SSH(Secure Shell)是 Linux 运维的核心通道,也是攻击者的主要目标。一个配置不当的 SSH 服务可能导致服务器被完全接管。从认证机制、服务端硬化、跳板机架构、隧道技术、审计日志到暴力破解防护,全面覆盖 SSH 安全的好的实践。 密钥认证 生成密钥对 # 生成 Ed25519 密钥(推荐) $ ssh-keygen -t ed25519 -C "admin@sre.wang" -f ~/.ssh/id_ed25519 # 生成 RSA 密钥(兼容性需求,至少 4096 位) $ ssh-keygen -t rsa -b 4096 -C "admin@sre.wang" -f ~/.ssh/id_rsa # 生成带密码保护的密钥 $ ssh-keygen -t ed25519 -N "strong-passphrase" -f ~/.ssh/id_ed25519 # 查看密钥指纹 $ ssh-keygen -lf ~/.ssh/id_ed25519.pub 256 SHA256:abc123... admin@sre.wang (ED25519) 密钥算法对比 算法 密钥长度 安全性 性能 推荐 Ed25519 256 位 极高 极快 首选 RSA-4096 4096 位 高 中 兼容场景 RSA-2048 2048 位 中 快 不推荐 ECDSA 256/384/521 高 快 有争议(NIST 曲线) DSA 1024 位 低 - 已废弃 部署公钥 # 方式 1:ssh-copy-id(推荐) $ ssh-copy-id -i ~/....

December 12, 2023 · 11 分钟 · 2136 字 · 徐保金