Other Hotplug drive into HP Smart Array P420i SAS controller in JBOD/IT mode

I have an HP P420i SAS controller configured in JBOD mode (I booted linux and used the official ciss utilities to configure it that way) so each drive is passed as a plain device, no RAID. I have 4 drives used, 2 of them in a mirror, the other 2 just added singly in a zfs pool each. I want to add a 5th drive but it is not recognized (well partially, but no device appears)
running

Code:
sudo cciss_vol_status -V /dev/ciss0
Controller: Smart Array P420i
  Board ID: 0x3354103c
  Logical drives: 0
  Running firmware: 8.00
  ROM firmware: 8.00
  Physical drives: 5
         connector 1I box 2 bay 1                  HP      EH0146FCBVB                              84O0A05RFRP91434     HPD8 OK
         connector 1I box 2 bay 2                  HP      EH0146FCBVB                              9440A0F4FRP91436     HPD8 OK
         connector 1I box 2 bay 4                  ATA     WDC WD60EFRX-68M                          WD-WX31D743YXZV 82.00A82 OK
         connector 2I box 0 bay 7                  ATA     WDC WD10EALX-009                          WD-WCATR7475597 15.01H15 OK
         connector 2I box 0 bay 8                  ATA     WDC WD100EFAX-68                     JEJU78UX             83.H0A83 OK
/dev/ciss0(Smart Array P420i:0): Non-Volatile Cache status:
                   Cache configured: No

that shows the new drive is online and recognized by the HP controller at least (it's the one on bay7)

after that I expected that
sudo camcontrol rescan

would make the new drive appear as da5 (or anything really but something in /dev/daXXX). Instead, nothing changes. No new drive, no new device.

What am I missing ?
 
if it isn't showing under camcontrol it is unlikely to show under geom. we'd check dmesg for clues, but we've never used a cciss array controller so we can't advise on the specifics of that. is there a cciss_* tool that you need to run to provoke it to pass the new drive through?
 
nothing special needed, at boot times drives appear and can be used. My point is that I am trying to get hotplugging working. I can't/don't want to reboot the machine everytime a drive is replaced or added.
 
right. well. when you hotplugged it, did the drive show up in dmesg? we have a SAS backplane with a plain IT-mode mpr controller, and hotplug works as expected, with plenty of messages logged onto the kernel log. this leads us to suspect that either the drive is unhappy and not attaching to the da driver even though it identifies to the array controller, or your array controller needs to be provoked into rescanning.
 
I don't see anything special in dmesg, but as i said it shows up with ciss_vol_status with correct ID, etc. so it means it is working.
And yes, I think it just needs to be triggered to scan somehow but I do not see how. I thought camcontrol rescan was it. Is there some lower-level device scan that can be triggered ?
 
what does show up in dmesg? when we unplug a device, we get
Code:
mpr1: mprsas_prepare_remove: Sending reset for target ID 7
da7 at mpr1 bus 0 scbus3 target 7 lun 0
da7: <SEAGATE ST33000650SS 0005>  s/n Z2955VZD00009315GW86 detached
mpr1: No pending commands: starting remove_device
(da7:mpr1:0:7:0): Periph destroyed
mpr1: clearing target 7 handle 0x0010
and when we plug one back in we get
Code:
mpr1: At enclosure level 0, slot 7, connector name (    )
mpr1: Found device <c01<SspTarg,Direct>,End Device> <12.0Gbps> handle<0x0010> enclosureHandle<0x0001> slot 7
mpr1: At enclosure level 0 and connector name (    )
da7 at mpr1 bus 0 scbus3 target 7 lun 0
da7: <HGST HUS726T4TAL4201 B984> Fixed Direct Access SPC-4 SCSI device
da7: Serial Number V1JU7P9G
da7: 1200.000MB/s transfers
da7: Command Queueing enabled
da7: 3815447MB (976754646 4096 byte sectors)
the linux driver manpage for cciss implies that a manual rescan is necessary, but that's on linux. a quick tour through the driver source on freebsd would indeed suggest to us that camcontrol rescan all should do ya. camcontrol rescan by itself just says you must specify "all", a bus, a bus:target:lun or periph to rescan
 
ok tried a few times and with a different drive, the SATA drive gives this in dmesg now

Code:
Mar  9 10:33:37 proliant6 kernel: ciss0: *** Hot-plug drive inserted, Port=2I Box=0 Bay=7 SN=     WD-WCC4MJUHX6FC
Mar  9 10:33:37 proliant6 kernel: ciss0: error detecting logical drive configuration (target status)
Mar  9 10:33:37 proliant6 kernel: ciss0: Warning, cannot get physical lun list
Mar  9 10:33:37 proliant6 kernel: ciss0: *** Drive could not be authenticated, Port=2I Box=0 Bay=7

and with an SAS drive

Code:
Mar  9 10:33:48 proliant6 kernel: ciss0: *** Hot-plug drive inserted, Port=2I Box=2 Bay=5 SN=            W460L36C
Mar  9 10:33:48 proliant6 kernel: ciss0: error detecting logical drive configuration (target status)
Mar  9 10:33:48 proliant6 kernel: ciss0: Warning, cannot get physical lun list
Mar  9 10:33:48 proliant6 kernel: ciss0: *** 00 00 00
Mar  9 10:33:48 proliant6 kernel: 1C: 00 00 00 00 00 00 00 22 17 00 00 00 00 00 00 00 00 00 00 00 00 00
Mar  9 10:36:03 proliant6 kernel: ciss0: ***  00 00 00 00 00 00
Mar  9 10:36:03 proliant6 kernel: Drive SN: 
Mar  9 10:36:03 proliant6 kernel: 
Mar  9 10:36:03 proliant6 kernel: ciss0: *** CDB=0x000000000000
Mar  9 10:36:03 proliant6 kernel: CC Sense Data--
I know the warning is because only HP drives are "authenticated" but they can still work if I insert before boot.

Those are all known good drives, I used them recently. and they still show up correctly in cciss_vol_status

Code:
sudo cciss_vol_status -V /dev/ciss0
Controller: Smart Array P420i
  Board ID: 0x3354103c
  Logical drives: 0
  Running firmware: 8.00
  ROM firmware: 8.00
  Physical drives: 6
         connector 1I box 2 bay 1                  HP      EH0146FCBVB                              84O0A05RFRP91434     HPD8 OK
         connector 1I box 2 bay 2                  HP      EH0146FCBVB                              9440A0F4FRP91436     HPD8 OK
         connector 1I box 2 bay 4                  ATA     WDC WD60EFRX-68M                          WD-WX31D743YXZV 82.00A82 OK
         connector 2I box 2 bay 5                  HP      MM2000JEFRC                                      W460L36C     HPD8 OK
         connector 2I box 2 bay 7                  ATA     WDC WD20EFRX-68E                          WD-WCC4MJUHX6FC 82.00A82 OK
         connector 2I box 2 bay 8                  ATA     WDC WD100EFAX-68                     JEJU78UX             83.H0A83 OK
 
The controller probably has it as "unconfigured", you probably need to configure it first in the controller's firmware.
 
I am not using hardware RAID, I configured the controller to be just a JBOD and present the drives straight through.
Since I configured it that way (which I detail here https://blog.tinkerbox.org/pc/hba_mode_DL380p_g8/ ) I have never messed in the controller firmware for anything, it recognizes new drives when they are added before boot. My problem is only with hotplugging. The thing is, I swear I did hotplug those drives before (on a different machine, same controller) and "camcontrol rescan all" was enough to make them appear. So I am wondering if I was lucky and some other step is required, or something else happened.
 
I am not using hardware RAID, I configured the controller to be just a JBOD and present the drives straight through.
Some controllers allow you to set the whole controller to treat each disk as a JBOD, some controllers need to configure the specific individual drive as a JBOD.

My problem is only with hotplugging.
Is hotplugging actually enabled? This can sometimes be turned on or off.
 
If the drive have meta data from an old RAID array it will be not visible under HBA mode until you clear the drive first.
 
Some controllers allow you to set the whole controller to treat each disk as a JBOD, some controllers need to configure the specific individual drive as a JBOD.


Is hotplugging actually enabled? This can sometimes be turned on or off.
I am definitely sure the whole controller is set as JBOD. It's set in so-called IT-mode or HBA mode. The drives appear at boot time.

I am not familiar if there is a hotplugging enable parameter on this controller, I'll search for that but everything I find so far is that there is no way to disable hotplugging and it is always enabled. Specifically when using it in HBA mode, it's the driver that manages wether hotplugging works or not. And that would be consistent with the cciss_vol_status finding the drive, but the ciss driver complaining about some stuff. I guess the question is what does this really mean
Mar 9 10:33:48 proliant6 kernel: ciss0: error detecting logical drive configuration (target status)
what configuration is the ciss driver trying to get ?
 
Back
Top