TrueNAS RAID1 阵列单盘损坏修复实操记录

低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发

适用环境:TrueNAS Core / Scale、ZFS 文件系统、RAID1 (Mirror) 双盘镜像池
故障场景:RAID1 一块硬盘损坏,提前手动删除故障盘,插入新盘后无法替换、附加报错,完整排坑 + 修复记录

一、故障基础信息

  1. 存储池名称:mydata

  2. 阵列模式:ZFS RAID1 双盘镜像

  3. 原始现象:硬盘离线告警,存储池降级 DEGRADED

  4. 误操作:未走官方替换流程,直接删除分离故障硬盘

  5. 后续操作:拔出坏盘、插入全新硬盘,恢复镜像失败

  6. 遇到报错

    • 报错 1:cannot replace /dev/sda with /dev/sda: no such device in pool

    • 报错 2:cannot attach /dev/sda to /dev/sdc: no such device in pool

二、报错原因分析

  1. 标准流程:坏盘 → 离线 (Offline) → 替换 (Replace),保留镜像盘位可直接重建

  2. 本次问题:手动删除故障盘,直接拆散 mirror 镜像组

  3. 阵列结构变化:双盘镜像 → 降级为单盘独立普通存储池,无镜像成员空位

  4. 命令使用误区

    • zpool replace:池中还有故障盘位时使用,已删盘位失效

    • zpool attach:镜像解散成单盘后,重新加盘组建镜像,唯一可用方案

  5. 盘符坑:使用 /dev/sda 动态盘符执行命令识别失败,ZFS 优先使用唯一设备 ID

三、完整修复实操步骤

1. 硬件操作

  1. 热插拔 / 断电拔出原有故障硬盘
  2. 接入容量大于等于原盘新硬盘
  3. 登录 TrueNAS 网页后台,进入「存储 - 磁盘」确认新硬盘正常识别
    在这里插入图片描述

2. 查看当前存储池状态

打开 Shell 执行命令

zpool status
异常状态输出(已删除故障盘)
pool: mydata
 state: ONLINE
  scan: resilvered 1.41M in 00:00:01 with 0 errors on Wed May 20 20:29:04 2026
config:
        NAME                                    STATE     READ WRITE CKSUM
        mydata                                  ONLINE       0     0     0
          86898e04-4654-48c9-82b8-3668e787a9a4  ONLINE       0     0     0
errors: No known data errors

状态说明:无 mirror 镜像组,仅剩单块正常磁盘 UUID,镜像已解散

3. 查询硬盘唯一标准 ID

ls /dev/disk/by-id

本次实际设备 ID

  • 池内正常磁盘 ID:86898e04\-4654\-48c9\-82b8\-3668e787a9a4

  • 新接入硬盘 ID:ata-WDC_WD40PURX-78AKYY0_WD-WXA2D21N770S

在这里插入图片描述

4. 执行重新组建 RAID1 镜像命令

通用格式

zpool attach 池名 原有正常盘ID 新硬盘by-id

本次可直接执行命令

zpool attach mydata 86898e04-4654-48c9-82b8-3668e787a9a4 ata-WDC_WD40PURX-78AKYY0_WD-WXA2D21N770S

5. 查看数据同步重建进度

zpool status

出现 resilvering in progress 代表开始自动同步数据
网页端「存储 - 存储池」可直观查看同步百分比进度
在这里插入图片描述

6. 修复完成校验

  1. 同步结束后池状态变为 ONLINE

  2. 配置内重新出现 mirror\-0 双盘镜像结构

  3. 无读写、校验报错,RAID1 恢复正常

四、运维避坑总结

禁止错误操作

  1. RAID1 硬盘故障严禁直接删除 / 分离故障盘,会直接解散镜像

  2. 禁止使用 /dev/sdX 动态盘符做替换、附加操作

  3. 数据同步重建期间,禁止断电、重启、插拔硬盘、大量写入数据

官方标准换盘正确流程

  1. 后台发现硬盘 FAULTY 故障

  2. 进入存储池状态,先点击 Offline 离线故障盘

  3. 物理更换新硬盘

  4. 同界面点击 Replace 替换磁盘,勾选 Force 清空新盘

  5. 系统自动重建镜像,无需命令行

已删除故障盘补救方案

  1. 确认单盘数据完好无损

  2. zpool status 获取池内现有磁盘 ID

  3. ls /dev/disk/by\-id 获取新硬盘唯一 ID

  4. 使用 zpool attach 重新合并组建镜像

五、常用备用运维命令

# 查看详细同步状态
zpool status -v

# 清空新硬盘分区残留(附加失败前置清理)
wipefs -a /dev/你的硬盘盘符

六、文档备注

  1. 运行环境:TrueNAS Scale / Core 通用,ZFS 文件系统通用
  2. 安全提醒:RAID1 仅防护硬盘硬件损坏,重要数据务必额外异地备份
  3. 日常建议:开启 SMART 硬盘监控、邮件故障告警,提前预判硬盘损坏

低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值