内核升级尝试后 zpool 丢失

Sco*_*ttJ 2 zfs 14.04

我正在使用 ZFS 运行 14.04 LTS 并尝试按照这些说明将我的内核更新到 3.17 。在此安装过程中,我收到此错误:

    *** Please make sure the kmod spl devel <kernel> package for your
    *** distribution is installed then try again.  If that fails you
    *** can specify the location of the spl objects with the
    *** '--with-spl-obj=PATH' option.
Run Code Online (Sandbox Code Playgroud)

谷歌把我带到了这个页面,我跑去sudo apt-get install spl-dkms试图解决上面的问题。

重新启动后,我有内核 3.17 但没有 ZFS 池。我回滚到我以前的内核 (3.13.0-40) 但仍然没有 zpools。

$ sudo zpool status
no pools available
Run Code Online (Sandbox Code Playgroud)

我应该有一个镜像池显示。分区仍然存在,如 parted 所示:

(parted) print                                                            
Model: ATA HGST HTS721010A9 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name    Flags
 1      1049kB  2097kB  1049kB               boot0   bios_grub
 2      2097kB  10.0GB  9998MB               root0
 3      10.0GB  992GB   982GB   zfs          zdata0
 5      992GB   1000GB  8204MB               swap0
Run Code Online (Sandbox Code Playgroud)

另一个驱动器看起来相似。镜像位于 zdata0 和 zdata1 上。

为什么它找不到我的 zpool,我该如何取回它?

Sco*_*ttJ 7

在这种情况下,zdb显示了池,但zpool status没有。我需要做:

zpool import -f zdata
Run Code Online (Sandbox Code Playgroud)

一切又好起来了。