QLA2312 unter Etch zum rescan bringen

07/12/2007 - 14:49 von Herbert Pophal | Report spam
Hi all,

ich habe hier an einem QLA2312 ein raid hàngen, das einigermaßen
wackelig ist. Zwecks Datenübernahme ist an einen zweiten Anschluss ein
zweites solches raid gesteckt, das die Maschine allerdings noch nicht
kennt. Gibt es einen Weg, das Kernelmodul zum rescan zu veranlassen,
statt es zu entladen und neu zu laden? Gurgel hat mich hier nicht
weitergebracht, auch bei qlogic selbst findet sich nur der unbrauchbare
Hinweis:

| To force a rescan from the command line, type the following command:
| # echo "scsi-qlascan" > /proc/scsi/<driver-name>/<adapter-id>
|
| Where:
| - <driver-name> = qla2100, qla2200, qla2300 (2.4 kernel drivers) or
| qla2xxx (2.6 kernel drivers)
| - <adapter-id> = the instance number of the HBA
|
| After executing this command, force the SCSI mid layer to do its own
| scan and build the device table entry for the new device by typing the
| following command:
| # echo "scsi add-single-device 0 1 2 3" >/proc/scsi/scsi

Letzteres wird ja von solchen tools wie rescan-scsi-bus.sh oder scsiadd
durchgeführt; hilft hier aber nix. Ein Kollege behauptet zwar, es gebe
für Debian ein solches tool für diesen HBA, aber gefunden habe ich nix.

Nun finde ich zwar eine Datei /sys/class/scsi_host/host4/scan, die
lediglich von root beschrieben werden kann, und die evtl. das auslöst,
was dieses echo "scsi-qlascan" da oben tun soll. Aber was genau muss ich
da rein schreiben? Nicht dass mir deswegen die Kiste absemmelt. Dann
kann ich auch gleich die Entlade-Lade-Prozedur vornehmen, aber an den
FSen hàngen NFS clients.

Dell Power Edge 1855 mit Etch, Kernel 2.18.4

Herbert
 

Lesen sie die antworten

#1 Josef Moellers
07/12/2007 - 16:49 | Warnen spam
Herbert Pophal wrote:
Hi all,

ich habe hier an einem QLA2312 ein raid hàngen, das einigermaßen
wackelig ist. Zwecks Datenübernahme ist an einen zweiten Anschluss ein
zweites solches raid gesteckt, das die Maschine allerdings noch nicht
kennt. Gibt es einen Weg, das Kernelmodul zum rescan zu veranlassen,
statt es zu entladen und neu zu laden? Gurgel hat mich hier nicht
weitergebracht, auch bei qlogic selbst findet sich nur der unbrauchbare
Hinweis:

| To force a rescan from the command line, type the following command:
| # echo "scsi-qlascan" > /proc/scsi/<driver-name>/<adapter-id>
|
| Where:
| - <driver-name> = qla2100, qla2200, qla2300 (2.4 kernel drivers) or
| qla2xxx (2.6 kernel drivers)
| - <adapter-id> = the instance number of the HBA
|
| After executing this command, force the SCSI mid layer to do its own
| scan and build the device table entry for the new device by typing the
| following command:
| # echo "scsi add-single-device 0 1 2 3" >/proc/scsi/scsi

Letzteres wird ja von solchen tools wie rescan-scsi-bus.sh oder scsiadd
durchgeführt; hilft hier aber nix. Ein Kollege behauptet zwar, es gebe
für Debian ein solches tool für diesen HBA, aber gefunden habe ich nix.



Erst mal: das obige Beispiel ("scsi add-single-device") ist kein "scan",
sondern dem SCSI-Midlayer wird knallhart gesagt: Da ist ein neues Geràt
an demundem Hostadapter, demundem Channel mit derundder ID und derundder
LUN, dies ist also eher ein "probe", denn wenn das Geràt nicht
angeschlossen ist, passiert nix.

Ich benutze das z.B. jedemal, wenn ich meinen SCSI-Scanner einschalte.
Von dem weiß ich, daß er am Hostadapter 0, Channel 0 hàngt und die ID 4
hat und nur eine LUN:
echo "scsi add-single-device 0 0 4 0" > /proc/scsi/scsi
und ... schwuppdich ist das Teil da und kann benutzt werden.
Hinterher kann man ein "scsi remove-single-device 0 0 4 0" schicken um
es wieder zu entfernen, aber das ist nicht unbedingt notwendig, denn auf
dem Bus tut sich nix, wenn das Geràt nicht angesprochen wird.

Nun finde ich zwar eine Datei /sys/class/scsi_host/host4/scan, die
lediglich von root beschrieben werden kann, und die evtl. das auslöst,
was dieses echo "scsi-qlascan" da oben tun soll. Aber was genau muss ich
da rein schreiben? Nicht dass mir deswegen die Kiste absemmelt. Dann
kann ich auch gleich die Entlade-Lade-Prozedur vornehmen, aber an den
FSen hàngen NFS clients.



Das mit dem "/sys/class/scsi_host/host4/scan" ist schon besser und
erlaubt einen "richtigen" scan:

echo "c i l" > /sys/class/scsi_host/host4/scan
mit c = channel, i = ID und l = LUN, wobei, von hinten nach vorne, die
konkreten Zahlenwerte durch "-" ersetzt werden können, z.B.:
echo "0 - -" > /sys/class/scsi_host/host4/scan
sagt dem SCSI-Midlayer also, *alle* Devices und *alle* LUNs am Host 4
und Channel 0 zu scannen. Alles, was er dann findet, wird akzeptiert.

echo "0 4 0" > /sys/class/scsi_host/host0/scan
wàre übrigens auch wieder kein richtiger scan, sondern auch nur das
probe-n, wie oben.

HTH,

Josef

These are my personal views and not those of Fujitsu Siemens Computers!
Josef Möllers (Pinguinpfleger bei FSC)
If failure had no penalty success would not be a prize (T. Pratchett)
Company Details: http://www.fujitsu-siemens.com/imprint.html

Ähnliche fragen