objetivo

Descrever o processos e as boas práticas para a configuração de ambiente para conectar um servidor ao storage.

informações

tabela matriz

Analisar a compatibilidade entre o STORAGE, Servidor, OS e HBA, etc.

É possível validar muitos equipamentos e softwares através deste documento.

http://powerlink.emc.com

Acesse o e-lab e monte o documento de compatibilidade de acordo com seu ambiente.

Confirme a compatibilidade antes de prosseguir.

sistema operacional

Recomendo a distro linux RHEL para conectividade com CX4-120, partindo das informações contidas na matriz EMC E-LAB, no entanto é possível rodar em distribuições como o Debian 5.0 e 6.0, porém, algumas features de failover/load balance podem não estar todas presentes, forçando o uso de configurações default.

Use sempre as referências do documento - Settings Initiator - mesmo que a distribuição que tenha escolhido não esteja presente. Neste documento existem recomendações para OS LINUX de forma genérica.

Se houver licença RHEL disponível use, do contrário pode usar o Debian 6.0.

hba

No caso da QLOGIC recomendamos o uso do SUNSurf para configurações e diagnósticos do dispositivo.

Normalmente nossas HBA's na EBC são Qlogic.

storage

No Storage Clariion CX4-120 estamos utilizando atualmente o FLARE 30 como firmware/os.

software multipath

Existe o software EMC PowerPath porém softwares MULTIPATH nativos das distribuições LINUX funcionam com algumas limitações e sem algumas features presentes no Power Path.

ambiente

Em nosso ambiente de teste teremos estes recursos

  • Servidor Dell PowerEdge R900
  • Sistema operacional: RHEL 5.5
  • HBA: QLOGIC modelo QLE 2462
  • Conectorização: 2 pares se fibras conectados entre servidor e switch, os pares estão ligados no mesmo switch (só tem 1).
  • Switch: Director Brocade 48000
  • Storage Clariion CX4-120

Acesso ao servidor

  • IP do servidor: xxxxx
  • Usuário: root
  • Senha: xxxxx

O documento matriz foi criado com base em informações de Outubro 2011, essa matriz é atualizada mensalmente.

configurações

servidor

Aqui vamos descrever alguns métodos para detectar a HBA e suas WWN.

Passos

  • Instalar Utilitarios HBA
  • Detectar HBAs
  • Detectar WWN das HBAs

hba

utilitarios

Entre no site da Qlogic e faça o download dos seguintes utilitários:

  • QLogic FC HBA LUN Scan Utility 2.3 (ql-dynamic-tgt-lun-disc.sh)
  • SANsurfer CLI for Linux (IA32 and AMD64 platforms)
  • EMC approved SNIA SMI-S for Linux

Baixe e descompacte em algum diretório e siga as instruções de instalação de cada pacote.

conectividade

Após conectar o cabo fc, rode o comando dmesg, isso vai nos dar uma saída acerca da conectiviade das fibras no sistema.

root@ebc fc_host]# lspci|grep -i fibre
qla2xxx 0000:0f:00.0: LIP reset occured (f700).
qla2xxx 0000:0f:00.0: LIP occured (f700).
qla2xxx 0000:0f:00.0: LIP reset occured (f7f7).
qla2xxx 0000:0f:00.0: LOOP UP detected (4 Gbps).
qla2xxx 0000:0f:00.0: SNS scan failed -- assuming zero-entry result...
qla2xxx 0000:0f:00.1: LIP reset occured (f700).
qla2xxx 0000:0f:00.1: LIP occured (f700).
qla2xxx 0000:0f:00.1: LIP reset occured (f7f7).
qla2xxx 0000:0f:00.1: LOOP UP detected (4 Gbps).
qla2xxx 0000:0f:00.1: SNS scan failed -- assuming zero-entry result...

dispositivo

podemos também ver pelo lspci informações acerca da hba

root@ebc fc_host]# lspci|grep -i fibre
0f:00.0 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03)
0f:00.1 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03)
13:00.0 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03)
13:00.1 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03)

buscando wwn

verifcando wwn manualmente

[root@ebc ~]# cd /sys/class/fc_host

[root@ebc fc_host]# cat host3/port_name 
0x2100001b329a089c

[root@ebc fc_host]# cat host4/port_name 
0x2101001b32ba089c

[root@ebc fc_host]# cat host5/port_name 
0x2100001b329a92a1

[root@ebc fc_host]# cat host6/port_name 
0x2101001b32ba92a1

Adicionalmente você poderá utilizar o comando da seguinte forma exibir todos os wwns disponíveis no servidor:

[root@ebc ~]# cat /sys/class/fc_host/host*/port_name

verificando wwn com software

inquiry

Porém para facilitar o display de informações da HBA vamos instalar o Inquiry.

Faça download da última versão no site:

ftp://ftp.emc.com/pub/symm3000/inquiry

Basta rodar o inquiry para ter as informações

# ./inq.LinuxAMD64

Saída do inquiry com parâmetro hba (exemplo em ambiente solaris).

[root@ebc hba]# ./inquiry -hba
Inquiry utility, Version V7.3-1305 (Rev 1.0)      (SIL Version V7.3.1.0 (Edit Level 1305)
Copyright (C) by EMC Corporation, all rights reserved.
For help type inq -h.


---------------------------------------------------
HBA name:           qlogic-QLE2462-0                        
host WWN:           2000001B329A089C                        
vendor name:        QLogic Corporation                      
model:              QLE2462                                 
firmware version:   v.4.04.09 (486)                         
driver version:     v.8.03.01.04.05.05-k                    
serial number:      Unknown                                 
vendor code:        0x1b32                                    
HBA type:           Fibre Channel       
port count:         1
    
port number:                 1
    node WWN:                     2000001B329A089C                        
    port WWN:                     2100001B329A089C                        
    Port OS name:                 /proc/scsi/QLE2462/3                    
    port type:                    NPORT                                   
    port speed:                   UNKNOWN                                 
    supported speed:              UNKNOWN                                 
    port state:                   ONLINE
    port FCID:                    0x9a01ba
    port supported COS:           0x00000000
    port supported FC4 types:     0x0201000000000000000000000000000000000000000000000000000000000000
    port active FC4 types:        0x0201000000000000000000000000000000000000000000000000000000000000
    max frame size:               2048
---------------------------------------------------
HBA name:           qlogic-QLE2462-1                        
host WWN:           2001001B32BA089C                        
vendor name:        QLogic Corporation                      
model:              QLE2462                                 
firmware version:   v.4.04.09 (486)                         
driver version:     v.8.03.01.04.05.05-k                    
serial number:      Unknown                                 
vendor code:        0x1b32                                    
HBA type:           Fibre Channel       
port count:         1
    
port number:                 1
    node WWN:                     2001001B32BA089C                        
    port WWN:                     2101001B32BA089C                        
    Port OS name:                 /proc/scsi/QLE2462/4                    
    port type:                    NPORT                                   
    port speed:                   UNKNOWN                                 
    supported speed:              UNKNOWN                                 
    port state:                   ONLINE
    port FCID:                    0x9b01ba
    port supported COS:           0x00000000
    port supported FC4 types:     0x0201000000000000000000000000000000000000000000000000000000000000
    port active FC4 types:        0x0201000000000000000000000000000000000000000000000000000000000000
    max frame size:               2048
---------------------------------------------------
HBA name:           qlogic-QLE2462-2                        
host WWN:           2000001B329A92A1                        
vendor name:        QLogic Corporation                      
model:              QLE2462                                 
firmware version:   v.4.04.09 (486)                         
driver version:     v.8.03.01.04.05.05-k                    
serial number:      Unknown                                 
vendor code:        0x1b32                                    
HBA type:           Fibre Channel       
port count:         1
    
port number:                 1
    node WWN:                     2000001B329A92A1                        
    port WWN:                     2100001B329A92A1                        
    Port OS name:                 /proc/scsi/QLE2462/5                    
    port type:                    NLPORT                                  
    port speed:                   UNKNOWN                                 
    supported speed:              UNKNOWN                                 
    port state:                   LINKDOWN
    port FCID:                    0xba
    port supported COS:           0x00000000
    port supported FC4 types:     0x0201000000000000000000000000000000000000000000000000000000000000
    port active FC4 types:        0x0201000000000000000000000000000000000000000000000000000000000000
    max frame size:               2048
---------------------------------------------------
HBA name:           qlogic-QLE2462-3                        
host WWN:           2001001B32BA92A1                        
vendor name:        QLogic Corporation                      
model:              QLE2462                                 
firmware version:   v.4.04.09 (486)                         
driver version:     v.8.03.01.04.05.05-k                    
serial number:      Unknown                                 
vendor code:        0x1b32                                    
HBA type:           Fibre Channel       
port count:         1
    
port number:                 1
    node WWN:                     2001001B32BA92A1                        
    port WWN:                     2101001B32BA92A1                        
    Port OS name:                 /proc/scsi/QLE2462/6                    
    port type:                    NLPORT                                  
    port speed:                   UNKNOWN                                 
    supported speed:              UNKNOWN                                 
    port state:                   LINKDOWN
    port FCID:                    0xba
    port supported COS:           0x00000000
    port supported FC4 types:     0x0201000000000000000000000000000000000000000000000000000000000000
    port active FC4 types:        0x0201000000000000000000000000000000000000000000000000000000000000
    max frame size:               2048

dicas

Caso não funcione, no RHEL voce precisa instalar primeiro o QLOGIC SNIA para rodar o INQUIRY.

switch

Aqui vamos abordar a configuração de zoning no Switch Brocade, basicamente temos os seguintes passos:

  • Criar o Alias
  • Criar o Zone
  • Habilitar o Zone Set

Vamos falar sobre cada um deles.

Primeiro logue-se no admin do switch via navegador.

Clicar em 'Manage/Zone Admin' após acessar a interface de administração.

alias

servidor

Para criar um alias siga o padrão abaixo:

NOMEDAMAQUINA + WWN da HBA (últimos 6 dígitos), exemplo:

LABV2K02_9a089c
LABV2K02_ba08pc

Colocar sempre o Port WWN como membro do ALIAS, não coloque o NODE.

box

Se voce tiver vários storages do mesmo modelo, coloque os últimos 4 dígitos da serial para identificá-lo.

CX4_0039_SPA0
CX4_0039_SPA1
CX4_0039_SPB0
CX4_0039_SPB1

Colocar sempre o Port WWN como membro do ALIAS, não coloque o NODE.

zone

Para criar um zone, siga o padrão abaixo:

MEMBRO 1 + MEMBRO 2 , exemplo:

LABV2K02_9a089c_CX4_0039_SPA0
LABV2K02_ba08pc_CX4_0039_SPA1
LABV2K02_9a089c_CX4_0039_SPB0
LABV2K02_ba08pc_CX4_0039_SPB1

Em cada zone você vai criar o nome de acordo com os 2 membros que você adicionou (1 HBA e 1 Porta), ou seja, evite criar um Zone com mais de 2 membros.

No caso dos Servidores Linux, uma HBA precisa sair com redundância para os dois SWITCHS.

Em nosso caso, só temos 1 SWITCH, então ligamos os cabos em chassis diferentes do mesmo SWITCH.

zone admin

Escolha os Zones Sets e habilite.

Com isso já teremos alguma saída no dmesg do servidor.

dicas

Sempre salve a config após cada mudança.

Não esqueça do Enable Config no final da configuração para ativar as mudanças.

storage

Aqui temos os seguintes passos:

  • Registrar as HBAs (IP/HOST/NAME)
  • Criar a LUN
  • Criar o Storage Group
  • Adicionar LUN e Host ao Storage Group

conectividade

Registrar as HBAs na parte “Storage System Connectivity”.

Antes de prosseguir consulte o PDF “InitiatorSettingsClariion” no diretório EMC do Dropbox.

Se quiser consulte diretamente o documento atualizado no Powerlink, código emc99467.

lun

Criar a LUN dentro do Pool ou Raid Group, conforme necessidade.

Use referencias práticas para criar luns e raid groups.

importante

Caso tenha um RAID GROUP com ID 1, crie LUNS 101, 102, 103, aprovite para usar os números ímpares para aquelas LUNS que usam SPA e pares para aquelas que usam o SPB, desta forma fica fácil identificar a qual RAID GROUP pertence aquela lun e a qual o seu SP OWNER, tudo isso apenas com as referências númericas na visão de LUNS do UNISPHERE. Isso é apenas administrativo, não tem efeito em performance, apenas em organização, comece direito para não se perder no futuro.

Leia o documento “What is the recommended EMC practice for numbering CLARiiON LUNs and RAID groups” no diretório EMC do Dropbox, ou se preferir pesquise diretamente no powerlink via código emc98038.

storage group

Crie um Storage Group, faça a associação/adicione o HOST e a LUN desejada.

importante

Lembre-se que um servidor não pode pertencer a 2 storage groups, premissa básica, porém 1 STG pode conter 2 ou mais servidores. Com relação a LUN, esta pode pertencer a mais de 1 STG.

Não troque o HOST de storage group, pois se fizer isto, ele perderá acesso as LUNS do STG anterior.

dicas

servidor

  • Configurar Multipath
  • Scannear portas
  • Criar Particao
  • Formatar Particao
  • Montar Particao

multipath

O multipah é utilizado para acessar o storage pelos diversos caminhos no zoning, através dele podemos ter recursos como o balanceamento, failover, etc, dependendo do software e método utilizado.

Após configurar o zoning/storage vá ao servidor e force um re-scan nas portas, veja o exemplo abaixo:

scan/rescan manual

o procedimento consiste em dar um echo no arquivo scan, forçando o rescan.

exemplo:

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

vamos scriptar para pegar todos os hosts disponíveis

for i in /sys/class/scsi_host/*;do echo "- - -" > $i/scan ;done

é isso.

scan/rescan automatico

[root@ebc ql-dynamic-tgt-lun-disc-2.3]# ./ql-dynamic-tgt-lun-disc.sh -s -r
Please make sure there is no active I/O before running this script

Do you want to continue: (yes/no)? yes
Issuing LIP on host3
Scanning HOST: host3
Issuing LIP on host4
Scanning HOST: host4
No LUNs for this host5,target0 pair
No LUNs for this host5,target1 pair
Issuing LIP on host5
Scanning HOST: host5
No devices attached to HOST: host5
No LUNs for this host6,target0 pair
No LUNs for this host6,target1 pair
Issuing LIP on host6

Scanning HOST: host6
No devices attached to HOST: host6 
Removed
3:0:0:0
3:0:0:1
3:0:1:0
3:0:1:1
4:0:0:0
4:0:0:1
4:0:1:0
4:0:1:1

visualizando discos

inquiry

Após forçarmos o rescan, precisamos verificar se os discos já estão sendo detectados, só prossiga se você conseguir enxergar os discos.

[root@ebc hba]# ./inquiry -clariion
Inquiry utility, Version V7.3-1305 (Rev 1.0)      (SIL Version V7.3.1.0 (Edit Level 1305)
Copyright (C) by EMC Corporation, all rights reserved.
For help type inq -h.

.............

----------------------------------------------------------------------------------------------------------------
DEVICE                             :VEND    :PROD            :REV   :SER NUM    :CAP(kb)      :VLU :CLUN :State  
----------------------------------------------------------------------------------------------------------------
/dev/sda                           :DELL    :PERC 6/i        :1.22  :           :   285474816:    :    :       
/dev/sdb                           :DGC     :VRAID           :0430  :2C4EA9A3   :   209715200:   0 :00300:ASSIGNED
/dev/sdc                           :DGC     :RAID 5          :0430  :C80000E8   :   209715200:   1 :00200:UNASSIGN
/dev/sdd                           :DGC     :VRAID           :0430  :2C4EA9A3   :   209715200:   0 :00300:UNASSIGN
/dev/sde                           :DGC     :RAID 5          :0430  :C80000E8   :   209715200:   1 :00200:ASSIGNED
/dev/sdf                           :DGC     :VRAID           :0430  :2C4EA9A3   :   209715200:   0 :00300:ASSIGNED
/dev/sdg                           :DGC     :RAID 5          :0430  :C80000E8   :   209715200:   1 :00200:UNASSIGN
/dev/sdh                           :DGC     :VRAID           :0430  :2C4EA9A3   :   209715200:   0 :00300:UNASSIGN
/dev/sdi                           :DGC     :RAID 5          :0430  :C80000E8   :   209715200:   1 :00200:ASSIGNED
/dev/dm-0                          :DGC     :RAID 5          :0430  :C80000E8   :   209715200:   1 :00200:ASSIGNED
/dev/dm-1                          :DGC     :VRAID           :0430  :2C4EA9A3   :   209715200:   0 :00300:ASSIGNED
/dev/mapper/cx4-0039-labv2k02-fc   :DGC     :RAID 5          :0430  :C80000E8   :   209715200:   1 :00200:ASSIGNED
/dev/mapper/cx4-0039-labv2k02-sata :DGC     :VRAID           :0430  :2C4EA9A3   :   209715200:   0 :00300:ASSIGNED
fdisk

Usar o fdisk é outra forma de visualizar.

[root@ebc hba]# fdisk -l

Disk /dev/sda: 292.3 GB, 292326211584 bytes
255 heads, 63 sectors/track, 35539 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       35284   283418698+  83  Linux
/dev/sda2           35285       35539     2048287+  82  Linux swap / Solaris

Disk /dev/dm-0: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes

O disco /dev/dm-0 não contém uma tabela de partições válida

Disk /dev/sdb: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes

O disco /dev/sdb não contém uma tabela de partições válida

Disk /dev/sdc: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes

O disco /dev/sdc não contém uma tabela de partições válida

Disk /dev/sdd: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes

O disco /dev/sdd não contém uma tabela de partições válida

Disk /dev/sde: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes

O disco /dev/sde não contém uma tabela de partições válida

Disk /dev/dm-1: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes

O disco /dev/dm-1 não contém uma tabela de partições válida

Disk /dev/sdf: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes

O disco /dev/sdf não contém uma tabela de partições válida

Disk /dev/sdg: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes

O disco /dev/sdg não contém uma tabela de partições válida

Disk /dev/sdh: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes

O disco /dev/sdh não contém uma tabela de partições válida

Disk /dev/sdi: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes

O disco /dev/sdi não contém uma tabela de partições válida

avaliando resultado

Se todos os passos foram cumpridos, provavelmente você terá uma saída no dmesg

[root@ebc ~]# dmesg
SCSI device sdi: 251658240 512-byte hdwr sectors (128849 MB)
sdi: Write Protect is off
sdi: Mode Sense: 87 00 00 08
SCSI device sdi: drive cache: write through
sdi: unknown partition table
sd 4:0:1:1: Attached scsi disk sdi
sd 4:0:1:1: Attached scsi generic sg9 type 0
...

Se chegou até aqui, agora vamos rodar o multipath para pegar o wwid das luns contendo demais informações

[root@ebc ~]# multipath -v2 -ll
  cx4-0039-labv2k02-sata (3600601602ce1220032b0b1aef3ffe011) dm-0 DGC,VRAID
[size=60G][features=1 queue_if_no_path][hwhandler=1 alua][rw]
\_ round-robin 0 [prio=100][active]
 \_ 3:0:1:0 sdc 8:32  [active][ready] 
 \_ 4:0:1:0 sde 8:64  [active][ready]
\_ round-robin 0 [prio=20][enabled]
 \_ 3:0:0:0 sdb 8:16  [active][ready]
 \_ 4:0:0:0 sdd 8:48  [active][ready]
cx4-0039-labv2k02-fc (3600601602ce12200405b3f65fbffe011) dm-1 DGC,VRAID
[size=120G][features=1 queue_if_no_path][hwhandler=1 alua][rw]
\_ round-robin 0 [prio=100][active]
\_ 3:0:0:1 sdf 8:80  [active][ready]
\_ 4:0:0:1 sdh 8:112 [active][ready]
\_ round-robin 0 [prio=20][enabled]
 \_ 3:0:1:1 sdg 8:96  [active][ready]
 \_ 4:0:1:1 sdi 8:128 [active][ready]
 

Ok, temos duas wwids, são elas:

3600601602ce1220032b0b1aef3ffe011 com 60 gigas.
3600601602ce12200405b3f65fbffe011 com 120 gigas.

Vamos configurar o multipath.conf utilizando estas informações, veja o exemplo abaixo.

exemplo de conf metodo alua - failover 4

Disponivel no RHES nativamente, você pode utilizar esse método de acesso ao clariion.

Apesar de apresentarmos esse exemplo, valide o método a ser utilizado na documentação 'Initiator Settings'.

defaults {
	user_friendly_names yes
}

blacklist {
        devnode "sda"
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
        devnode "^hd[a-z][[0-9]*]"
        devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
}

devices {
        device {
                vendor "DGC"
                product "*"
                path_grouping_policy group_by_prio
                prio_callout "/sbin/mpath_prio_alua /dev/%n"
		path_checker emc_clariion
                path_selector          "round-robin 0"
                no_path_retry          60
                features               "1 queue_if_no_path"
		failback immediate
		hardware_handler "1 alua"

        }
}

multipaths {
        multipath {
                wwid                    3600601602ce1220032b0b1aef3ffe011 
                alias                   cx4-0039-labv2k02-sata
        }
          multipath {
                wwid                   3600601602ce12200405b3f65fbffe011
                alias                   cx4-0039-labv2k02-fc
        }
}

exemplo de conf método pnr - failover 1

Utilizamos esse método como DEFAULT, principalmente em ambientes DEBIAN que não tem suporte nativo ao ALUA.

Apesar de apresentarmos esse exemplo, valide o método a ser utilizado na documentação 'Initiator Settings' da EMC.

defaults {
	user_friendly_names yes
}

blacklist {
        devnode "sda"
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
        devnode "^hd[a-z][[0-9]*]"
        devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
        }
}

devices {
        device {
                vendor "DGC"
                product "*"
                path_grouping_policy group_by_prio
                prio_callout "/sbin/mpath_prio_emc /dev/%n"
                path_checker emc_clariion
                path_selector          "round-robin 0"
                features               "1 queue_if_no_path"
                no_path_retry          300
                hardware_handler       "1 emc"
                failback immediate
        }
}

multipaths {
        multipath {
                wwid                    360060160d3b01e003cc49db1e119e011
                alias                   zimbra-prod-area1
        }
        multipath {
                wwid                    360060160d3b01e009cd1208ae119e011
                alias                   zimbra-prod-area2
        }
        multipath {
                wwid                    360060160d3b01e006cd47de01cf9df11 
                alias                   zimbra-backups
        }
}

importante

Leia o documento “EMC Host Connectivity Guide - LINUX - REV A28” u procure pelo powerlink pelo código XXXXXX.

lun

particionando

Vamos começar a particionar o dispositivo

fdisk /dev/mapper/alias-criado-no-multipath

Abaixo a lista de comandos no FDISK para configuração a partição corretamente.

crie a particao

n

tipo primaria

p

numero da particao

1

ENTER ENTER

modo expert

x

alinhamento do disco

b

escolha a particao

1

sete para 128 KB

128

imprima e verifique se o start da partição está em 128

p

gravar

w

Exemplo de configuração

[root@ebc scsi_host]# fdisk /dev/mapper/cx4-0039-labv2k02-fc
O dispositivo não contém nem uma tabela de partições DOS válida nem um rótulo de disco Sun, OSF ou SGI
Criando um novo rótulo de disco DOS. As alterações permanecerão
somente em memória até que você decida gravá-las. Após isto, é claro,
o conteúdo anterior não poderá mais ser recuperado.


O númeor de cilindros para este disco está configurado para 15665.
Não existe nada de errado, mas isto é maior que 1024,
e pode em certas configurações causar problemas com:
1) programas que executam em tempo de inicialização (versões velhas do LILO)
2) inicialização e programas de particionamento de outros OSs
   (p.ex., DOS FDISK, OS/2 FDISK)
Aviso: a opção inválida 0x0000 da tabela de partições 4 será corrigida por gravação (w)

Comando (m para ajuda): n
Comando - ação
   e   estendida
   p   partição primária (1-4)
p
Número da partição (1-4): 1
Primeiro cilindro (1-15665, default 1): 
Using default value 1
Último cilindro ou +tamanho ou +tamanho M ou  +tamanho K (1-15665, default 15665): 
Using default value 15665

Comando (m para ajuda): x

Comando avançado (m para ajuda): b
Número da partição (1-4): 1
Novo início dos dados (63-251658224, default 63): 128

Comando avançado (m para ajuda): p

Disk /dev/mapper/cx4-0039-labv2k02-fc: 255 heads, 63 sectors, 15665 cylinders

Nr AF  Hd Sec  Cyl  Hd Sec  Cyl     Start      Size ID
 1 00   1   1    0 254  63 1023        128  251658097 83
 2 00   0   0    0   0   0    0          0          0 00
 3 00   0   0    0   0   0    0          0          0 00
 4 00   0   0    0   0   0    0          0          0 00

Comando avançado (m para ajuda): w
A tabela de partições foi alterada!

Chamando ioctl() para reler tabela de partições.

WARNING: Re-reading the partition table failed with error 22: Argumento inválido.
The kernel still uses the old table.
The new table will be used at the next reboot.
Sincronizando discos.

formatando

Formatando a partição criada.

mkfs.ext3 /dev/mapper/alias-criado-no-multipah

montando

manualmente
mkdir /mtn/teste
mount -t auto /dev/mapper/alias-criado-no-multipah /mnt/teste
fstab

Adicione uma linha em seu fstab

/dev/mapper/alias-criado-no-multipath /ponto/de/montagem ext3	defaults	1 1

dicas

Caso a partição tenha mais de 1 TERA use o PARTED para fazer a configuração, veja na documentação.

Leia o documento “EMC Host Connectivity Guide - LINUX - REV A28” no Dropbox da EMC ou procure pelo powerlink pelo código XXXXXX.

observações

espelhamento de luns

Quando estiver fazendo espelhamento de LUNS, existem dois estados SINCRONIZADO e CONSISTENTE.

CONSISTENTE significa que a sincronização está acontecendo, existe I/O e ele está jogando de um lado para o outro.

SINCRONIZADO significa que o I/O no lado ATIVO parou 100%, com isso os dois lados estão SINCRONIZADOS, é a partir daí que você deve encerrar o espelhamento, fazer a virada de site, associar a LUN ao HOST no outro lado, montar o dispositivo no servidor e mudar o caminho do espelhamento, o antigo passivo agora é o ativo e vice-versa.

NUNCA faça a virada isso em MODO CONSISTENTE, do contrário seu filesystem será corrompido.

passive luns e device mapper

Caso seu servidor esteja ligado a um storage associado a um STG onde ele enxerga as luns em modo PASSIVO, pode ser que você encontre erros similares aos abaixo nos logs do seu servidor.

Jul 13 17:46:02 df0000sr554 kernel: [3619604.348749] sd 0:0:1:2: emc: ALUA failover mode detected
Jul 13 17:46:02 df0000sr554 kernel: [3619604.348753] sd 0:0:1:2: emc: at SP A Port 0 (owned, default SP A)
Jul 13 17:46:02 df0000sr554 kernel: [3619604.349089] sd 4:0:0:2: emc: ALUA failover mode detected
Jul 13 17:46:02 df0000sr554 kernel: [3619604.349147] device-mapper: multipath: Failing path 8:224.
Jul 13 17:46:02 df0000sr554 kernel: [3619604.349670] sd 4:0:0:2: emc: failed to send MODE SELECT, no sense available
Jul 13 17:46:02 df0000sr554 kernel: [3619604.349675] sd 4:0:0:2: emc: at SP B Port 2 (bound, default SP A)
Jul 13 17:46:02 df0000sr554 kernel: [3619604.349755] sd 4:0:1:2: emc: ALUA failover mode detected
Jul 13 17:46:02 df0000sr554 kernel: [3619604.349758] sd 4:0:1:2: emc: at SP A Port 2 (owned, default SP A)
Jul 13 17:46:12 df0000sr554 kernel: [3619614.346284] sd 0:0:0:2: emc: ALUA failover mode detected
Jul 13 17:46:12 df0000sr554 kernel: [3619614.346975] sd 0:0:0:2: emc: failed to send MODE SELECT, no sense available
Jul 13 17:46:12 df0000sr554 kernel: [3619614.346980] sd 0:0:0:2: emc: at SP B Port 0 (bound, default SP A)
Jul 13 17:46:12 df0000sr554 kernel: [3619614.346982] device-mapper: multipath: Failing path 8:32. 

Isso vai significar que o multipath está enxergando as LUNs mas como elas estão em modo passivo o MULTIPATH fica gerando esses eventos, alertas e erros.

Isso vai fazer com que o LOAD da máquina suba aos céus, além de aparecer centenas de processos kpartx em seu sistema.

Mesmo que você coloque essas LUNs na BLACKLIST do multipath.conf, ele vai continuar enxergando as LUNS (multipath -ll) pois a tabela do device mapper já foi criada durante o boot.

Para cessar com os eventos e alertas, primeiro, visualize a tabela

dmsetup table

Depois limpe a tabela

dmsetup remove-all

Assim os erros vão cessar até que você possa setar as LUNS como ativa, e consequentemente removê-las do blacklist.

No cenário que estávamos trabalhando, havia replicação de LUNS entre 2 DATACENTERS, o site principal estava enxerganda a LUN em modo ATIVO/ATIVO no site secundário enxergava PASSIVO/PASSIVO e gerava esses erros por conta.

Espero que isso ajude alguém - passamos aperto para resolver.

expansão de luns

pool

A expansão em pool é bem mais simples, não depende de uma segunda LUN, você deve apenas informar o novo tamanho desejado para aquela LUN.

A única questão a ser observada é que o sistema de arquivos do Servidor precisa de tratamento pois ele não se expande sozinho.

raid group

Aqui temos o que a EMC chama de Metalun, que consiste em combinar 2 ou mais LUNs para expandir o seu tamanho.

Algumas observações para se criar uma Metalun:

  • Crie sempre em RAIDS com mesmas caracteristicas
    • quantidade de discos
    • tamanho dos discos
    • velocidade dos discos
    • proteção (tipo do raid)

      Existem duas formas, stripped e concatenate.

      • O método stripped deve ser feita em RAID GROUP diferentes
      • Stripping apenas entre luns com mesmo tamanho.
      • Concat pode ser feito entre luns de tamanhos diferentes, porém tem menor peformance que o Stripping.
      • Para maiores informações ler “Clarrion Metaluns PDF no Dropbox”
      • Aumentar sempre em potências de 2, procure aumentar de 2 em 2 ou 4 em 4 - quantidade de luns a serem adicionadas.

      rescan de dispositivos

Caso você tenha alterado o storage grupo, removendo ou adicionando LUNS, para evitar um reboot na máquina, utilize o aplitivo “QLogic FC HBA LUN Scan Utility”, você pode encontrá-lo no site qlogic.com na seção de downloads/hba/sistema operacional/rhel.

Após fazer o download, descompacte o arquivo e rode o comando com os parâmetros abaixo:

[root@ebc ql-dynamic-tgt-lun-disc-2.3]# ./ql-dynamic-tgt-lun-disc.sh -s -r

Please make sure there is no active I/O before running this script

Do you want to continue: (yes/no)? yes
Issuing LIP on host3
Scanning HOST: host3
Issuing LIP on host4
Scanning HOST: host4
No LUNs for this host5,target0 pair
No LUNs for this host5,target1 pair
Issuing LIP on host5
Scanning HOST: host5
No devices attached to HOST: host5
No LUNs for this host6,target0 pair
No LUNs for this host6,target1 pair
Issuing LIP on host6

Scanning HOST: host6
No devices attached to HOST: host6 
Removed
3:0:0:0
3:0:0:1
3:0:1:0
3:0:1:1
4:0:0:0
4:0:0:1
4:0:1:0
4:0:1:1

Depois de fazer o rescan use o INQUIRY para verificar se houve atualização, caso esteja atualizado de acordo com suas mudanças, use o multipath para pegar os novos wwids e reconfigurar o multipath.conf

scli

O software SanSurfer para CLI te oferece algumas informações e diagnósticos, exemplo abaixo:

[root@ebc hba]# scli 

	SANsurfer FC HBA CLI

	v1.06.16 Build 57

    Main Menu

    1:	Display System Information
    2:	Display HBA Settings
    3:	Display HBA Information
    4:	Display Device List
    5:	Display LUN List
    6:	Target Persistent Binding
    7:	Selective LUNs
    8:	Driver Settings
    9:	Flash Beacon
   10:	Diagnostics
   11:	Statistics
   12:	Help
   13:	Quit

referências



conectando_servidor_linux_a_um_storage.txt · Last modified: 2012/07/27 21:38 by gutocarvalho
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0