ZFS Label not being assigned to hard drive

Updating a mirrored zpool with larger disks, one at a time. Got about halfway through when the server unexpectedly rebooted (still unknown why, but that's beside the point). The device labels (/dev/daX) were reshuffled, but I'm manually assigning zfs labels so it shouldn't have been an issue...but it has been.

Long story short, I'm at the point where the server recognizes there's a disk in the slot but does not assign a device label, which is necessary for gpart to create and assign the zfs label before replacing the drive in the zpool.

I've tried 3 different drives and have ruled out hardware issues. I've restarted the server multiple times, swapping the drive while running, starting without the drive and installing after boot, etc.

Any suggestions?

Output from sesutil show command minus extraneous info (the "Swapped" status is only after trying a hail mary hot swap):
Code:
Slot04   da5     ATA HGST HUS726060AL      K8GGPDXD             6T
Slot05   da6     ATA HGST HUS726060AL      K8GKJRSD             6T
Slot06   da7     ATA HGST HUS726060AL      K8GKHHKD             6T
Slot07   da8     ATA HGST HUS726060AL      K8GKBBRD             6T
Slot08   -       -                         -                    OK,  Swapped
Slot09   da21    ATA ST16000NT001-3LV      ZR712BRJ             16T
Slot10   da19    ATA ST16000NT001-3LV      ZR7129C5             16T
Slot11   da17    ATA ST16000NT001-3LV      ZR71295A             16T
Slot12   da15    ATA ST16000NT001-3LV      ZR712940             16T
Slot13   da13    ATA ST16000NT001-3LV      ZR71298Y             16T
Slot14   da9     ATA HGST HUS726060AL      K8GKL80D             6T
Slot15   da10    ATA HGST HUS726060AL      K8GKL60D             6T
Slot16   da11    ATA HGST HUS726060AL      K8GK5SHD             6T
Slot17   da23    ATA ST16000NT001-3LV      ZR7128XZ             16T
Slot18   da22    ATA ST16000NT001-3LV      ZR7128R7             16T
Slot19   da20    ATA ST16000NT001-3LV      ZR61B0AP             16T
Slot20   da18    ATA ST16000NT001-3LV      ZR71290C             16T
Slot21   da16    ATA ST16000NT001-3LV      ZR61AYNL             16T
Slot22   da14    ATA ST16000NT001-3LV      ZR71226D             16T
Slot23   da12    ATA ST16000NT001-3LV      ZR7129CP             16T

Relevant information from sesutil map:
Code:
      Element 9, Type: Array Device Slot
       Status: OK (0x11 0x00 0x00 0x00)
       Description: Slot08
       Extra status:
       -  Swapped

zpool status, for what it's worth:
Code:
        raidz3-0                DEGRADED     0     0     0
          gpt/p04-backup        ONLINE       0     0     0
          gpt/p05-backup        ONLINE       0     0     0
          gpt/p06-backup        ONLINE       0     0     0
          gpt/p07-backup        ONLINE       0     0     0
          16115547704848463479  UNAVAIL      0     0     0  was /dev/gpt/p08-backup
          gpt/p09-backup        ONLINE       0     0     0
          gpt/p10-backup        ONLINE       0     0     0
          gpt/p11-backup        ONLINE       0     0     0
          gpt/p12-backup        ONLINE       0     0     0
          gpt/p13-backup        ONLINE       0     0     0
        raidz3-1                ONLINE       0     0     0
          gpt/p14-backup        ONLINE       0     0     0
          gpt/p15-backup        ONLINE       0     0     0
          gpt/p16-backup        ONLINE       0     0     0
          gpt/p17-backup        ONLINE       0     0     0
          gpt/p18-backup        ONLINE       0     0     0
          gpt/p19-backup        ONLINE       0     0     0
          gpt/p20-backup        ONLINE       0     0     0
          gpt/p21-backup        ONLINE       0     0     0
          gpt/p22-backup        ONLINE       0     0     0
          gpt/p23-backup        ONLINE       0     0     0

Thank you in advance!
 
Does the --label option of zdb(8) help you?
Unfortunately not. It gives me the GUID I get from the zpool status command, but the path it points to (/dev/gpt/p08-backup) is what I'm trying to create with gpart. I've attempted to use the GUID in my gpart command, but without success.

Relevant result from zdb label:
children[4]:
type: 'disk'
id: 4
guid: 16115547704848463479
path: '/dev/gpt/p08-backup'
phys_path: 'id1,enc@n500304801857727d/type@0/slot@9/elmdesc@Slot08/p1'
whole_disk: 1
not_present: 1
DTL: 2568
create_txg: 4
com.delphix:vdev_zap_leaf: 45834
resilver_txg: 40232766
 
gpart create -s gpt <drivename>
gpart add -t freebsd-zfs -l p08-backup <drivename>
 
gpart create -s gpt <drivename>
gpart add -t freebsd-zfs -l p08-backup <drivename>
That's exactly the command I use - the problem is I have no <drivename> to feed the command since it's not being assigned.

Per sesutil show (showing assigned drives in comparison):
Slot07 da8 ATA HGST HUS726060AL K8GKBBRD 6T
Slot08 - - - OK, Swapped
Slot09 da21 ATA ST16000NT001-3LV ZR712BRJ 16T
 
His HBA doesn't see the disk
Slot08 - - - OK, Swapped

Until you see the device as /dev/da* there's nothing to do with gpart ort zfs

Check the outpuf of dmesg or camcontrol devlist
Correct, and neither dmesg or camcontrol devlist reports the slot (dmesg) or device (camcontrol) information. The only way I've been able to see the drive is using sesutil.
 
tail -F /var/log/messages and reseat the drive (pull out, wait a couple of seconds, then put back in)?

What controller? I've had some controllers I needed to specifically configure the new drive before the OS would pick it up. Just had to tell the controller that new disk is supposed to be a JBOD, or else it was "unconfigured".
 
Back
Top