努力
加油

如何在裸金属云服务器上重装CentOS或Ubuntu系统?

重装裸金属服务器(Bare Metal Server, BMS)的系统,和普通的 ECS/CVM 虚拟云主机有本质区别。

核心差异在于:你没有 Hypervisor(虚拟化层)作为中间件。 普通云主机通过 vCPU/内存映射到宿主机,重装镜像只是替换磁盘上的文件;而裸金属服务器是物理机直连,你操作的是底层的 BMC/IPMI/iDRAC/ILO 管理接口,或者通过 PXE/ISO 挂载进行底层引导。

不同厂商(阿里云、腾讯云、华为云、AWS 等)的操作界面略有不同,但底层逻辑一致。以下以国内主流云厂商(如阿里云、腾讯云、华为云)的通用流程为例,结合技术原理进行拆解。


一、 核心前置条件

在动手之前,必须确认以下几点,否则容易“变砖”或无法重装:

  1. 停机状态:绝大多数厂商要求裸金属服务器处于已停止(Stopped)状态。因为涉及到底层固件重启和网络重定向,运行中操作会导致数据损坏或连接中断。
  2. 权限控制:你需要拥有该实例的 Root 权限或云平台控制台的高级管理员权限。
  3. 备份意识:裸金属重装通常意味着系统盘数据彻底清除。如果数据盘未分离或未快照,请务必提前备份。
  4. 网络连通性:确保你的本地网络能访问云厂商的管理控制台,且服务器所在 VPC/VLAN 的网络策略允许重装过程中的临时通信。

二、 通用操作流程(控制台方式)

这是最安全、最常用的方式,适用于大多数标准化场景。

1. 登录控制台并定位实例

  • 进入云厂商的 BMS 管理控制台。
  • 找到目标裸金属服务器实例。
  • 关键步骤:检查实例状态。如果是“运行中”,先执行“关机”。等待状态变为“已停止”。

2. 选择“重装系统”功能

  • 在实例详情页或操作菜单中,找到 “更多” -> “操作系统” -> “重装系统”(具体路径因厂商 UI 而异,但逻辑一致)。
  • 此时会弹出系统选择窗口。

3. 选择操作系统镜像

  • CentOS:目前 CentOS 7 已 EOL,8/9 版本需确认厂商是否提供官方支持镜像。建议使用 Alibaba Cloud Linux、OpenEuler 或 Rocky Linux/AlmaLinux 作为替代,除非你有特定合规需求必须用 CentOS。
  • Ubuntu:选择 LTS 版本(如 20.04 LTS, 22.04 LTS, 24.04 LTS)。注意区分 64-bit。
  • 自定义镜像:如果你之前制作过包含特定驱动、配置好的镜像,可以选择“自定义镜像”而非公共镜像。

4. 配置 Root 密码与初始化脚本

  • Root 密码:强制设置新的 root 密码。这是重装后唯一能远程登录的方式。
  • Cloud-Init / 初始化脚本:
    • 勾选“使用 cloud-init”以便自动配置网络、主机名。
    • 如果需要预装软件(如 Docker, Nginx),可在此处粘贴 Bash 脚本。
    • 注意:脚本会在第一次启动时执行,确保语法正确,否则可能导致首次登录卡住。

5. 确认并执行

  • 阅读警告提示(强调数据不可恢复)。
  • 点击“确定”或“开始重装”。
  • 系统将经历:停止服务 -> 清理磁盘 -> 写入新镜像 -> 重启硬件 -> 引导新系统。

6. 等待完成

  • 状态会从“重装中”变为“运行中”。
  • 使用新的 IP 地址和 root 密码 SSH 登录验证。

三、 高级/故障场景:通过 IPMI/BMC 手动重装

当控制台功能异常、需要安装非标准镜像、或进行底层调试时,需通过带外管理(Out-of-Band Management)介入。

1. 获取 BMC 信息

  • 从云平台控制台获取裸金属服务器的 BMC IP、用户名、密码。
  • 这些信息与业务服务器本身无关,是独立的管理通道。

2. 访问 BMC Web 界面

  • 浏览器打开 https://<BMC_IP>。
  • 使用默认凭证登录(常见默认用户:admin, root, Administrator;密码见出厂文档或控制台显示)。
  • 安全提示:生产环境务必修改默认密码,并限制 BMC 访问 IP。

3. 挂载 ISO 或 PXE 引导

  • 方案 A:虚拟介质挂载(Virtual Media)

    • 在 BMC 中找到 “Remote Console” 或 “Virtual Media”。
    • 上传 CentOS/Ubuntu 的 ISO 镜像文件。
    • 将 ISO 挂载为虚拟光驱。
    • 重启服务器,进入 BIOS/UEFI 设置从“虚拟光驱”启动。
    • 执行标准 Linux 安装流程(类似本地 PC 装机)。
  • 方案 B:PXE 网络启动

    • 准备一台内部 PXE 服务器(DHCP + TFTP + HTTP/NFS)。
    • 在 BMC 中设置启动顺序为“Network Boot”或“PXE”。
    • 服务器将从 PXE 服务器拉取 kickstart/preseed 自动化安装脚本,实现无人值守重装。

4. 注意事项

  • RAID 配置:重装前建议检查 RAID 卡状态。如果使用软 RAID 或 JBOD,直接格式化即可;如果使用硬 RAID,需确保 RAID 阵列健康,避免误删物理卷。
  • 驱动问题:裸金属服务器可能使用特定网卡(如 Mellanox ConnectX)、GPU 或 NVMe SSD。标准 Ubuntu/CentOS 内核可能缺少专有驱动。建议在安装前下载厂商提供的“增强版镜像”或手动集成 DKMS 驱动包。

四、 常见问题与避坑指南

1. 为什么重装后无法 SSH 登录?

  • 防火墙规则:云平台的安全组(Security Group)可能未放行 22 端口。重装后安全组策略通常保留,但需确认。
  • IP 变更:部分裸金属服务器在重装时会重新分配弹性 IP 或内网 IP,请核对控制台显示的当前 IP。
  • SSH 配置错误:如果使用了自定义脚本,可能覆盖了 /etc/ssh/sshd_config,导致密码认证被禁用。检查日志 /var/log/secure 或 /var/log/auth.log。

2. CentOS 7 还能用吗?

  • 官方已于 2024 年 6 月终止维护。主流云厂商仍在提供基础镜像,但不再更新安全补丁。
  • 建议:迁移至 Rocky Linux 9、AlmaLinux 9 或 Ubuntu 22.04/24.04。若必须使用 CentOS 生态,推荐使用 OpenEuler(华为开源)或 Anolis OS(阿里开源),它们与 CentOS 高度兼容且长期支持。

3. 数据盘如何处理?

  • 重装系统仅影响系统盘(通常为 /dev/vda 或 /dev/sda)。
  • 数据盘(如 /dev/vdb)应保持挂载状态。
  • 重要:在安装过程中,绝对不要选择“删除所有分区”或“格式化所有磁盘”,只选择格式化系统盘所在的分区。

4. 如何验证重装成功?

  • 登录后执行:
    cat /etc/os-release
    uname -r
    df -h
    ip addr show
  • 确认内核版本、文件系统挂载点、网络接口 IP 符合预期。

五、 总结

重装裸金属服务器是一项高风险操作,其本质是对物理主机的底层重置。

  • 常规操作:优先使用云厂商控制台的“重装系统”功能,简单、可靠、自动化程度高。
  • 高级操作:通过 BMC/IPMI 挂载 ISO 或 PXE 安装,适用于特殊镜像、驱动集成或故障排查。
  • 核心原则:停机、备份、确认 IP、谨慎选择磁盘分区。

对于企业级应用,建议在测试环境中先模拟一次重装流程,熟悉厂商的具体 UI 和潜在陷阱,再在生产环境执行。