一聚教程网:一个值得你收藏的教程网站

热门教程

Ubuntu 服务器硬件故障更换如何做

时间:2026-08-13 08:27:48 编辑:袖梨 来源:一聚教程网

Ubuntu服务器RAID故障更换核心是不停机优先、数据不丢、状态可验:先用mdadm --detail和journalctl定位并--fail标记故障盘,再--remove安全移除;热插拔下换新盘后--add触发重建,watch /proc/mdstat监控进度,最后验证clean状态、更新initramfs和grub确保引导可靠。

Ubuntu 服务器硬件故障更换,核心是“不停机优先、数据不丢、状态可验”。尤其对 RAID 阵列(如 RAID 10 或 RAID 5)而言,更换过程不是简单拔插硬盘,而是分步控制设备状态、确保冗余有效、验证重建完成。以下按实际运维场景组织关键操作。

确认故障设备并标记为失效

不能直接拔盘,必须先让系统识别该设备已不可靠:

  1. sudo mdadm --detail /dev/md0 查看阵列状态,确认哪个设备显示 faultyspare;若仍为 active sync,说明尚未触发故障识别
  2. 检查系统日志定位问题盘:sudo journalctl -u mdadm.service | grep -i "fail|error|ata",常能发现类似 "sdb: failed command: READ" 的报错
  3. 手动标记故障(以 /dev/sdb 为例):sudo mdadm /dev/md0 --fail /dev/sdb —— 此操作将设备置为 faulty 状态,RAID 层开始降级运行

安全移除故障物理设备

标记后需从阵列逻辑中解除绑定,才能物理下线:

  1. 执行 sudo mdadm /dev/md0 --remove /dev/sdb,输出应含 "hot removed"
  2. 若设备有多个分区(如 sdb1/sdb2),需对每个分区单独执行 --fail--remove
  3. 移除后再次运行 mdadm --detail,确认设备已不在 Active Devices 列表中,且状态变为类似 [UU_U](RAID 10 四盘变三盘)
  4. 此时才可在支持热插拔的服务器上拔出硬盘;若无热插拔能力,需 sudo shutdown -h now 关机后再操作

接入新硬盘并加入阵列

新盘接入后需识别、分区(如需)、添加,系统自动触发重建:

  1. 开机后用 lsblksudo fdisk -l 确认新盘设备名(如 /dev/sdc),注意不要误选已有盘
  2. 若原阵列使用 GPT 分区且需保留相同结构,可用 sgdisk -R /dev/sdc /dev/sda 复制分区表(/dev/sda 为健康盘)
  3. 直接添加裸盘(无分区):sudo mdadm /dev/md0 --add /dev/sdc;若原为分区形式(如 sdb1),则加 /dev/sdc1
  4. 重建立即启动,用 watch -n1 cat /proc/mdstat 实时观察进度,状态显示 recovery = 12.4% 即正常

验证与收尾

重建完成后务必验证一致性与启动可靠性:

  1. 等待 /proc/mdstat 显示 clean, degraded 变为 clean, active,且无 recover 字样
  2. 强制检查阵列完整性:sudo echo check > /sys/block/md0/md/state,之后查日志确认无错误
  3. 更新 initramfs 与 grub:sudo update-initramfs -usudo update-grub,防止下次重启因设备名变动导致无法引导
  4. 若原盘参与系统引导(如 /boot 在 RAID 中),还需确认 EFI 分区或 GRUB 配置未受影响,必要时用 Boot-Repair 工具修复

热门栏目