Disk detected by sas2ircu display, but not in /dev/

Hi all,

I have a SMC X9DRD-7LN4F (255G RAM, 2x Intel(R) Xeon(R) CPU E5-2658 0 @ 2.10GHz) running TrueNAS-12.0-U8.1

All 3 LSI controllers :

LSI Controller SAS2308_1(D1) 
NVDATA Version 0e.03.00.04
Firmware Product ID            : 0x2214 (IT)
Firmware Version               :
NVDATA Vendor                  : LSI
NVDATA Product ID              : SMC2308-IT

I removed 2 disks (da55 and 56) that seemed to have failed. They were not in use and i could not run any manual test (“Short offline self test failed [device not ready]”) , so i decided to replace them with identical disks (SEAGATE ST4000NM0023)

After pulling out the ‘bad’ disks and replacing them they did not show up in the webUI.
After a couple of hours of googling (now i know that there are a lot of posts about ‘disk not detected in UI’) and testing with no result i am out of ideas and could really use some help :frowning:

What i know :
using ‘sas2ircu 2 display’ i can see the disks (serial numbers match) :

Device is a Hard disk
  Enclosure #                             : 2
  Slot #                                  : 8
  SAS Address                             : 5000c50-0-55fb-2fe9
  State                                   : Ready (RDY)
  Size (in MB)/(in sectors)               : 3815447/7814037167
  Manufacturer                            : SEAGATE 
  Model Number                            : ST4000NM0023    
  Firmware Revision                       : A001
  Serial No                               : Z1Z0AE36
  GUID                                    : N/A
  Protocol                                : SAS
  Drive Type                              : SAS_HDD

The above output seems to suggest that the disk is ready “RDY”, but …

camcontrol devlist -v => no mention of the disk
geom -t => no mention
ls /dev/ => no mention of da55 or 56 (i do see pass55 ad 56 …)

dmesg only shows this, but i’ not sure if this was when i removed the original disks or … (looking at the serial nrs these are not the new disks) :

da55 at mps2 bus 0 scbus10 target 16 lun 0
da55: <SEAGATE ST4000NM0023 A001>  s/n Z1Z0AEYF00009317J8R3 detached
da56 at mps2 bus 0 scbus10 target 17 lun 0
da56: <SEAGATE ST4000NM0023 A001>  s/n Z1Z0AFWT00009317J4KP detached
(da55:mps2:0:16:0): Periph destroyed
(da56:mps2:0:17:0): Periph destroyed

So it looks like the LSI controller does detect the disks but they are not picked up by the OS

I have read a few reports that state that a reboot fixes this, but a reboot is not an option since the server is in production and there must be a better way … right ? … i hope ?

Is there a way to force detection, or could i use the SETOFFLINE option of the sas2ircu utility followed by a SETONLINE to force detection ?

Any ideas ?

Forgot to mention that the 2 ‘new’ disks were pulled from an other (same type) server, so there is probably data on these disks and who knows what type of partitioning …
Should i clean the disks (on an other server) and try again ?
It feels like a more low level issue so I dont think this would make a difference …

thanks !

wait, what ??
just did a search on serial in the Disks page of the web UI and i found my 2 new disks …
but they have different names !?!

orig name → new name
da55 → da42
da56 → da31

is this expected ? it could be that these disk names were not in use (da31 and 42), but i’m surprised that the relation between physical disk location and logical disk name is not fixed ??

Can someone confirm that this is expected ?

Yes. It’s expected, which is why partition id and gpt id are used to definitively identify disks/partitions, and serials should be used to physically identify disks.

I label my removable bays with the last 4 letters of the actual disk’s serial installed in that bay.

Disk device identifiers are not fixed and can change as the drives come and go.

1 Like

That seriously needs an update to P20.00.07.00