Skip to end of metadata
Go to start of metadata

Problem

If the pool is not being imported automatically when the system boots it is usually due to one of three reason.

  1. The first reason may be that the property for a safe pool is not reset to zero or safe to import. For more details as to why this may happen check here.
  2. The second reason may be that the system has not been explicitly configured to automatically import the pool on boot.
  3. The third reason is something happened to the pool that makes it not importable (Missing disks, disconnected shelf, hardware failure, etc). While this is the least likely we will check this first.

Solution

 

First Steps
Follow these steps to resolve the issue on your own.

  1. Verify the system can see the pool and it is online and healthy by viewing the pool in the GUI under the Pools Section. In the Screenshot below we see that p01 is Online and healthy. However test3 is faulted and will not import.


    Or if you do not have access to the GUI you can check the health of the pool via the commands below.

    zpool import
    # zpool import
       pool: p01
         id: 16825062666759555915
      state: ONLINE
     action: The pool can be imported using its name or numeric identifier.
     config:
            p01                      ONLINE
              c0t5000CCA0289A8ED0d0  ONLINE
       pool: test3
         id: 15466261919408103101
      state: FAULTED
     status: The pool was last accessed by another system.
     action: The pool cannot be imported due to damaged devices or data.
            The pool may be active on another system, but can be imported using
            the '-f' flag.
       see: http://illumos.org/msg/ZFS-8000-EY
     config:
            test3                    FAULTED  corrupted data
              c0t5000A7203008674Bd0  ONLINE
  2. Before importing the pool run the following command to see if it is listed in the cache file of pools to be imported.

    # zpool import -c /etc/.zpools/spa_info


  3. If the pool name returns skip to step 4. If the pool name doesn't return as an eligible pool import the pool with this command and the pool should automatically import on next boot.

    # zpool import -o cachefile=/etc/.zpools/spa_info <pool name>
    Example for Pool Named p01
    # zpool import -o cachefile=/etc/.zpools/spa_info p01


    OR


    Use the GUI and import the pool the through the GUI. The GUI will automatically correctly set the cache file.

  4. Verify the pool is pool is set as safe to import with this command

    # zfs get -Hovalue racktop:poolimport:<pool name>:last_import_good bp
    Example for Pool Named p01
    # zfs get -Hovalue racktop:poolimport:p01:last_import_good bp
    1

    If the above returns a 1 it is saying it is not safe to import and will be skipped by the automatic import process on reboot. If the pool is safe to import or you have it imported you should set it to zero with the command below in step 5. However, if it returns 0 nothing further is required. The pool is already set as safe.

  5. Set the pool property to safe to import.

    Reset p01 to Safe to Import
    # zfs set racktop:poolimport:p01:last_import_good=0 bp