zfs、zpool list 没有可用的池,并且 zpool import 没有可导入的池

zfs、zpool list 没有可用的池,并且 zpool import 没有可导入的池

我有一个带有四个磁盘的 zpool:

  • /dev/磁盘/按 ID/ata-SAMSUNG_HD103SJ_S246J9AZB03256
  • /dev/磁盘/按 ID/ata-SAMSUNG_HD103SJ_S2NWJ50BB01630
  • /dev/磁盘/按 ID/ata-SAMSUNG_HD103UJ_S13PJ90S328545
  • /dev/磁盘/按 ID/ata-ST1000DM003-1CH162_Z1D8NBZ6

我尝试并得到:

sudo zpool list
no pools available
sudo zpool -DFa
no pools available to import

对于每个磁盘我尝试使用如下所示的 zdb 并得到类似的结果:

sudo zdb -el /dev/disk/by-id/ata-ST1000DM003-1CH162_Z1D8NBZ6-part1
------------------------------------
LABEL 0
------------------------------------
    version: 5000
    name: 'zfs-array-0'
    state: 0
    txg: 6025683
    pool_guid: 4080097585802041059
    errata: 0
    hostid: 118944001
    hostname: 'pve'
    top_guid: 12288797594631669026
    guid: 9380316338933775449
    vdev_children: 1
    vdev_tree:
        type: 'raidz'
        id: 0
        guid: 12288797594631669026
        nparity: 1
        metaslab_array: 134
        metaslab_shift: 34
        ashift: 12
        asize: 4000759939072
        is_log: 0
        create_txg: 4
        children[0]:
            type: 'disk'
            id: 0
            guid: 16244120337588681089
            path: '/dev/disk/by-id/ata-SAMSUNG_HD103SJ_S246J9AZB03256-part1'
            devid: 'ata-SAMSUNG_HD103SJ_S246J9AZB03256-part1'
            phys_path: 'pci-0000:01:00.1-ata-2'
            whole_disk: 1
            DTL: 956
            create_txg: 4
        children[1]:
            type: 'disk'
            id: 1
            guid: 11474276196065725623
            path: '/dev/disk/by-id/ata-SAMSUNG_HD103SJ_S2NWJ50BB01630-part1'
            devid: 'ata-SAMSUNG_HD103SJ_S2NWJ50BB01630-part1'
            phys_path: 'pci-0000:01:00.1-ata-6'
            whole_disk: 1
            DTL: 954
            create_txg: 4
        children[2]:
            type: 'disk'
            id: 2
            guid: 10378482137532375862
            path: '/dev/disk/by-id/ata-SAMSUNG_HD103UJ_S13PJ90S328545-part1'
            devid: 'ata-SAMSUNG_HD103UJ_S13PJ90S328545-part1'
            phys_path: 'pci-0000:01:00.1-ata-1'
            whole_disk: 1
            DTL: 953
            create_txg: 4
        children[3]:
            type: 'disk'
            id: 3
            guid: 9380316338933775449
            path: '/dev/disk/by-id/ata-ST1000DM003-1CH162_Z1D8NBZ6-part1'
            devid: 'ata-ST1000DM003-1CH162_Z1D8NBZ6-part1'
            phys_path: 'pci-0000:08:00.2-ata-4'
            whole_disk: 1
            DTL: 952
            create_txg: 4
    features_for_read:
        com.delphix:hole_birth
        com.delphix:embedded_data
    labels = 0 1 2 3

然后使用建议ZFS 导入无法找到任何池我试过了

sudo zpool import -D -f zfs-array-0
cannot import 'zfs-array-0': no such pool available

我尝试过,但

sudo zpool import -ad /dev/disk/by-id/ata-SAMSUNG_HD103SJ_S246J9AZB03256-part1 -ad /dev/disk/by-id/ata-SAMSUNG_HD103SJ_S2NWJ50BB01630-part1 -ad /dev/disk/by-id/ata-SAMSUNG_HD103UJ_S13PJ90S328545-part1 -ad /dev/disk/by-id/ata-ST1000DM003-1CH162_Z1D8NBZ6-part1
no pools available to import

zpool 最初是在 proxmox 中创建的,我在那里和 manjaro 中尝试了相同的命令,并得到了相同的结果。我在 manjaro 中使用 zfs-0.8.5-1。在 proxmox 中使用 zfs-0.8.4。

最后,我想知道是否有人知道如何导入 zpool 或如何访问 zpool 中的数据?为什么会发生这种情况?

答案1

我可以使用每个磁盘的第一个分区来导入池。如下所示:

# zpool import -d /dev/disk/by-id/ata-disk1-part1 \
    -d /dev/disk/by-id/ata-disk2-part1 \
    -d /dev/disk/by-id/ata-disk3-part1 \
    pool_name

答案2

从 Ubuntu LTS 20.04 迁移到 22.04 后,我的系统崩溃了。

我已经创建了一个 USB 棒并启动到实时模式。

在那里我可以执行“sudo zpool import -d /dev/disk/by-id/”(sudo 是强制性的)。

通过这样做,我发现在我的情况下它是 *-part4。在这里你还会看到池名称,以防你忘记了它。

在最后一步中我按照 Ismael 的帖子中提到的进行了检查:

zpool import -d /dev/disk/by-id/ata-disk1-part1 -d /dev/disk/by-id/ata-disk2-part1 -d /dev/disk/by-id/ata-disk3-part1 pool_name

一旦池被安装并且如果数据很重要,您应该做的第一件事就是备份到 USB 驱动器或类似的东西。

相关内容