Please try zpool list
. This will show if the pool is even available to the system.
Try to import. Maybe a zpool import -f nestpool
Perhaps try to remove the unavailable log devices via:
zpool remove nestpool mirror-1
From now on, use whole devices for L2ARC and ZIL...
Edit:
Your easiest fix is to temporarily create the symbolic links you need in /dev/disk/by-id
in order to import the pool. An example from a RHEL system running the current ZFS.
[root@Davalan /dev/disk/by-id]# ll
total 0
lrwxrwxrwx 1 root root 9 Oct 27 05:29 ata-STEC_M8IOPS-50_STM000136649 -> ../../sdc
lrwxrwxrwx 1 root root 10 Oct 27 05:29 ata-STEC_M8IOPS-50_STM000136649-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 Oct 27 05:29 ata-STEC_M8IOPS-50_STM000136649-part9 -> ../../sdc9
lrwxrwxrwx 1 root root 9 Oct 27 05:29 scsi-35000c5003af99fa7 -> ../../sdd
lrwxrwxrwx 1 root root 10 Oct 27 05:29 scsi-35000c5003af99fa7-part1 -> ../../sdd1
lrwxrwxrwx 1 root root 10 Oct 27 05:29 scsi-35000c5003af99fa7-part9 -> ../../sdd9
lrwxrwxrwx 1 root root 9 Oct 27 05:29 scsi-35000cca0153ec2d0 -> ../../sdb
lrwxrwxrwx 1 root root 10 Oct 27 05:29 scsi-35000cca0153ec2d0-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Oct 27 05:29 scsi-35000cca0153ec2d0-part9 -> ../../sdb9
lrwxrwxrwx 1 root root 9 Oct 27 05:29 scsi-35000cca01540e298 -> ../../sdf
lrwxrwxrwx 1 root root 10 Oct 27 05:29 scsi-35000cca01540e298-part1 -> ../../sdf1
lrwxrwxrwx 1 root root 10 Oct 27 05:29 scsi-35000cca01540e298-part9 -> ../../sdf9
lrwxrwxrwx 1 root root 9 Oct 27 05:29 scsi-35000cca01540e340 -> ../../sde
lrwxrwxrwx 1 root root 10 Oct 27 05:29 scsi-35000cca01540e340-part1 -> ../../sde1
lrwxrwxrwx 1 root root 10 Oct 27 05:29 scsi-35000cca01540e340-part9 -> ../../sde9
lrwxrwxrwx 1 root root 9 Oct 27 05:29 scsi-SATA_STEC_M8IOPS-50_STM000136649 -> ../../sdc
lrwxrwxrwx 1 root root 10 Oct 27 05:29 scsi-SATA_STEC_M8IOPS-50_STM000136649-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 Oct 27 05:29 scsi-SATA_STEC_M8IOPS-50_STM000136649-part9 -> ../../sdc9
I was able to 'recover' from this incident by zfs 'send'ing and receiving the corrupt pool to a new pool.
# create new single disk pool (or a mirror in advance if you wish)
zpool create -f tpool c0d0s0
# make a baseline snapshot of the old pool
zfs snapshot -r rpool@now
# zfs send it to the new tpool
zfs send -vR rpool@now | zfs receive -Fduv tpool
# note that this will reset tpool's mountpoint to rpool - so be sure to
update it
zfs set mountpoint=/tpool tpool
# go single user; how depends on your system
# edit:
/rpool/boot/grub/menu.lst
# (Note that this file is supposed to be maintained by bootadm; under the circumstances, I chose to just go direct)
#duplicate first bootset, edit the copy, change findroot from
findroot (pool_rpool,0,a)
# to
findroot (pool_tpool,0,a)
# make a second snapshot now that in single user
zfs snapshot -r rpool@now2
# send the incremental snap to the new tpool
zfs send -vR -i rpool@now rpool@now2 | zfs receive -Fduv tpool
# mount tpool - bear in mind again, mountpoint needs to be updated
zfs mount=/tpool tpool
# rm the 'bootsign' file and replace with new:
rm /tpool/boot/grub/bootsign/pool_rpool
touch /tpool/boot/grub/bootsign/pool_tpool
# formalize where to boot from
zpool set bootfs=tpool/ROOT/snv_113 tpool
# add the boot blocks
installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0d0s0
# poweroff, detach rpool disks - or leave them for further investigation
# if going to mirror, physically attach the second disk
# boot up
# turn tpool into a mirror
zpool attach tpool c0d0s0 c1d0s0
# done
Note that if everything is satisfactory, you can edit the grub menu to either move the new tpool boot entry to be the first, or change the 'default' declaration to point to whichever one it is in the list (or, if there are no other boot declarations, then just delete the one for rpool).
Also - while I referred to probably more than a hundred different sites and webpages while trying to solve this, the above 'recipe' is largely derived from How to shrink a mirrored ZFS rpool, by Joe Mocker.
Best Answer
Theres is no situation in regular use where you would want to manually run a
zpool export
. Pools are imported expected automatically during the Linux boot and shutdown process.However, ZFS zpools are already and inherently portable, provided access to the disks is still possible. You don't need to take any additional action do to what you're asking about.