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.

Can't add a second drive to a existing Internal boot + ZFS data pool: second SSD joined boot mirror, but data pool won't mirror and array won't start ("BUG: invalid target: sdh")

Featured Replies

Unraid version: 7.3.2. UEFI boot.

Hardware: two identical Samsung 860 EVO 1TB SSDs (sdf and sdh). Array of 5 data disks and one other pool (cache_hdd).

What I'm trying to do: mirrored internal boot pool, with the remaining capacity as a mirrored ZFS data pool (cache_ssd).

Current state:

  • Internal boot works on sdf. After assigning sdh, the boot pool flash shows as a healthy mirror (mirror-0 with sdf3 and sdh3, resilvered 2.46G with 0 errors).

  • The data pool cache_ssd (ZFS, about 154G used) is still a single device (sdf4). sdh4 exists at 915.5G but has no filesystem or label.

What I did: stopped the array, set cache_ssd slots from 1 to 2, assigned sdh to the second slot, and started the array.

What happens: the array never finishes starting and stays on "Starting". The pool is never imported, and zpool status cache_ssd says "no such pool". No zfs/zpool/sgdisk processes are running. The syslog stops at this line:

emhttpd: import 31 pool device: (sdf) Samsung_SSD_860_EVO_1TB_S3YBNB0K310707J
emhttpd: import 32 pool device: (sdh) Samsung_SSD_860_EVO_1TB_S4BDNS0N804536P
emhttpd: BUG: invalid target: sdh

With the pool set back to 1 slot, the array starts normally and cache_ssd imports as a single drive (confirmed in the log).

Disclosure: I used Claude for this, as I was just banging my head for a long time trying to figure this out because I thought I must have missed a step or something. Because, if I'm not incorrect, I can add a second drive to an existing ZFS Boot + data pool drive to mirror, correct? Also, I tried again by disconnecting and reconnecting the SATA SSD and formatting the drive to see if that changed things; nope, looked at the logs, same thing.

Thank you for the help in advance.

tower-diagnostics-20261007-0050.zip

Solved by JorgeB

  • Community Expert

Thanks for the diagnostics. They show the second SSD was already part of the boot pool before it was assigned to cache_ssd. With cache_ssd still at one slot, the boot pool already had both sdf3 and sdh3. So sdh was added to the boot mirror outside the normal pool assignment, most likely with a manual zpool attach while you were troubleshooting. Can you confirm which commands you ran?

Unraid expects to do the whole job itself when you add a device to a boot + data pool: partition the new device, add partition 3 to the boot pool and partition 4 to the data pool. Because sdh was already a boot pool member, it can't be used as a new device. That is the BUG: invalid target: sdh you see, and why the array stays on "Starting".

To fix it, start with the array stopped and cache_ssd at 1 slot:

1. Remove sdh from the boot mirror: zpool detach flash sdh3

2. Check that zpool status flash now shows only sdf3.

3. Wipe sdh. First check the serial so you are sure it is the second SSD and not sdf: wipefs -a /dev/sdh (or blkdiscard -f /dev/sdh).

4. Reboot

5. Set cache_ssd to 2 slots, assign the second SSD and start the array. Unraid should then partition it and add it to both the boot pool and the data pool.

If the start still hangs, reboot, set the pool back to 1 slot, and post new diagnostics.

  • Author

Yeah, I'm not sure what command I ran when I was troubleshooting, sorry. I don't think I did a manual zpool attach, but I'm not sure.

I followed your steps, but it still hangs, I believe. I rebooted to set the pool back to 1, but when I rebooted again, it was already on one slot, and now the other drive (Samsung_SSD_860_EVO_1TB_S4BDNS0N804536P) is not showing under Unassigned Devices. I've also included screenshots from after the reboot if that helps.

Cache_ssd - Pool Status & Pool Information after Reboot.png

What the Devices look like after Reboot.png

tower-diagnostics-20261007-2107.zip

  • Community Expert

I'm still investigating; emhttp is crashing, but I don't see why so far, in the meantime, please try again, but this time in safe mode, I see you have the U-Manager plugin installed, and that interfered before with boot pool creation, though it was when creating a new pool, not adding a device.

  • Author

Sorry for the late reply. Thank you for looking into this. I tried again this time in safe mode as you suggested. I'm not sure what I should have been looking for, but I took some screenshots of the drives after doing it again in safe mode, in case they are of any use. I probably should have taken the diagnostic, but I wasn't sure if you needed it. For the U-Manager plugin, I did uninstall the U-Manager Companion plugin prior to doing the instructions because I thought that might have something to do with it, as I had a problem with it before.

Screenshot 2026-10-08 063632.png

Screenshot 2026-10-08 063648.png

Edited by Glada

  • Community Expert

Those screenshots look good, but they are for the flash fool, not the data pool, which is the one being the problem. Please post new diags.

  • Author

Here's the most recent diagnostic.


Regarding the flash pool, yeah, I should have also said that even though it does create the mirror for the other drive in the flash pool, it doesn't mount or show the data pool when I put the second drive into slot 2.


Also, when I put the second drive into slot 2, is there supposed to be a GUI indicator to show if it is creating the mirror for the data pool?

tower-diagnostics-20261008-1930.zip

Edited by Glada

  • Community Expert
  • Solution

Since it still happens in safe mode, it suggests some corner case/racing condition Unraid bug, problem is that this is not replicable, at least not by me, so my suggestion for now would be to resolve the problem manually.

Your second SSD is currently blank, so first repeat the add once more: set cache_ssd to 2 slots, assign the second SSD and start the array. It will most likely fail like before. Reboot, and the pool should go back to 1 slot. Check that zpool status flash shows both sdf3 and the second SSD's partition 3, if that is correct you can then proceed:

1. With the array started and cache_ssd mounted, add partition 4 of the second SSD to the pool. Check the device names first; they can change between boots:

zpool attach -f cache_ssd /dev/sdf4 /dev/sdg4

Wait until zpool status cache_ssd shows the resilver is complete.

2. Rename the pool config and reboot. The server will still boot from the internal boot pool:

mv /boot/config/pools/cache_ssd.cfg /boot/config/pools/cache_ssd.cfg.bak

3. After the reboot, the GUI will show no internal boot pool. Stop the array if it started. Add a pool named cache_ssd with 2 slots, assign both SSDs and start the array. Leave the filesystem set to auto. Unraid will import the existing 2-device pool.

4. If cache_ssd shows as a normal pool instead of the internal boot pool, reboot once more. It should then show as the boot pool with both devices.

You can post new diags in the end to confirm all looks good.

  • Author

The data pool mirrored is for the other drive (sdg) and the flash pool did the same. So it seems like everything is good now, Thank you so much for everything I really appreciate your help.


Here is the diagnostic just to confirm.

tower-diagnostics-20261009-0222.zip

  • Community Expert

Thanks for the update and the diagnostics. Everything looks good: both the boot pool and cache_ssd are now 2-device mirrors, the resilvers completed with no errors, and cache_ssd is correctly detected as the internal boot pool. You can now use the server normally.

I will keep investigating why the add was failing on your server, but you shouldn't need to do anything else.

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.