ZFS Plugin not mounting pool on boot

    • OMV 2.x
    • Resolved

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • ZFS Plugin not mounting pool on boot

      I'm having problems with the ZFS plugin. After a system restart does not mount the existing ZFS pool. I have to go to the plugins interface and manually import it every time. That's a problem, because I store my images and containers there, so even aftar the pool is online, docker and virtualbox still fail and I have to go there and restart or even reconfigure them , as in case of docker.

      I've already tried reinstalling the plugin without results.
    • Hello nicjo and thank you.

      The ZFS_MOUNT variable is correct but the import path is commented out. What should be in there, the /Z2 folder name?

      # Specify specific path(s) to look for device nodes and/or links for the
      # pool import(s). See zpool(8) for more information about this variable.
      # It supersedes the old USE_DISK_BY_ID which indicated that it would only
      # try '/dev/disk/by-id'.
      # The old variable will still work in the code, but is deprecated.
      #ZPOOL_IMPORT_PATH="/dev/disk/by-vdev:/dev/disk/by-id"
    • I would try to just uncomment the line and use the default value. It all depends on how your pool is created and myself I used the identifiers in "/dev/disk/by-id" so that's what I have as that parameter. You could try do to "zpool status" to see how the disks are "named" in your setup. Mine are called things like "ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N2H5DYTY" and they are symlinks present in the /dev/disk/by-id folder.
    • The default line also didn't work.
      The output from zpool status after manually import is:

      # zpool status
      pool: Z2
      state: ONLINE
      status: Some supported features are not enabled on the pool. The pool can
      still be used, but some features are unavailable.
      action: Enable all features using 'zpool upgrade'. Once this is done,
      the pool may no longer be accessible by software that does not support
      the features. See zpool-features(5) for details.
      scan: resilvered 56,3M in 0h1m with 0 errors on Sun Aug 28 21:55:37 2016
      config:

      NAME STATE READ WRITE CKSUM
      Z2 ONLINE 0 0 0
      raidz2-0 ONLINE 0 0 0
      sdc ONLINE 0 0 0
      sdb ONLINE 0 0 0
      sdd ONLINE 0 0 0
      sde ONLINE 0 0 0
      sdl ONLINE 0 0 0
      sda ONLINE 0 0 0

      errors: No known data errors
      The file list on /dev/disk/by-id is:

      # ls /dev/disk/by-id
      ata-Hitachi_HDS721010CLA632_JP2940J829BTXV scsi-SATA_Hitachi_HDS7210_JP2940J829BTXV wwn-0x5000c5006756268a
      ata-Hitachi_HDS721010CLA632_JP2940J829BTXV-part1 scsi-SATA_Hitachi_HDS7210_JP2940J829BTXV-part1 wwn-0x5000c5006756268a-part1
      ata-KINGSTON_SV300S37A120G_50026B77480D06F5 scsi-SATA_ST2000DM001-1CH_W1E77MNN wwn-0x5000c5007323385c
      ata-KINGSTON_SV300S37A120G_50026B77480D06F5-part1 scsi-SATA_ST2000DM001-1CH_W1E77MNN-part1 wwn-0x5000c5007323385c-part1
      ata-KINGSTON_SV300S37A120G_50026B77480D06F5-part2 scsi-SATA_ST2000DM001-1ER_Z4Z0AW14 wwn-0x5000c500794c2efd
      ata-KINGSTON_SV300S37A120G_50026B77480D06F5-part5 scsi-SATA_ST2000DM001-1ER_Z4Z0AW14-part1 wwn-0x5000c500794c2efd-part1
      ata-ST2000DM001-1CH164_W1E77MNN scsi-SATA_ST2000DM001-1ER_Z4Z2QMEZ wwn-0x5000c5007b428bcc
      ata-ST2000DM001-1CH164_W1E77MNN-part1 scsi-SATA_ST2000DM001-1ER_Z4Z2QMEZ-part1 wwn-0x5000c5007b428bcc-part1
      ata-ST2000DM001-1ER164_Z4Z0AW14 scsi-SATA_ST4000DM000-1F2_Z302CNZS wwn-0x5000cca396e072a8
      ata-ST2000DM001-1ER164_Z4Z0AW14-part1 scsi-SATA_ST4000DM000-1F2_Z302CNZS-part1 wwn-0x5000cca396e072a8-part1
      ata-ST2000DM001-1ER164_Z4Z2QMEZ scsi-SATA_WDC_WD3200BPVT-_WD-WX21EB124061 wwn-0x50014ee25bfd6240
      ata-ST2000DM001-1ER164_Z4Z2QMEZ-part1 scsi-SATA_WDC_WD3200BPVT-_WD-WX21EB124061-part1 wwn-0x50014ee25bfd6240-part1
      ata-ST4000DM000-1F2168_Z302CNZS scsi-SATA_WDC_WD3200BPVT-_WD-WX21EB124061-part9 wwn-0x50014ee25bfd6240-part9
      ata-ST4000DM000-1F2168_Z302CNZS-part1 scsi-SATA_WDC_WD3200BPVT-_WD-WX21EB1AL031 wwn-0x50014ee25bfd6407
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WX21EB124061 scsi-SATA_WDC_WD3200BPVT-_WD-WX21EB1AL031-part1 wwn-0x50014ee25bfd6407-part1
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WX21EB124061-part1 scsi-SATA_WDC_WD3200BPVT-_WD-WX21EB1AL031-part9 wwn-0x50014ee25bfd6407-part9
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WX21EB124061-part9 scsi-SATA_WDC_WD3200BPVT-_WD-WXA1EB1LVCC2 wwn-0x50014ee2b1532c59
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WX21EB1AL031 scsi-SATA_WDC_WD3200BPVT-_WD-WXA1EB1LVCC2-part1 wwn-0x50014ee2b1532c59-part1
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WX21EB1AL031-part1 scsi-SATA_WDC_WD3200BPVT-_WD-WXA1EB1LVCC2-part9 wwn-0x50014ee2b1532c59-part9
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WX21EB1AL031-part9 scsi-SATA_WDC_WD3200BPVT-_WD-WXU1CC1E2621 wwn-0x50014ee2b1534123
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WXA1EB1LVCC2 scsi-SATA_WDC_WD3200BPVT-_WD-WXU1CC1E2621-part1 wwn-0x50014ee2b1534123-part1
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WXA1EB1LVCC2-part1 scsi-SATA_WDC_WD3200BPVT-_WD-WXU1CC1E2621-part9 wwn-0x50014ee2b1534123-part9
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WXA1EB1LVCC2-part9 scsi-SATA_WDC_WD3200BPVT-_WD-WXU1EA1NHCVD wwn-0x50014ee2b1534157
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WXU1CC1E2621 scsi-SATA_WDC_WD3200BPVT-_WD-WXU1EA1NHCVD-part1 wwn-0x50014ee2b1534157-part1
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WXU1CC1E2621-part1 scsi-SATA_WDC_WD3200BPVT-_WD-WXU1EA1NHCVD-part9 wwn-0x50014ee2b1534157-part9
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WXU1CC1E2621-part9 scsi-SATA_WDC_WD3200BPVT-_WD-WXU1EA1NKLZV wwn-0x50014ee6accb99a9
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WXU1EA1NHCVD scsi-SATA_WDC_WD3200BPVT-_WD-WXU1EA1NKLZV-part1 wwn-0x50014ee6accb99a9-part1
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WXU1EA1NHCVD-part1 scsi-SATA_WDC_WD3200BPVT-_WD-WXU1EA1NKLZV-part9 wwn-0x50014ee6accb99a9-part9
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WXU1EA1NHCVD-part9 scsi-SKINGSTON_SV300S37A120G_152D20337A0C wwn-0x50026b77480d06f5
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WXU1EA1NKLZV scsi-SKINGSTON_SV300S37A120G_152D20337A0C-part1 wwn-0x50026b77480d06f5-part1
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WXU1EA1NKLZV-part1 scsi-SKINGSTON_SV300S37A120G_152D20337A0C-part2 wwn-0x50026b77480d06f5-part2
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WXU1EA1NKLZV-part9 scsi-SKINGSTON_SV300S37A120G_152D20337A0C-part5 wwn-0x50026b77480d06f5-part5
      The disks on the Z pool are the western digital. I've tried other directories, but there's nothing on them.
    • Search for "Selecting /dev/ names when creating a pool" on the page github.com/zfsonlinux/zfs/wiki/FAQ to get information on the issue. I would recommend to change naming scheme to /dev/disk/by-id which is explained a bit further down on that page.

      After you have changed the naming scheme (by exporting/importing the pool with proper flags) you need to make sure that the ZPOOL_IMPORT_PATH variable lists /dev/disk/by-id and you should be set.
    • I executed the following commands:

      # zpool export Z2
      # zpool import -d /dev/disk/by-id Z2
      And the pool was correctly imported using device id's as it showed on zpool status.

      # zpool status
      pool: Z2
      state: ONLINE
      status: Some supported features are not enabled on the pool. The pool can
      still be used, but some features are unavailable.
      action: Enable all features using 'zpool upgrade'. Once this is done,
      the pool may no longer be accessible by software that does not support
      the features. See zpool-features(5) for details.
      scan: resilvered 56,3M in 0h1m with 0 errors on Sun Aug 28 21:55:37 2016
      config:

      NAME STATE READ WRITE CKSUM
      Z2 ONLINE 0 0 0
      raidz2-0 ONLINE 0 0 0
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WX21EB124061 ONLINE 0 0 0
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WXU1EA1NHCVD ONLINE 0 0 0
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WXU1CC1E2621 ONLINE 0 0 0
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WX21EB1AL031 ONLINE 0 0 0
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WXA1EB1LVCC2 ONLINE 0 0 0
      ata-WDC_WD3200BPVT-80JJ5T0_WD-WXU1EA1NKLZV ONLINE 0 0 0

      I made sure that the correct option was in the configuration file (ZPOOL_IMPORT_PATH="/dev/disk/by-id") and rebooted. But the pool isn't there after the reboot. ;( ;( ;(
    • I haven't found anythig related to "stale cache" on the link you previously sent.
      Is there a way to "debug" it?

      I don't think is anything wrong with the pool or cache. If so it would also cause issues when manually importing. I'm suspecting more on some weird init problem with init order/permissions or anything that could have changed during a system update.

      That message shown about doing a pool update, you've seen it? Could that be the reason?
    • The /etc/zfs/zpool.cache file

      Whenever a pool is imported on the system it will be added to the /etc/zfs/zpool.cache file. This file stores pool configuration information, such as the device names and pool state. If this file exists when running the zpool import command then it will be used to determine the list of pools available for import. When a pool is not listed in the cache file it will need to be detected and imported using the zpool import -d /dev/disk/by-id command.



      Generating a new /etc/zfs/zpool.cache file


      The /etc/zfs/zpool.cache file will be automatically updated when your pool configuration is changed. However, if for some reason it becomes stale you can force the generation of a new/etc/zfs/zpool.cache file by setting the cachefile property on the pool.
      $ zpool set cachefile=/etc/zfs/zpool.cache tankConversely the cache file can be disabled by setting cachefile=none. This is useful for failover configurations where the pool should always be explicitly imported by the failover software.
      $ zpool set cachefile=none tank