zfs 之 "label is missing" 问题解决方法.

具体报错信息

status: One or more devices could not be used because the label is missing or
        invalid.  Sufficient replicas exist for the pool to continue
        functioning in a degraded state.


            11913441618797008747  FAULTED      0     0     0  was /dev/sdv1
            sdw                   ONLINE       0     0     0
            1611494188233271386   FAULTED      0     0     0  was /dev/sdx1
            sdy                   ONLINE       0     0     0
            sdz                   ONLINE       0     0     0

可以看出 label 没了, 这时候看看是不是盘读写问题导致,如果不是证明数据是好的. 只要修label就好了;
本此案例内核没有报告读写问题,所以大概率不是硬件及硬盘本身问题导致;[操作前一定要谨慎,最好要备份]

修复命令

  1. zpool labelclear /dev/sdx1 ; zpool labelclear /dev/sdv1
  2. zpool offline /dev/sdx1; zpool offline /dev/sdv1
  3. 安排机房重新插拔对应磁盘即可,尽量中间间隔几分钟在插入;
  4. 检查 zpool status,可以看出是offline状态了.
  5. 上线磁盘 zpool offline /dev/sdx1 ,尽量一块一块上线,上线完成后状态会变成online状态; zpool offline /dev/sdy1.
  6. 检查pool状态 zpool status
root@amd-node01:~/lotus# zpool status
  pool: Rdataz2
 state: ONLINE
  scan: resilvered 2.25M in 00:00:01 with 0 errors on Wed Feb 15 14:53:05 2022
config:

ps: 这种状态下,detach,remove命令都是无效的,只能安排机房人员重新插排问题磁盘;
ExPs: 如果上述操作依然不能解决问题,只能上新磁盘 replace 了,两块16T要很久的至少10来天吧.
尽量手动备份下zpool export pool_name;在未使用情况下
Ref: https://docs.oracle.com/cd/E26926_01/html/E25826/gbbwl.html#scrolltoc

posted @ 2023-02-15 23:04  lvusyy  阅读(107)  评论(0编辑  收藏  举报