ZFS Ubuntu 20.04,驱动器故障导致池不可用

ZFS Ubuntu 20.04,驱动器故障导致池不可用

我最近安装了 Ubuntu 20.04,3 个月前全新安装,安装在 SSD(无启动 ZFS)上,其中我创建了 2 个 zpools:一个“zombiepool2”4 x 2TB(不是,非常新的驱动器),第二个“zombiepool”3 x 3TB,都是用于 PLEX 服务器的 raidz1 一天早上,4 个驱动器池发出咔嗒声,一个驱动器显示为 FAILED,而池也显示为 FAILED,我的问题是:1-我将坏驱动器换成空驱动器并尝试更换它,-但驱动器状态更改为 UNAVAIL,池也更改为 UNAVAIL 2-我放回坏驱动器,并将新的空驱动器插入开放的 SATA 端口,驱动器状态更改为 FAILED,并且 zpool 也更改为 FAILED

我将在下面显示我的终端输出,但我的问题是,如果命令显示无法使用池,我该如何更换驱动器

-----sudo zpool status 池:zombiepool 状态:ONLINE 扫描:scrub 于 2023 年 4 月 1 日星期六 17:25:43 于 07:17:56 修复 0B,出现 0 个错误 配置:

NAME        STATE     READ WRITE CKSUM
zombiepool  ONLINE       0     0     0
  raidz1-0  ONLINE       0     0     0
    sde     ONLINE       0     0     0
    sdf     ONLINE       0     0     0
    sdg     ONLINE       0     0     0

错误:没有已知数据错误 --------sudo zpool import pool: zombiepool2 id: 2181955902400174884 state: FAULTED status: 一个或多个设备包含损坏的数据。 操作:由于设备或数据损坏,无法导入池。 该池可能在另一个系统上处于活动状态,但可以使用“-f”标志导入。 参见:https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-5E 配置:

zombiepool2                  FAULTED  corrupted data
  sdb                        ONLINE
  sdc                        FAULTED  corrupted data
  ata-ST32000542AS_5XW020AR  ONLINE
  ata-ST32000542AS_5XW01YSD  ONLINE

----- 我的可用空驱动器是.........型号 WDC WD2003FYPS-27Y2B0 (04.05G11),序列号 N:WD-WCAVY6043324......... GUID 分区表,未分配空间 /dev/sdi

------sudo zpool replace -f zombiepool2 /dev/sdc /dev/sdi ------(尝试使用和不使用 -F -f)并得到无法打开“zombiepool2”:没有这样的池

我有什么办法可以拯救这个游泳池?

********添加 ZDB 命令结果 *******

zombiepool:
    version: 5000
    name: 'zombiepool'
    state: 0
    txg: 1297882
    pool_guid: 17864338163211157409
    errata: 0
    hostid: 1372433909
    hostname: 'plexzombieU'
    com.delphix:has_per_vdev_zaps
    vdev_children: 1
    vdev_tree:
        type: 'root'
        id: 0
        guid: 17864338163211157409
        create_txg: 4
        children[0]:
            type: 'raidz'
            id: 0
            guid: 2716189947926612760
            nparity: 1
            metaslab_array: 132
            metaslab_shift: 34
            ashift: 12
            asize: 9001735028736
            is_log: 0
            create_txg: 4
            com.delphix:vdev_zap_top: 257
            children[0]:
                type: 'disk'
                id: 0
                guid: 11774464606619835771
                path: '/dev/sde1'
                devid: 'ata-ST3000DM001-1E6166_Z1F591S9-part1'
                phys_path: 'pci-0000:01:00.1-ata-1.0'
                whole_disk: 1
                DTL: 273
                create_txg: 4
                com.delphix:vdev_zap_leaf: 258
            children[1]:
                type: 'disk'
                id: 1
                guid: 9891655099731410770
                path: '/dev/sdf1'
                devid: 'ata-ST3000DM001-1CH166_Z1F65800-part1'
                phys_path: 'pci-0000:01:00.1-ata-2.0'
                whole_disk: 1
                DTL: 262
                create_txg: 4
                com.delphix:vdev_zap_leaf: 259
            children[2]:
                type: 'disk'
                id: 2
                guid: 15970182034792832750
                path: '/dev/sdg1'
                devid: 'ata-ST3000DM001-1E6166_Z1F4L1NW-part1'
                phys_path: 'pci-0000:01:00.1-ata-5.0'
                whole_disk: 1
                DTL: 10
                create_txg: 4
                com.delphix:vdev_zap_leaf: 260
    features_for_read:
        com.delphix:hole_birth
        com.delphix:embedded_data

答案1

@rfm 的评论是正确的。从您的zpool status命令中可以明显看出,zombiepool2并非作为 创建raidz1。因此,您无法更换磁盘或恢复数据。

因此不幸的是,坏消息是:所有数据都zombiepool2将丢失,除非您愿意花费一大笔钱来恢复数据。

如果您决定zombiepool2再次重新创建,请确保将其创建为raidz1,以便在磁盘发生故障时可以恢复数据。命令如下:

zpool create -m /path/to/mountpoint zombiepool2 raidz /dev/sda /dev/sdb /dev/sdc /dev/sdd

相关内容