我有一个带有四个磁盘的 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 驱动器或类似的东西。