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.

ZFS resilvering not touching new drive

Featured Replies

I have a ZFS array that was created manually before Unraid supported ZFS. 5 drives, RAIDZ1.

During a scrub errors were detected, which led to the defective drive to be deactivated.

I then tried to use my unraid parity drive (the data isn't as crucial and losing one of the drives isn't that big of a deal, bad, but not catastrophic) to replace the defective drive in the array while waiting for the new drive to arrive (I need to preclear it, check for errors, ... that's going to take quite a while). In the process of getting the drive ready to be used in the ZFS I had stopped and then started all arrays (is there no option of starting / stopping individual arrays? That would be useful...). As a result, Unraid started resilvering the defective drive.

According to the FAQ the order of the drives should match the result of zpool status... it didn't. But I couldn't find a proper guide, only the information that I should stop the array, remove the drives, export the array, start it, stop it and then reattach the drives in the right order. That did not work, because once the drives are removed, the array wouldn't start. Also, export doesn't find an array to export. Changing the order of drives doesn't work either, as it rightfully detects the order to be wrong. Is this even necessary?

Now to the actual problem: I stopped the array, selected the new drive (after removing the partition and quick formatting it) instead of the defective one and started the array again. Now it is saying resilvering, however the starting time seems to be the starting time from the first attempt (where ZFS wanted to resilver the defective drive).

It doesn't seem to be accessing the "new" drive at all. That drive has gone to sleep.

# zpool status
  pool: zfs
 state: DEGRADED
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
  scan: resilver in progress since Thu Sep  4 06:54:20 2025
        12.3T / 81.0T scanned at 1.50G/s, 245G / 69.2T issued at 29.9M/s
        0B resilvered, 0.35% done, no estimated completion time
config:

        NAME                      STATE     READ WRITE CKSUM
        zfs                       DEGRADED     0     0     0
          raidz1-0                DEGRADED     0     0     0
            sdn                   ONLINE       0     0     0
            sdt                   ONLINE       0     0     0
            sdp                   ONLINE       0     0     0
            11954385431251436667  UNAVAIL      0     0     0  was /dev/sdj1
            sdu                   ONLINE       0     0     0

errors: No known data errors

The remaining drives are moving at a leisurely pace, which has me worried. This doesn't seem right, and what use is resilvering if it doesn't write anything to the new drive?

Is this expected / wanted behavior, did something go wrong? If so, what can I do? At this pace, with this amount of data, I'm expecting more drives to die before everything is done. A lot can happen in several months.

Solved by JorgeB

  • Author

Thanks, here's the diagnostics.

I also received the following:

  pool: zfs
 state: DEGRADED
status: One or more devices could not be used because the label is missing or
	invalid.  Sufficient replicas exist for the pool to continue
	functioning in a degraded state.
action: Replace the device using 'zpool replace'.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-4J
  scan: resilvered 0B in 11:09:36 with 0 errors on Thu Sep  4 18:03:56 2025
config:

	NAME                      STATE     READ WRITE CKSUM
	zfs                       DEGRADED     0     0     0
	  raidz1-0                DEGRADED     0     0     0
	    /dev/sdn1             ONLINE       0     0     0
	    /dev/sdt1             ONLINE       0     0     0
	    /dev/sdp1             ONLINE       0     0     0
	    11954385431251436667  UNAVAIL      0     0     0  was /dev/sdj1
	    /dev/sdu1             ONLINE       0     0     0

errors: No known data errors

I wonder if I should just do the zpool replace, or if I should fix the order of the drives first, ...

kadanas-diagnostics-20250905-1119.zip

  • Community Expert
42 minutes ago, kadajawi said:

or if I should fix the order of the drives first, ...

You need to fix that first to use the GUI to do a replacement; current Unraid releases will auto-sort the devices. Do this:

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 4 slots (to import the pool degraded)

assign only the 4 current pool devices (sdn, sdt, sdp, sdu), any order, leave the filesystem set to auto

start the array to import the pool and post new diags

  • Community Expert
  • Solution

Order is now correct; so you should be able to now replace the missing device, just stop the array, assign the device, start the array.

  • Author

Thank you, that was it. It's resilvering now :)

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.