Por que há uma mudança entre o WWN relatado pelo controlador e o sistema Linux?

1

Estou no processo de configuração de um sistema de armazenamento ZFS com um grande número de discos. Eu quero usar números WWN para identificar dispositivos (aliased em vdev_id.conf), mas ao tentar obter os números WWN, notei um deslocamento entre o WWN relatado pelo controlador LSI (LSI MegaRAID SAS 9380-8e, todos os discos estão em JBOD mode) e o WWN mostrado em / dev / disk / by-id:

$ storcli64 /c0/e72/s0 show all | grep 5008472696
WWN = 5000C5008472696C
0 Active 6.0Gb/s   0x5000c5008472696d 
1 Active 6.0Gb/s   0x5000c5008472696e 

$ ll /dev/disk/by-id/wwn-0x* | grep 5008472696
/dev/disk/by-id/wwn-0x5000c5008472696f -> ../../sdn

Neste conjunto de hardware (Discos, JBOD, controlador), o padrão parece ser consistente (alterado por 3).

Eu tenho um 'sentimento' de que isso é causado pelo link duplo, mas não consegui encontrar uma explicação adequada para esse comportamento. Qualquer sugestão será muito apreciada.

EDITAR:

Outra amostra seria

WWN = 5000C50084726B78
0 Active 6.0Gb/s   0x5000c50084726b79 
1 Active 6.0Gb/s   0x5000c50084726b7a 

O controlador reporta 0x5000c50084726b7b , o que é consistente com a explicação sugerida por Mateus.

    
por Michael 16.06.2017 / 15:55

3 respostas

0

Você tem um endereço de transporte e identificadores de porta individuais para as unidades SAS de porta dupla que você está usando (multipath). Um WWN, vários identificadores de porta.

Uma melhor ilustração seria examinar a saída de:

multipath -l , lsscsi --wwn e lsscsi --transport

Como:

# lsscsi --transport
[0:0:0:0]    disk    sas:0x5000c50023601236          /dev/sdb
[0:0:1:0]    disk    sas:0x5000c50023614aee          /dev/sdc
[0:0:2:0]    disk    sas:0x5000c5007772e5fe          /dev/sdd
[0:0:4:0]    disk    sas:0x5000c5002362f346          /dev/sdf

# lsscsi --wwn
[0:0:0:0]    disk                                    /dev/sdb
[0:0:1:0]    disk    0x5000c50023614aef              /dev/sdc
[0:0:2:0]    disk                                    /dev/sdd
[0:0:4:0]    disk    0x5000c5002362f347              /dev/sdf

# multipath -ll | grep 3500
35000c50023614aef dm-6 HP      ,EF0450FARMV
35000c5002362f347 dm-3 HP      ,EF0450FARMV

Para seus propósitos, vá com o WWN. Se este for o ZFS, elabore seu controlador e a solução JBOD. Se é Linux, você deve usar o DM Multipath e construir o pool com os dispositivos DM. Veja também: link

    
por 18.06.2017 / 03:28
0

Isto é puramente uma observação de apenas uma das suas entradas, mas

0x5000c5008472696d  & 0x5000c5008472696e = 0x5000c5008472696c
0x5000c5008472696d  | 0x5000c5008472696e = 0x5000c5008472696f

Poderia ser uma diferença nas operações bit a bit em como cada sistema calcula o WWN.

Você tem outros exemplos?

Se isso está certo (e estou apenas supondo), eu posso apenas supor que não existe uma maneira padrão e tanto o controlador raid quanto as implementações do kernel escolhem um método diferente.

    
por 16.06.2017 / 16:24
0

Para completar as outras respostas, cada unidade SAS tem um único LUN (LUN 0) e quatro endereços:

  • o endereço de destino da linha de base, uniformemente divisível por quatro, que geralmente é impresso no rótulo da unidade como o WWN (por exemplo, 0x5000c5008472696c )
  • linha de base + 1: o endereço da primeira porta (por exemplo, 0x5000c5008472696d )
  • linha de base + 2: o endereço da segunda porta (por exemplo, 0x5000c5008472696e )
  • linha de base + 3: o endereço LUN 0 (por exemplo, 0x5000c5008472696f )

Embora todos os quatro endereços se refiram à mesma unidade, o endereço LUN 0 é o que o Linux apresenta como o WWN. É o mais portátil e - como diz o ewwhite - é o que você deve usar para o ZFS.

(h / t para este comentário no r / zfs, que ajudou eu envolvo minha cabeça em torno dele)

    
por 11.07.2018 / 19:05