服务器CentOS系统重装系统,是恢复服务稳定性、提升安全性与适配新硬件的最高效手段。
尤其在CentOS 7/8生命周期终止后,重装为CentOS Stream或迁移至Rocky Linux/AlmaLinux已成为企业运维的常规操作,本文提供一套经过生产环境验证的标准化重装流程,兼顾效率、安全与可复现性。

重装前关键准备(决定成功率的三大要素)
-
确认系统版本与依赖
- 执行
cat /etc/os-release查看当前版本(如 CentOS 7.9 或 8.5) - 检查
/boot/grub/grub.conf或/etc/default/grub中内核参数是否含rd.driver.blacklist=nouveau(避免图形驱动冲突) - 关键动作:备份
/etc/passwd、/etc/shadow、/etc/fstab、/etc/hosts及自定义服务脚本(如/etc/systemd/system/下的.service文件)
- 执行
-
准备重装介质与网络环境
- 下载官方ISO:CentOS Stream 8/9 或 Rocky Linux 8/9 安装镜像(校验SHA256:
sha256sum CentOS-Stream-xxx.iso) - 若通过PXE网络重装,需部署TFTP+DHCP服务,确保目标服务器能访问安装源(HTTP/FTP/NFS)
- 网络要求:服务器需有独立IP或管理口(如IPMI/iDRAC)支持远程挂载ISO
- 下载官方ISO:CentOS Stream 8/9 或 Rocky Linux 8/9 安装镜像(校验SHA256:
-
制定回滚与数据保护方案
- 非系统盘(如
/data、/home)建议独立分区,重装时跳过格式化 - 使用
rsync -avz /data/ backup@remote:/data_backup/将核心数据同步至异地 - 记录当前软件版本:
rpm -qa > installed_packages.txt,便于重装后快速恢复环境
- 非系统盘(如
重装操作全流程(以CentOS Stream 9为例)
▶ 步骤1:进入安装界面
- 服务器重启后,通过管理控制台挂载ISO
- 启动时按
Tab键,追加内核参数:inst.ks=http://your-server/ks.cfg(若使用Kickstart自动化) - 或手动选择 Troubleshooting → Rescue a CentOS system 进入救援模式
▶ 步骤2:分区策略(按生产环境最佳实践)
| 分区 | 大小 | 文件系统 | 说明 |
|---|---|---|---|
/boot |
1G | xfs | 存放引导文件,独立分区防爆满 |
swap |
内存×1~2倍(≤16GB) | swap | 大内存可设为固定值(如32G) |
| ≥20G | xfs | 根分区,预留升级空间 | |
/var |
≥30G | xfs | 日志、数据库临时文件专用 |
/home |
按需 | xfs | 用户数据,可独立挂载 |
注意:使用 parted 创建GPT分区表(UEFI启动必需),禁用LVM快照避免性能损耗
▶ 步骤3:最小化安装与关键配置
-
安装类型选择 Minimal Install,取消图形界面、办公套件等非必要组件

-
安装后立即执行:
# 更新系统并禁用SELinux(临时调试用,生产建议启用) dnf update -y && sed -i 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config # 配置防火墙开放必要端口(如80/443/22) firewall-cmd --permanent --add-service=ssh && firewall-cmd --reload # 设置时区与NTP同步 timedatectl set-timezone Asia/Shanghai && chronyc add server ntp.aliyun.com iburst
▶ 步骤4:服务恢复与验证
- 恢复
/etc/hosts、/etc/sysconfig/network-scripts/ifcfg-eth0(或/etc/sysconfig/network-scripts/下网卡配置) - 重新安装关键服务:
dnf install -y httpd mariadb-server vsftpd # 示例:Web+数据库+FTP systemctl enable --now httpd mariadb vsftpd
- 验证清单:
①ping 8.8.8.8网络连通性
②df -h分区空间正常
③systemctl list-units --state=failed无失败服务
④ss -tuln确认端口监听状态
重装后必须执行的5项安全加固
- 禁用root远程登录:编辑
/etc/ssh/sshd_config,设PermitRootLogin no - 配置密钥认证:
ssh-copy-id user@server后禁用密码登录(PasswordAuthentication no) - 启用自动安全更新:
dnf install -y dnf-automatic && systemctl enable --now dnf-automatic.timer
- 清理默认账户:删除
useradd test等测试用户,检查/etc/passwd中UID=0的账户 - 审计日志集中管理:安装
rsyslog并配置. @logserver:514指向日志中心
常见问题与解决方案
-
问题1:重装后无法识别网卡
→ 检查内核模块:lspci -k | grep -A 3 -i ethernet,加载缺失驱动(如modprobe e1000e)并写入/etc/modules-load.d/network.conf -
问题2:UEFI启动失败,提示“no boot device”
→ 进入BIOS设置,关闭Secure Boot,确认启动顺序中包含ESP分区(/boot/efi) -
问题3:重装后MySQL服务启动失败
→ 清理残留数据:rm -rf /var/lib/mysql/,重新初始化:mysql_install_db --user=mysql
相关问答(FAQ)
Q1:CentOS 7/8已停止维护,是否必须重装?能否直接升级?
A:不建议直接升级,CentOS官方明确指出:EOL版本无法通过 yum update 升级至新版本,强行升级易导致依赖冲突与系统崩溃。正确做法是备份数据后全新安装Rocky Linux/AlmaLinux,二者与RHEL二进制兼容,可无缝迁移。

Q2:重装时如何保留已有软件环境?
A:无法100%保留,但可通过以下方式最小化影响:
① 使用 rpm -qa --last | head -20 导出最近安装的包列表
② 重装后执行 dnf install $(cat package_list.txt) 批量恢复
③ 对于自定义编译软件(如Nginx),保留源码包与配置文件,重装后重新编译
重装系统不是终点,而是稳定运行的起点。服务器CentOS系统重装系统的核心价值在于:用一次规范操作,换取长期的低故障率与高可维护性。
您在重装过程中遇到过哪些典型问题?欢迎在评论区分享您的解决方案!
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/173712.html