Rescan LUN Fibre Channel e QLogic


8

Ho un grave problema con un array di archiviazione SAN collegato a un box Linux tramite Fibre Channel. Ecco la configurazione:

  • Debian con plain vanilla linux 2.6.27.25
  • Controller fibra QLogic 4Gb doppia porta (basato su ISP2432)

Fondamentalmente il problema è: come ottenere questo #? @ !! Controller / driver FC per riconoscere correttamente le modifiche alla configurazione (LUN nuove o rimosse) dell'array di archiviazione?

  1. quando creo un nuovo LUN sul mio array (in genere un'istantanea di un LUN esistente) e lo associo al mio HBA, non riesco a farlo riconoscere correttamente: rescan-scsi-bus -l -w -rrileva effettivamente qualcosa (un dispositivo generico / dev / sgXX) ma nessun dispositivo a blocchi viene creato (/ dev / sdXX).
  2. stessa cosa quando si emette un LIP e si esegue nuovamente la scansione manualmente:

    echo 1> / sys / class / fc_host / host6 / issue_lip

    echo "- - -"> / sys / class / scsi_host / host6 / scan

  3. se rimuovo un LUN esistente, né l'emissione di LIP né i riscans o il rescan-scsi-bus hanno alcun effetto. I dispositivi precedenti rimangono lì e ovviamente non funzionano ("file -s / dev / sdXX -> errore I / O").

  4. ricaricare il driver qla2xxx funziona. Tuttavia è completamente impraticabile in un ambiente di produzione.

Apparentemente questo è un problema molto comune con QLogic . Esiste una sorta di soluzione che funziona solo quando si utilizza il driver emesso QLogic disponibile solo per le distribuzioni aziendali di RedHat e Suse: vedere questa spiegazione .

Informazioni addizionali :

Ecco i dispositivi scsi prima del LIP e della nuova scansione:

# sg_map -x
/dev/sg0  0 0 0 0  0  /dev/sda
/dev/sg1  0 0 1 0  5  /dev/scd0
/dev/sg2  1 0 0 0  0  /dev/sdb
/dev/sg3  6 0 0 0  0  /dev/sdc
/dev/sg4  6 0 0 1  0  /dev/sdd
/dev/sg5  6 0 0 2  3

Dopo un LIP e una nuova scansione, ho un nuovo dispositivo sg, ma nessuna unità corrispondente. Se ricarico il driver, viene visualizzata un'unità:

# sg_map -x
/dev/sg0  0 0 0 0  0  /dev/sda
/dev/sg1  0 0 1 0  5  /dev/scd0
/dev/sg2  1 0 0 0  0  /dev/sdb
/dev/sg3  6 0 0 0  0  /dev/sdc
/dev/sg4  6 0 0 1  0  /dev/sdd
/dev/sg5  6 0 0 2  3
/dev/sg6  6 0 0 3  3

~# sg_map -x
/dev/sg0  0 0 0 0  0  /dev/sda
/dev/sg1  0 0 1 0  5  /dev/scd0
/dev/sg2  1 0 0 0  0  /dev/sdb
/dev/sg3  8 0 0 0  0  /dev/sdc
/dev/sg4  8 0 0 1  0  /dev/sdd
/dev/sg5  8 0 0 2  0  /dev/sde
/dev/sg6  8 0 0 3  3

Modifica: OK, ovviamente questo è un dado difficile da decifrare. Chiederò a LKML e riferirò qui.


Quel driver emesso da QLogic di cui stai parlando può essere compilato anche per altre distro - non è un BLOB binario.
Capitano Segfault,

Bene, dove posso trovarlo allora? Ho compilato l'intero kernel, un altro driver non è affatto un problema.
Wazoox,

Sto avendo questo problema, sei riuscito a scoprire qualcosa?
ThatGraemeGuy

Siamo spiacenti, non ci sono ancora informazioni.
Wazoox,

Risposte:


2

Nel caso in cui venga rilevato il dispositivo a blocchi, ma non viene creato nessun / dev / dispositivo, è possibile creare manualmente il dispositivo. Questo non è ottimale, ma potrebbe zoppicarti. I numeri maggiori e minori sono presentati in / proc / partitions e puoi creare i tuoi dispositivi a blocchi tramite il comando mknod.

 # mknod /dev/sdg4 104 17

Tuttavia, sento il tuo dolore. QLogic offre il download di driver per RHEL e SUSE ma non sembra avere altre distro. OpenSUSE potrebbe avere solo i driver con marchio QLogic ma non posso esserne certo. Controllerò più da vicino quando arrivo al lavoro.

Modifica : sono al lavoro e sembra che i driver QLogic sulle mie scatole SLES siano tutti quelli forniti da QLogic. La loro griglia di supporto del sistema operativo:

http://filedownloads.qlogic.com/files/Driver/71098/readme_driver_80223.html#os_support

Eppure, quando scarico il kernel 2.6.27.25 standard e guardo nel file ./drivers/scsi/qla2xxx/qla_version.h, sono quasi gli stessi numeri di versione che ho sulle mie distribuzioni Novell (sia SLES, sia il openSUSE gratuito). Il che suggerisce che la soluzione che hai trovato per SLES / RHEL potrebbe effettivamente funzionare con un kernel 2.6.27.25 standard.


Sfortunatamente non può funzionare, perché menziona l'uso di un file inesistente (/ proc / scsi / qla2xxx / ...) e un comando (scsi-qlascan) che non appare nel codice sorgente del driver.
Wazoox,

1

Ehi, Wazoox, stavo affrontando lo stesso pro con la mia scatola SAN, ho Google e alcuni suggerimenti che seguono se posso provare, penso che inizierà a funzionare 1 c'è uno strumento che chiama strumenti emcgrab puoi eseguire questo strumento per scoprire il driver del tuo driver qlogic funziona o no.

quale san box ru sta usando?

ci sono alcuni suggerimenti come segue: http://forums.novell.com/novell-product-support-forums/suse-linux-enterprise-server-sles/sles-configure-administer/362473-lun-not-visible. html

http://forums13.itrc.hp.com/service/forums/bizsupport/questionanswer.do?admit=109447627+1250262043169+28353475&threadId=1154098

http://www.linuxquestions.org/questions/linux-enterprise-47/connect-debian-etch-to-ibm-san-meaning-of-sns-scan-failed-570598/

http://solutions.qlogic.com/KanisaSupportSite/search.do?cmd=displayKC&docType=kc&externalId=9223615&sliceId=SAL_Public&dialogID=4725381&stateId=0%200%204711370


Sì, molti consigli su Google, ma la maggior parte se non tutti riguardano RedHat / SuSe e il driver proprietario Qlogic ... Comunque uno dei tuoi link mi ha dato un'idea, tornerò :)
wazoox

Beh, ho provato con l'ultimo firmware, ma senza fortuna ...
Wazoox,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.