服务器重装系统实战指南:CentOS/Ubuntu/Windows Server全流程

一、引言:什么时候需要重装系统
在服务器运维过程中,服务器重装系统是一项高频且关键的操作。许多运维新手一听"重装系统"就头大,觉得风险高、步骤繁琐。其实只要流程清晰、准备充分,服务器装系统完全可以做到安全、高效、可复现。下面这些场景,通常都需要进行服务器系统安装或重装:
- 系统无法启动:内核损坏、引导丢失(GRUB出错)、文件系统严重损坏,单用户模式都进不去。
- 操作系统升级/更换:例如 CentOS 7/8 已停止维护(EOL),需要迁移到 Rocky Linux、AlmaLinux 或 Ubuntu。
- 被入侵或感染勒索病毒:系统已被深度污染,清理不如重装干净,避免后门残留。
- 磁盘分区结构不合理:原分区太小无法扩容,或需要从 LVM 调整为标准分区,重建更省事。
- 交接机器、清空环境:租用服务器退租前、二手设备入库,统一重置为干净状态。
无论是哪种原因,重装前的准备工作决定了整件事的成败。下面我们按"准备—安装—配置"的顺序,把全流程拆开讲清楚。
二、重装前准备:把风险降到最低
服务器重装系统最大的风险不是装不上,而是装完发现数据没了。所以准备工作必须做到位,主要包括三件事:数据备份、驱动准备、安装介质。
1. 数据备份
重装会清空系统盘,务必先备份。建议把数据分为"必须保留"和"可重建"两类,优先备份前者:
- 数据库:先用
mysqldump或pg_dump逻辑导出,再复制物理文件做双保险。 - 配置文件:
/etc下 nginx、php、ssh、应用配置等,打包后传到异地。 - 业务数据:网站源码、上传文件、日志(按需)。
- 网络信息:IP、网关、DNS、VLAN、bond 配置,最好截图存档。
备份命令示例(打包配置并传输到备份机):
# 打包关键配置目录
tar czf /tmp/etc_backup_$(date +%F).tar.gz /etc/nginx /etc/ssh /etc/sysconfig/network-scripts
# 传到备份服务器
scp /tmp/etc_backup_*.tar.gz backup@192.168.1.100:/backup/
# 数据库导出
mysqldump -uroot -p --all-databases --routines --triggers > /tmp/all_db.sql
2. 驱动准备
这是服务器系统安装中最容易踩坑的一环。服务器常用 RAID 卡(如 MegaRAID、PERC、LSI),安装时如果系统内置驱动不识别,就会"找不到硬盘"。务必提前到厂商官网下载对应型号的 RAID 驱动,Windows Server 通常需要放到 U 盘里在安装时加载,Linux 一般新版本内核已自带。
3. 安装介质
根据安装方式准备不同介质:
- IPMI 远程安装:准备 ISO 镜像文件,通过 BMC/IPMI 虚拟介质挂载,无需物理介质。
- U 盘安装:用 Rufus(Windows)或 dd 命令(Linux)制作启动 U 盘,适合现场操作。
- PXE 网络安装:搭建 DHCP + TFTP + HTTP 服务,适合批量装机。
U 盘制作命令(Linux 下):
# 找到 U 盘设备名
lsblk
# 写入镜像(/dev/sdb 替换为实际 U 盘,注意别写错盘)
dd if=ubuntu-22.04-live-server-amd64.iso of=/dev/sdb bs=4M status=progress
sync
三、方式一:IPMI 虚拟介质远程安装
对于托管在机房的服务器,IPMI 装系统是最常用的远程方式。只要 BMC 网络通,人在家里也能给千里外的机器重装系统。下面以常见的 Supermicro / Dell iDRAC / 浪潮 BMC 为例说明通用流程。
操作步骤
- 登录 IPMI 管理界面:浏览器访问 BMC IP,输入用户名密码(默认常为 ADMIN/admin,务必修改,参考 服务器 IPMI 安全配置)。
- 启动虚拟介质:在"Virtual Media"或"Remote Storage"菜单中,选择本地 ISO 文件并挂载为 CD/DVD。
- 设置启动顺序:挂载后进入"Power Control"执行"Force Restart",并在启动时按 Del/F2 进入 BIOS,把 Virtual CD 设为第一启动项;或在 IPMI 里设置"One-time boot"为 Virtual CD。
- 进入安装界面:重启后会从 ISO 引导,进入对应系统的安装向导,后续操作和本地安装一致。
- 安装完成后卸载介质:系统装好首次启动前,记得在 IPMI 里断开虚拟介质,避免反复从 ISO 引导。
Dell iDRAC 还支持直接挂载本地 ISO 而无需 Java 插件(新版用 HTML5),浪潮 BMC 操作类似。关键点:挂载 ISO 后一定要确认"Boot to Virtual Media"生效,否则机器仍会从原硬盘启动。
四、方式二:U 盘安装与 PXE 网络安装
1. U 盘安装
适合能物理接触服务器的场景。把制作好的启动 U 盘插到服务器 USB 口,开机按 F11(启动菜单)或 F2 进 BIOS 设置 U 盘启动。安装过程和普通 PC 一致,但要注意目标盘选择——服务器往往有多块盘,别选错系统盘。
2. PXE 网络安装
适合批量装机或无显示器环境。核心是配置一台 PXE 服务器,提供 DHCP 分配、TFTP 传输引导文件、HTTP 提供镜像。以 Ubuntu 为例,最小化配置思路如下:
# 安装服务组件
apt install -y dnsmasq tftpd-hpa apache2
# dnsmasq 配置 DHCP + TFTP
# /etc/dnsmasq.conf 关键段:
# dhcp-range=192.168.1.100,192.168.1.200,12h
# dhcp-boot=pxelinux.0
# enable-tftp
# tftp-root=/var/lib/tftpboot
# 拷贝引导文件到 TFTP 目录
cp -r /usr/lib/PXELINUX/* /var/lib/tftpboot/
# ISO 解压到 HTTP 目录供安装时拉取
mount -o loop ubuntu-22.04.iso /mnt
cp -r /mnt/* /var/www/html/ubuntu/
客户端服务器设置从网络启动(PXE),会自动获取 IP、下载引导文件,进入无人值守安装流程(配合 preseed/autoinstall 可实现全自动)。
五、CentOS/Ubuntu/Windows Server 安装要点对比
三大主流服务器操作系统安装时关注点差异较大,下表汇总了关键区别,便于快速对照:
| 对比项 | CentOS / Rocky Linux | Ubuntu Server | Windows Server |
|---|---|---|---|
| 引导模式 | BIOS / UEFI 均可 | 推荐 UEFI | 推荐 UEFI(Server 2016+) |
| 分区工具 | 手动 LVM / 自动 | Subiquity(支持 LVM/ZFS) | 磁盘管理(安装时) |
| RAID 驱动 | 新内核自带,老卡需加载 | 内核较新,兼容性好 | 必须手动加载驱动 |
| 网络配置 | NetworkManager / ifcfg | Netplan(YAML) | 图形化设置 |
| 远程管理 | SSH(默认开启) | SSH(默认开启) | RDP + WinRM(需配置) |
| 安装耗时 | 约 10-15 分钟 | 约 10-15 分钟 | 约 20-40 分钟 |
六、RAID 驱动加载:最常见的坑
服务器装系统时最典型的问题是:进入安装界面后,"选择安装目标磁盘"那一页空空如也,一块硬盘都识别不到。这几乎都是 RAID 卡驱动缺失导致的。常见 RAID 卡型号与驱动来源如下表:
| RAID 卡型号 | 常见厂商 | Linux 内核支持 | Windows 驱动来源 |
|---|---|---|---|
| MegaRAID SAS 9361 | Broadcom/LSI | 内置 megaraid_sas | 需从官网下载 .inf 加载 |
| PERC H730/H740 | Dell(基于 LSI) | 内置 megaraid_sas | Dell 官网驱动包 |
| Smart Array P440 | HPE | 内置 hpsa | HPE SPP 光盘 |
| LSI 3008 IT 模式 | Broadcom | 内置 mpt3sas | 需手动加载 |
Windows Server 加载 RAID 驱动
Windows 安装到"选择磁盘"步骤时,若列表为空,点击"加载驱动程序",浏览到存放驱动的 U 盘,选择对应 .inf 文件即可识别。注意:驱动 U 盘最好格式化为 FAT32,NTFS 在某些安装环境识别有问题。
Linux 临时加载驱动
较新内核一般已支持主流 RAID 卡。若确实缺驱动,可在安装界面切换到 TTY2(Ctrl+Alt+F2),用 modprobe 加载或用厂商提供的驱动 ISO 安装。装完后记得把驱动写入 initramfs,避免重启后失联:
# 查看当前加载的 RAID 驱动
lsmod | grep -E "megaraid|hpsa|mpt3sas"
# 确认磁盘是否识别
lsblk
# 或
fdisk -l
# 重新生成 initramfs(确保驱动持久化)
dracut --force # CentOS/Rocky
update-initramfs -u # Ubuntu
七、重装后配置清单
系统装完只是第一步,生产环境上线前还要做一轮基础配置,建议按以下清单逐项核对:
- 网络配置:设置静态 IP、网关、DNS,确认连通性(
ping、ip a)。 - 主机名与时区:
hostnamectl set-hostname web01,timedatectl set-timezone Asia/Shanghai。 - 时间同步:安装 chrony 或 ntpd,确保时间准确(日志、证书都依赖它)。
- SSH 安全加固:禁用 root 登录、改端口、启用密钥登录、关闭密码登录。
- 防火墙:Linux 用 firewalld/ufw,Windows 启用高级安全防火墙,仅放行必要端口。
- 系统更新:
yum update或apt upgrade,打齐安全补丁。 - 监控接入:安装 Zabbix Agent / Prometheus Node Exporter,纳入监控。
- 用户与权限:创建运维账号、配置 sudo,避免多人共用 root。
- 日志收集:配置 rsyslog 转发到日志中心。
常用初始化命令示例:
# 设置主机名与时区
hostnamectl set-hostname web01-prod
timedatectl set-timezone Asia/Shanghai
# 安装并配置时间同步
yum install -y chrony # CentOS
systemctl enable --now chronyd
# SSH 加固(编辑 /etc/ssh/sshd_config)
# PermitRootLogin no
# PasswordAuthentication no
systemctl restart sshd
# 系统更新
yum update -y # CentOS
apt update && apt upgrade -y # Ubuntu
八、结语与相关阅读
服务器重装系统看似是个"重活",其实只要把"备份—介质—驱动—配置"四件事理顺,流程完全可以标准化。核心经验就两条:第一,备份永远不嫌多,宁可多拷一份也别赌运气;第二,RAID 驱动一定要提前确认,别等安装界面打不开磁盘才临时找驱动。掌握IPMI 装系统这套远程流程,哪怕机房在异地,也能从容应对系统故障。如果你想进一步提升服务器运维水平,下面这些文章值得继续阅读:
