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.

Cache Pool error causing webgui access issue

Featured Replies

I am a relative newbie to Unraid - ~one month of use - so please bear with me. I've luckily not lost any data - yet.

My issues started a few days ago when I updated from 7.1.4 to 7.2.3. I had three devices in my cache pool for a total of 1.3 TB usable space - however, one was an NVMe in an external enclosure. Updating to 7.2.3 broke this. Since then, my pool has shown three devices despite only two being active. It's also still mis-calculating the total size available in the pool.

I've attempted to remove the missing drive to no avail. When I stop the pool, drive three shows as unassigned. However there is no way to remove this from the gui. When I try to drop the pool slots from 3 to 2, it corrupts my /boot/config/pools folder to the point where the system is inaccessible through the webgui. When it's in this state the device does boot fine and I am able to load into safe mode with gui (no plugins), but the webgui still won't work. After spending most of the day troubleshooting what exactly is wrong, I've narrowed it down to an issue with php-fpm.sock which is causing the webgui to not load, and it's resolved anytime i clear my /boot/config/pools folder. All because of the missing pool drive that I'm no longer able to use because it was technically seen as a USB drive.

I'm wondering if this is a bug with 7.2.3 for pool devices that are no longer valid if the system has been upgraded from 7.1.4 or lower. I'm also looking for some assistance with cleanly removing this missing drive so as to not cause any future issues. As I mentioned, I have not lost any data yet, but until all references to this unassigned drive are removed I'm afraid the pools folder can be corrupted at any point. Thank you for your time and any assistance you may be able to provide.

cache2.png

cache1.png

Edited by brownbe

Solved by JorgeB

  • Community Expert
  • Solution

First, note that the pool will only have 500G usable with those two devices in raid1.

You should be able to remove the missing device using the CLI, with the array running type

btrfs dev remove missing /mnt/supercache

Once that finishes and you get the cursor back, you need to reimport the pool with the two remaining devices:

on main click on the first device for that pool and then "remove pool"

back on main, create a new pool with the same name and 2 slots

assign the two pool devices, leave the filesystem set to auto

start the array to import the pool

  • Author
5 hours ago, JorgeB said:

First, note that the pool will only have 500G usable with those two devices in raid1.

You should be able to remove the missing device using the CLI, with the array running type

btrfs dev remove missing /mnt/supercache

Once that finishes and you get the cursor back, you need to reimport the pool with the two remaining devices:

on main click on the first device for that pool and then "remove pool"

back on main, create a new pool with the same name and 2 slots

assign the two pool devices, leave the filesystem set to auto

start the array to import the pool

Excellent, that appears to have worked. Thank you! One quick follow up - if I wanted to replace the 500 GB drive with a 1 TB drive, would I just follow the same steps to "remove pool", swap the drive, then let the replacement rebuild off the remaining drive?

Edit:

Since I've performed a number of unclean shutdowns, I went ahead with a balance and a scrub of the pool. I checked the filesystem health and have some errors. Should I repair it? (UUID sanitized)



    [1/8] checking log skipped (none written)
    [2/8] checking root items
    [3/8] checking extents
    [4/8] checking free space tree
    We have a space info key for a block group that doesn't exist
    [5/8] checking fs roots
    [6/8] checking only csums items (without verifying data)
    [7/8] checking root refs
    [8/8] checking quota groups skipped (not enabled on this FS)
    Opening filesystem to check...
    Checking filesystem on /dev/nvme0n1p1
    UUID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
    found 38649397251 bytes used, error(s) found
    total csum bytes: 36361904
    total tree bytes: 999817216
    total fs tree bytes: 904364032
    total extent tree bytes: 56295424
    btree space waste bytes: 173121053
    file data blocks allocated: 61859446784
     referenced 47771791360

Edited by brownbe

  • Community Expert
1 hour ago, brownbe said:

One quick follow up - if I wanted to replace the 500 GB drive with a 1 TB drive, would I just follow the same steps to "remove pool", swap the drive, then let the replacement rebuild off the remaining drive?

Yes, that should work.

1 hour ago, brownbe said:

Since I've performed a number of unclean shutdowns,

btrsf should not suffer filesystem corruption with unclean shutdowns, but you can run a scrub to confirm the data is all good.

  • Author
2 hours ago, JorgeB said:

Yes, that should work.

btrsf should not suffer filesystem corruption with unclean shutdowns, but you can run a scrub to confirm the data is all good.

I did the repair and it fixed the errors. However, I am still having one more issue - some of my docker containers will not run. I'm getting the following error:

exec /init: no such file or directory

It appears the data is still present in my appdata folder. I've tried removing a couple containers and reinstalling them to no avail - same error. I've also run the New Permissions tool on the appdata share hoping that would fix it, however it did not. Lastly, I've tried changing the location of the /config host path and then changing it back but that also did not clear up the issue. Is there a way to check if my Docker.cfg is corrupt?

EDIT: I should note that I have not run the Docker Safe New Perms tool.

Edited by brownbe

  • Author
7 minutes ago, JorgeB said:

This worked. I had been using Docker in directory mode but it sounds like a btrfs vdisk is the preferred way anyway, so thank you. I did lose data for my Radarr container but I can manage that. Thank you for your help, I very much appreciate it.

  • Community Expert
2 hours ago, brownbe said:

I did lose data for my Radarr container

Did you not have its appdata? Previous Apps should have mapped its appdata just as before

  • Author
25 minutes ago, trurl said:

Did you not have its appdata? Previous Apps should have mapped its appdata just as before

I backed it up with the Appdata Backup plugin but I've tried restoring and it doesn't seem to take. Not sure what I'm doing wrong.

Edit: Nvm, found that the appdata directory was pointing to the wrong folder. All is good now.

Edited by brownbe

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.