If I set my hardware raid controller in JBOD mode, this is the only time rockstor is able to see the disks, then again it’s not able to understand the serial #'s from each individual disk. If I leave it alone out of any RAID or JBOD configuration the system does not see disks at all that are coming through the raid controller.
@drancourt Welcome to Rockstor community and thanks for posting your findings.
As far as your no serial number found issue this has been seen and fixed with some devices but still exists with some others, ie certain sdcard readers. If you could post the output of the following commands run via ssh / console on your Rockstor install while in JBOD mode as you pictured we might be able to see what’s wrong and how it might be fixed.
/usr/bin/lsblk -P -o NAME,MODEL,SERIAL,UUID,SIZE
and the follow 3 commands:-
udevadm info --name=sdb | grep 'MODEL=\|DEVNAME\|SERIAL'
udevadm info --name=sdc | grep 'MODEL=\|DEVNAME\|SERIAL'
udevadm info --name=sdd | grep 'MODEL=\|DEVNAME\|SERIAL'
Note the single quotes are the upright type not the lean back type.
This will hopefully tell us if your controller is one that can respond to a workaround already found for certain other devices that lsblk fails to find the serial number for.
@drancourt That’s great thanks.
So it looks like the current method to acquire device serial numbers with your hardware is not producing unique serial numbers. This is not what I expected as in other cases we have had empty serial numbers via lsblk produce this error but the code also checks for repeats and this is what has triggered the error in your case.
However the proposed udevadm command does seem to be able to distinguish the devices via their SCSI_SERIAL parameter.
The workaround I am in the process of modifying that I though may help here doesn’t apply immediately as lsblk is reporting serial numbers, just not unique ones.
Can you confirm that you have 16 real independent ST3750640NS drives in your system? Also could you post your raid controllers model number. Thanks for helping out with this.
@suman This is a little perplexing as it seems this raid controller is presenting the drive serials (via lsblk at least) as all the same. At least there are unique ones available via the udevadm SCSI_SERIAL. This looks like it may require a reworking of device serial acquisition, or maybe another fail over that re-populates all serials from SCSI_SERIAL if available when repeats are found. This SCSI_SERIAL is definitely not always present though. I am working on a patch re issue#757 I could expand it to do something like SCSI_SERIAL if present, then SERIAL if no SERIAL_SHORT (like virtio and some sdcard drivers), then SERIAL_SHORT if present. else empty and we bottom out. as before. This way it could server this scenario as well. Will need to check for duplicates in the re-scan also though.
@phillxnet forgive me for asking an easy question without doing any research. Does udevadm give us everything we get from lsblk? If so, should we just use udevadm exclusively instead of a complex failover mechanism?
@suman I don’t know but it does seem to be better at serial numbers. I had considered this but what of existing systems that use the serial from lsblk. I think that with the above cascade for serial from udevadm we end up with the same one anyway which would be good but only just considered using it as the primary serial acquisition method really.
Example output from a usb drive so we have the transport, note the SERIAL_SHORT. Only just come across the SCSI_SERIAL in this thread.
Note we always seem to have an ID_SERIAL= but it is not the same as lsblk has been handing out, that’s more like ID_SERIAL_SHORT which isn’t always there, hence the suggested cascade in acquiring the serial via udevadm.
@phillxnet@suman@drancourt Sorry just to dive into this thread, but to collect SMART data [for nearly any] drive behind a raid controller is very difficult without any specific driver. JBOD of drives is also the only recommended option to use with Rockstor. Perhaps we need to make an special page for this in the manual?
What does the command > blkid give?
UUID should be used as the preferred way to work with disks.
Seagate ST3750640NS Barracuda ES 750GB 7200 RPM 3Gbps SATA Disk Drive. Drive includes latest Firmware Update that addresses performance issues and SMART monitoring. Can be used to replace ST3750640AS (consumer grade), but an AS should not replace ST3750640NS units in servers or SANs!
@drancourt Are you able to upgrade your 16 disk Areca raid controller install (JOBD mode) that you had before to the recently released Rockstor 3.8-6 version. The reason is that there is an experimental enhancement to disk serial retrieval that you have already played a part in (in this thread) and I would like to see if it works for you. It will involve some minor editing and a restart but I would be really interested to see if this new method allows for your most hansom 16 disk arrays to spring into Rockstor accessibility. As I understand it your existing data disks have no data on so this makes you / your hw a perfect candidate, especially since you provided info that helped this method come into being in the first place. Are you game, I can talk you through the edit which should be pretty simple?