Pesquisa de LUN Fibre Channel e QLogic


8

Eu tenho um problema sério com uma matriz de armazenamento SAN conectada a uma caixa Linux através do Fibre Channel. Aqui está a configuração:

  • Debian com vanilla linux simples 2.6.27.25
  • Porta dupla QLogic 4Gb do controlador de fibra (baseada em ISP2432)

Basicamente, o problema é: como obter esse #? @ !! Controlador / driver FC para reconhecer corretamente as alterações na configuração (LUNs novas ou removidas) da matriz de armazenamento?

  1. quando crio um novo LUN no meu array (normalmente um instantâneo de algum LUN existente) e mapeio-o para o meu HBA, não consigo reconhecê-lo corretamente: rescan-scsi-bus -l -w -rna verdade, detecta algo (um dispositivo / dev / sgXX genérico), mas nenhum dispositivo de bloco é criado (/ dev / sdXX).
  2. mesma coisa ao emitir um LIP e verificar novamente manualmente:

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

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

  3. se eu remover um LUN existente, nem emitir LIPs e redigitalizar ou rescan-scsi-bus terá qualquer efeito. Os dispositivos anteriores permanecem lá e, é claro, não funcionam ("arquivo -s / dev / sdXX -> erro de E / S").

  4. recarregar o driver qla2xxx funciona. No entanto, é completamente impraticável em um ambiente de produção.

Aparentemente, este é um problema muito comum com o QLogic . Existe algum tipo de solução que funciona apenas ao usar o driver emitido pela QLogic, disponível apenas para as distribuições corporativas RedHat e Suse: consulte esta explicação .

Informação adicional :

Aqui estão os dispositivos scsi antes do LIP e digitalizar novamente:

# 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

Após um LIP e uma nova varredura, tenho um novo dispositivo sg, mas nenhuma unidade correspondente. Se eu recarregar o driver, uma unidade aparecerá:

# 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

Edit: OK, obviamente, este é um osso duro de roer. Vou pedir ao LKML e reportar aqui.


O driver emitido pela QLogic de que você está falando também pode ser compilado para outras distribuições - não é um blob binário.
Captain Segfault

Tudo bem, onde posso encontrá-lo então? Compilei o kernel inteiro, mais um driver não é um problema.
wazoox

Estou tendo esse problema, você conseguiu descobrir alguma coisa?
ThatGraemeGuy

Desculpe, ainda não há informações.
Wazoox 15/06/12

Respostas:


2

Com a chance de que o dispositivo de bloco esteja sendo detectado, mas nenhum / dev / device esteja sendo criado, você pode criar o dispositivo manualmente. Isso não é o ideal, mas pode mancar você. Os números maiores e menores são apresentados em / proc / partitions, e você pode criar seus próprios dispositivos de bloco através do comando mknod.

 # mknod /dev/sdg4 104 17

No entanto, sinto sua dor. O QLogic oferece download de driver para RHEL e SUSE, mas parece não haver outras distros. O OpenSUSE pode ter apenas os drivers da marca QLogic, mas não posso ter certeza disso. Vou verificar mais de perto quando chegar ao trabalho.

Edit : Estou no trabalho e parece que os drivers QLogic nas minhas caixas SLES são todos os que o QLogic forneceu. Sua grade de suporte ao SO:

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

No entanto, quando faço o download do kernel do padrão bog 2.6.27.25 e procuro no arquivo ./drivers/scsi/qla2xxx/qla_version.h, são quase os mesmos números de versão que tenho nas minhas distribuições da Novell (SLES e openSUSE grátis). O que sugere que a solução encontrada para o SLES / RHEL pode realmente funcionar com um kernel 2.6.27.25 padrão.


Infelizmente, ele não funciona, porque menciona o uso de um arquivo inexistente (/ proc / scsi / qla2xxx / ...) e um comando (scsi-qlascan) que não aparece no código-fonte do driver.
wazoox

1

Ei, Wazoox, eu estava enfrentando o mesmo profissional com minha caixa SAN, tenho o google e algumas dicas que se seguem, se puder tentar, acho que começará a funcionar 1 existe uma ferramenta chamada emcgrab tools u pode executar esta ferramenta para descobrir o driver do seu driver qlogic está funcionando ou não.

qual san box ru usando?

existem algumas dicas a seguir. 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


Sim, muitas dicas no Google, mas a maioria se não todos eles são sobre RedHat / SuSe e o driver proprietário Qlogic ... No entanto um de seus links me deu uma idéia, eu vou estar de volta :)
wazoox

Bem, uh, eu tentei com o firmware mais recente, mas sem sorte ...
wazoox
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.