努力
加油

Ubuntu 22.04 LTS在物理服务器上的安装注意事项有哪些?

在物理服务器上部署 Ubuntu 22.04 LTS (Jammy Jellyfish) 和虚拟机里跑个测试环境完全是两码事。物理机涉及到底层硬件兼容性、RAID 卡驱动、网络绑定以及带外管理(IPMI/iDRAC/ILO)等硬核问题。如果踩了坑,可能连系统都装不上,或者装上了但性能跑不满。

以下是我在实际生产环境交付中总结的几个关键注意事项,按优先级排序:

1. RAID 控制器与存储驱动是第一大坑

这是物理机安装最容易失败的地方。Ubuntu 的 Live Installer 默认只包含通用的内核模块,很多企业级 RAID 卡(如 Broadcom/LSI MegaRAID, Dell PERC, HP Smart Array)需要专有驱动才能识别磁盘。

  • 现象:安装过程中“选择安装目标”步骤发现不到硬盘,或者显示为未知设备。
  • 解决方案:
    • 方案 A(推荐):使用厂商提供的定制 ISO。例如 Dell 提供带有 PERC 驱动的 Ubuntu ISO,HPE 也有对应的版本。去服务器厂商官网下载对应型号的 OS Support Pack 或专门的 ISO。
    • 方案 B:如果你必须用官方通用 ISO,你需要提前准备 initrd 更新。在安装前,通过 U盘加载额外的 .deb 包或修改 initramfs 注入驱动。这比较麻烦,建议优先选方案 A。
    • 软 RAID 注意:如果你打算用软件 RAID(mdadm),请确保 BIOS/UEFI 中将磁盘模式设为 AHCI 或 HBA 直通模式,而不是开启硬件 RAID 功能。

2. 网卡驱动与固件(Firmware)

22.04 对新型号网卡的支持较好,但老旧网卡或特定型号(如某些 Intel I350/I225 系列)可能需要额外固件。

  • Realtek 网卡:很多板载 Realtek 网卡(如 RTL8125)在 Linux 下表现一般,且驱动开源程度有限。如果用于生产环境,建议检查是否支持 r8168 开源驱动还是必须用厂商闭源驱动。
  • Intel 网卡:通常支持良好,但务必确认固件版本。过旧的固件可能导致丢包或速度受限。
  • 操作建议:在安装前,先通过 IPMI/BMC 查看服务器背板上的网卡型号,去 Ubuntu Hardware Compatibility List (HCL) 查一下状态。如果是 Mellanox/NVIDIA ConnectX 系列,记得安装 mlnx-fw-updater 升级固件。

3. BIOS/UEFI 设置优化

物理机的 BIOS 设置直接影响稳定性和性能,不要指望系统装好后能自动调整这些。

  • 虚拟化技术:即使你不跑 KVM/LXD,也建议开启 VT-x/AMD-V 和 VT-d/IOMMU。这不仅是为了虚拟化,更是为了 SR-IOV 网卡直通、GPU 直通等高级特性做准备。
  • 电源管理:
    • 生产环境建议设置为 Performance 或 Balanced,避免 Power Saving 导致 CPU 频率频繁波动影响延迟敏感型应用。
    • 关闭 C-State(深度睡眠状态)可以显著降低中断延迟,适合高频交易或实时性要求高的场景。
  • 启动顺序:禁用不必要的启动项(如串口控制台打印过多日志),启用 UEFI 原生启动,关闭 Legacy/CSM 兼容模式(除非你有非常老的硬件)。

4. 带外管理(Out-of-Band Management)配置

在装系统之前,先把 IPMI/iDRAC/ILO 配好。这是你的“救命稻草”。

  • 网络隔离:给 BMC 分配一个独立的 VLAN 或 IP,不要和业务网段混用。
  • KVM over IP:确保远程桌面功能正常。物理机安装时,屏幕可能黑屏、报错无输出,这时候全靠 KVM 看界面。
  • 虚拟介质:利用 BMC 的 Virtual Media 功能挂载 ISO,比插 U 盘稳定得多,尤其是当你没有本地光驱或 USB 接口接触不良时。

5. 安装过程中的分区策略

Ubuntu Server 安装器现在比较智能,但手动分区更可控。

  • Swap 分区:对于大内存服务器(64GB+),Swap 大小不需要设得很大(比如 4-8GB 足够),或者直接使用 Swap File。SSD 上频繁写 Swap 会损耗寿命,机械硬盘则影响 IO。
  • LVM vs 直接分区:建议使用 LVM。方便后续扩容根目录或数据卷。
  • /boot/efi:如果使用 UEFI 模式,必须保留一个小的 FAT32 分区作为 EFI 系统分区(ESP),通常 512MB 足够。
  • RAID 阵列映射:如果你在 BIOS 里做了硬件 RAID 1 或 RAID 5,Linux 看到的将是单个逻辑卷。此时分区应基于这个逻辑卷进行,而不是底层物理盘。

6. 安全与初始化

  • SSH 密钥登录:装完系统第一时间禁用密码登录,强制使用 SSH Key。
  • UFW 防火墙:默认开启 UFW,并只开放必要端口(22, 80, 443 等)。
  • Unattended Upgrades:启用自动安全更新,但谨慎对待内核自动更新。在生产环境,建议手动控制内核升级时间,避免因内核不兼容驱动导致重启后无法进入系统。
  • Cloud-init:如果是云化部署或批量装机,强烈建议使用 Cloud-init 进行自动化配置。它可以处理主机名、SSH 公钥注入、网络配置等,极大减少人工干预。

7. 常见陷阱提醒

  • NVIDIA 显卡驱动:如果服务器有 GPU,不要用开源的 nouveau 驱动。安装后立即安装专有驱动,并注意 DKMS 模块的重建。
  • Time Synchronization:物理机时钟漂移可能比虚拟机严重。确保配置 NTP 服务(Chrony 是 22.04 默认),并同步到可靠的内部时间源。
  • 日志轮转:生产环境注意 /var/log 的大小限制,配置 logrotate 防止磁盘被日志撑满。

总结

在物理机上装 Ubuntu 22.04,核心思路是:硬件兼容性先行,驱动到位再安装,带外管理保底,安全配置紧随其后。

别把它当成在 VMware 里点下一步那么简单。每一步都要考虑到“如果失败了,我怎么远程救回来”这个问题。做好这些,你的服务器就能稳定运行多年。