Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Unable to mount ZFS Cache Pool after upgrade from 7.0.1 to7.1.2

Featured Replies

Hi,

 

I installed the unraid upgrade from 7.0.1 to 7.1.2, after the reboot the cache pool shows as: "Unmountable: wrong or no file system".
Screenshot2025-05-11at15_14_27.thumb.png.0049dd056d2d32a7e10c2843387cadc2.png
 

Output of "zpool import":

  pool: cache
    id: 16823874084781934917
 state: ONLINE
status: Some supported features are not enabled on the pool.
        (Note that they may be intentionally disabled if the
        'compatibility' property is set.)
action: The pool can be imported using its name or numeric identifier, though
        some features will not be available without an explicit 'zpool upgrade'.
config:

        cache          ONLINE
          mirror-0     ONLINE
            nvme0n1p1  ONLINE
            nvme1n1p1  ONLINE

Output of "blkid":

/dev/sda1: LABEL_FATBOOT="UNRAID" LABEL="UNRAID" UUID="AB98-161C" BLOCK_SIZE="512" TYPE="vfat"
/dev/md1p1: UUID="4d34e813-c926-4d51-9f7e-1707eea4cbfa" BLOCK_SIZE="512" TYPE="xfs"
/dev/loop1: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/nvme0n1p1: LABEL="cache" UUID="16823874084781934917" UUID_SUB="14463204487326902878" BLOCK_SIZE="4096" TYPE="zfs_member"
/dev/loop2: UUID="0abdf3dc-6e2c-42b9-b66a-0286e2f89501" UUID_SUB="4958cf0b-cda5-4a61-a06c-2f3f83a1c72e" BLOCK_SIZE="4096" TYPE="btrfs"
/dev/loop0: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/nvme1n1p1: LABEL="cache" UUID="16823874084781934917" UUID_SUB="5643035414899293048" BLOCK_SIZE="4096" TYPE="zfs_member"

Output of "fdisk -l /dev/nvme0n1" and "fdisk -l /dev/nvme1n1"
 

root@DXP-2800:~# fdisk -l /dev/nvme0n1
Disk /dev/nvme0n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: WDS100T3X0C-00SJG0                      
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device         Boot Start        End    Sectors   Size Id Type
/dev/nvme0n1p1       2048 1953525167 1953523120 931.5G 83 Linux
root@DXP-2800:~# fdisk -l /dev/nvme1n1
Disk /dev/nvme1n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: WD Red SN700 1000GB                     
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device         Boot Start        End    Sectors   Size Id Type
/dev/nvme1n1p1       2048 1953525167 1953523120 931.5G 83 Linux


How can I get the cache back online? It's a pretty bad situation as the docker service files are stored on the cache and therefore docker does not run.

Thanks for your help.

Solved by JorgeB

  • Community Expert

See:

 

and

 

  • Community Expert

post the output of 

 

wipefs /dev/nvme1n1p1

  • Community Expert
39 minutes ago, nibu89 said:

the docker service files are stored on the cache

Unless you disabled Docker in Settings it has probably already created those on the array so you will need to clean that up. 

  • Author
15 hours ago, MowMdown said:

post the output of 

 

wipefs /dev/nvme1n1p1

DEVICE    OFFSET       TYPE       UUID                 LABEL
nvme1n1p1 0x4000       zfs_member 16823874084781934917 cache
nvme1n1p1 0x44000      zfs_member 16823874084781934917 cache
nvme1n1p1 0xe8e0c04000 zfs_member 16823874084781934917 cache
nvme1n1p1 0xe8e0c44000 zfs_member 16823874084781934917 cache

 

  • Author
1 hour ago, JorgeB said:

Please post the diagnostics.

After a short search through syslog I found this:
 

May 11 15:04:17 DXP-2800 emhttpd: cache: import: misplaced device: /dev/nvme1n1p1
May 11 15:04:17 DXP-2800 emhttpd: errors: No known data errors
May 11 15:04:17 DXP-2800 emhttpd: cache: cannot import with misplaced devices

 

Also there seems to be no partion on /dev/nvme1n1 could this be a problem?

diagnostics are attached.

dxp-2800-diagnostics-20250512-1139.zip

Edited by nibu89

  • Community Expert
  • Solution
26 minutes ago, nibu89 said:

Also there seems to be no partion on /dev/nvme1n1 could this be a problem?

Yes, that the problem:

 

May 12 11:37:48 DXP-2800 emhttpd: /bin/lsblk -lnbo TYPE,PARTN,NAME,START,SIZE,PTTYPE,PARTTYPE /dev/nvme0n1 2>&1
May 12 11:37:48 DXP-2800 emhttpd: disk    nvme0n1         1000204886016 dos
May 12 11:37:48 DXP-2800 emhttpd: part  1 nvme0n1p1  2048 1000203837440 dos 0x83
May 12 11:37:48 DXP-2800 emhttpd: device nvme0n1 partition: nvme0n1p1 type: dos start: 2048 size: 976761560, code: 0x83 (4)
May 12 11:37:48 DXP-2800 emhttpd: import 30 pool device: (nvme0n1) WDS100T3X0C-00SJG0_21311P802617
May 12 11:37:48 DXP-2800 emhttpd: /bin/lsblk -lnbo TYPE,PARTN,NAME,START,SIZE,PTTYPE,PARTTYPE /dev/nvme1n1 2>&1
May 12 11:37:48 DXP-2800 emhttpd: disk    nvme1n1         1000204886016
May 12 11:37:48 DXP-2800 emhttpd: part  1 nvme1n1p1  2048 1000203837440  0x83
May 12 11:37:48 DXP-2800 emhttpd: device nvme1n1: no partitions

 

Note that for nvme1n1, the lsblk output is not showing the PTTYPE, it shows for the other device (dos)

 

May 12 11:37:48 DXP-2800 emhttpd: part  1 nvme0n1p1  2048 1000203837440 dos 0x83
May 12 11:37:48 DXP-2800 emhttpd: part  1 nvme1n1p1  2048 1000203837440  0x83

 

There's something wrong with that partition, and Unraid 7.1 relies on the lsblk output, so since some info is missing, it considers it an invalid partition.

 

Since the pool is a mirror, the easiest way to resolve this, would be to import the pool with just the good device, then wipe the other one and re-add it to the pool so that the partition gets correctly created, if you want to do that, type:

 

echo 1 > /sys/block/nvme1n1/device/device/remove

 

This will offline that device, then wait a couple of seconds and refresh the GUI, start the array with the remaining device, if all looks good, disable array auto start if enabled, reboot to bring the other device back online, wipe it with:

 

blkdiscard -f /dev/nvme1n1

 

Then add it back to the pool and start the array to resilver.

 

 

 

  • Author
23 minutes ago, JorgeB said:

Since the pool is a mirror, the easiest way to resolve this, would be to import the pool with just the good device, then wipe the other one and re-add it to the pool so that the partition gets correctly created, if you want to do that, type:

 

echo 1 > /sys/block/nvme1n1/device/device/remove

 

This will offline that device, then wait a couple of seconds and refresh the GUI, start the array with the remaining device, if all looks good, disable array auto start if enabled, reboot to bring the other device back online, wipe it with:

 

blkdiscard -f /dev/nvme1n1

 

Then add it back to the pool and start the array to resilver.

Thanks everything is working again! Do you have any idea why or how that issue occurred?

  • Community Expert
10 minutes ago, nibu89 said:

Do you have any idea why or how that issue occurred?

Something happened when the partition was initially created, but unclear to me what, I've seen it a couple more times with other users, and it's always with NVMe devices, so possibly something in the kernel/Linux utils that sometimes doesn't create the partition 100% correct with NVMe devices.

  • Author

As long as it only affects one device it's not that bad, but it would be nice to know if there is a way to avoid this.
Thanks again!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.