I'm running ZFS on Linux on my workstation, and have been for about two years:
[ 273.779699] SPL: Loaded module v0.6.4.2-1~vivid
[ 273.824212] ZFS: Loaded module v0.6.4.2-1~vivid, ZFS pool version 5000, ZFS filesystem version 5
[ 280.179534] SPL: using hostid 0x007f0101
It works great, except that a couple of months ago I upgraded to Ubuntu 15.04. When I rebooted after the upgrade, the ZFS pool was not seen. At first I panicked, but when I had zpool search my devices it found the missing pool. Running "zpool import store" works fine, and everything mounts as it ought to. Until the next time I reboot.
Everytime I reboot ZFS appears to forget about my pool. However, I can't see anything obviously wrong:
$ sudo zpool list -Hv
store 1.30T 301G 1.00T - 22% 22% 1.17x ONLINE -
sda4 432G 135G 297G - 31% 31%
sdb3 896G 167G 729G - 19% 18%
I also don't see anything obviously wrong in the partition tables:
$ sudo parted -l
Model: ATA ST500DM002-1BD14 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 512MB 511MB fat32 EFI System Partition msftdata
2 512MB 35.5GB 35.0GB ext4
4 35.5GB 500GB 465GB zfs
Model: ATA WDC WD1002FAEX-0 (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 10.0GB 9999MB linux-swap(v1)
2 10.0GB 35.0GB 25.0GB xfs
3 35.0GB 1000GB 965GB zfs
Any guidance about where to look, or what to do would be very much appreciated.
Check
/etc/default/zfs
and make sure it's set to:ZFS_MOUNT='yes' ZFS_UNMOUNT='yes'
Be sure to have
ubuntu-zfs
package installed, as it provides the correct pinning for themountall
command. See https://github.com/zfsonlinux/pkg-zfs/wiki/Ubuntu-ZFS-mountall-FAQ-and-troubleshooting for more detailsAND/OR
have a look into and change
/etc/init/zpool-import.conf
modprobe zfs zfs_autoimport_disable=1
to
modprobe zfs zfs_autoimport_disable=0
I updated the ZFS packages this week and the problem simply vanished. It must have been a bug somewhere that got fixed. Everything is good again.