Red Hat Enterprise e IBM System Storage DS4000 – Conexão e Gerência


Este documento tem como objetivo mostar os passos para conexão do Red Hat Enterprise Linux ao DS4000 e como gerenciar as LUNs (discos lógicos alocados).

RDAC: Conexão do Storage System IBM DS4000

1. Instalar RDAC

a. Baixar IBM DS4000 Storage ManagerLinux RDAC
http://www-304.ibm.com/systems/support/storage/disk/ds4800/stormgr1.html

b. Copiar para o /usr/src

# mv rdac-LINUX-09.02.B5.15-source.tar.gz /usr/src

c. acesse o diretório /usr/src

# cd /usr/src

d. descompactar o arquivo

# tar xvzf rdac-LINUX-09.02.B5.15-source.tar.gz

e. acessar o diretório descompactado

# cd linuxrdac-09.02.B5.15

f. compilar o rdac

# make clean
# make
# make install

g. confirir o menu.lst do Grub

# more /boot/grub/menu.lst

Tem de ter uma entrada assim para o seu Kernel:

title Red Hat Enterprise Linux ES (2.6.9-67.0.4.ELsmp + RDAC)
root (hd0,0)
kernel /vmlinuz-2.6.9-67.0.4.ELsmp ro root=/dev/rootvg/rootlv
initrd /mpp-2.6.9-67.0.4.ELsmp.img

2. Reconhecendo LUNs com o rdac

a. Fazer scan de novas LUNs (discos)

# mppBusRescan

Obs: Geralmente te de rodar 2 ou 3 vezes… delay do Storage para o Linux

b. Fazer update do initrd mpp

# mppUpdate

SMDevices: Gerenciamento das LUNs (DS4000) no Linux

1. Instalar o SMdevices (ele lista todas as LUNs reconhecidas)

a. Fazer download do IBM DS4000 Storage Manager for Linux
http://www-304.ibm.com/systems/support/storage/disk/ds4800/stormgr1.html

b. descompacte o .tgz

# tar xvzf sm10.10_linux_smia-10.10.xx.06.tgz

c. instale apenas o SMruntime-LINUX e SMutil-Linux

# rpm -Uvh SMruntime*.rpm SMruntime*.rpm

2. Utilizando o SMdevices para listar Luns

# SMdevices
IBM System Storage DS4000/FAStT Storage Manager Devices, Version 10.00.A5.02
Built Tue Nov 06 14:32:16 CST 2007
(C) Copyright International Business Machines Corporation, 2003-2007 Licensed Material - Program Property of IBM. All rights reserved.
<n/a> (/dev/sg1) [Storage Subsystem DS4300, Logical Drive Access, LUN 12, Logical Drive ID <600a0b8000199a760000000000000000>]
/dev/sdi (/dev/sg10) [Storage Subsystem DS4300, Logical Drive 60, LUN 8, Logical Drive ID <600a0b8000199a760000182a46c4b6e6>, Preferred Path (Controller-A): In Use]
/dev/sdj (/dev/sg11) [Storage Subsystem DS4300, Logical Drive 61, LUN 9, Logical Drive ID <600a0b8000198a620000422346c4bb53>, Preferred Path (Controller-B): In Use]
/dev/sdk (/dev/sg12) [Storage Subsystem DS4300, Logical Drive 66, LUN 10, Logical Drive ID <600a0b8000199a760000183146c4cb28>, Preferred Path (Controller-A): In Use]
/dev/sdl (/dev/sg13) [Storage Subsystem DS4300, Logical Drive 67, LUN 11, Logical Drive ID <600a0b8000198a620000422746c4ced5>, Preferred Path (Controller-B): In Use]


  1. Rubens

    Fala doutor!

    Bem, não se encontra muito material sobre linux e storage em português.

    Gostaria de tentar esclarecer algumas dúvidas:

    Este drive vai melhorar o desempenho do IO no storage? Atualmente tenho um DS4000, onde roda RHEL 5 com baixíssima performance, e o fornecedor sugeriu a necessidade instalar estes drives.

  2. Rubens,

    O RDAC é uma importante camada de comunicação entre o sistema operacional e o DS4000, pois o RDAC faz a comunicação em mesmo nível com as controladoras (controllers) do DS, assim como SDD faz com o Shark 2105/2107.

    Quanto a performance eu iria mais abaixo:

    – Analise seu Storage quanto a formatação do array, procure criar os arrays de forma vertical. Um exemplo: Você tem 3 gavetas (enclosures) com 14 discos físicos.
    Neste caso ao invés de criar um array utilizado somente 1 gaveta, procure criar os arrays utilizando discos nas tres gavetas, desta forma você distribui o I/O nas tres gavetas.
    Veja um ascii para exemplificar:

    1[X][Y][X][Y][X][Y][ ][ ][ ][ ][ ][ ][ ][ ]
    2[X][Y][X][Y][X][Y][ ][ ][ ][ ][ ][ ][ ][ ]
    1[X][Y][X][Y][X][Y][ ][ ][ ][ ][ ][ ][ ][ ]

    Tenho as enclosures 1,2e3. Criei dois arrays X e Y em diferentes gavetas, isso me garante distribuição de I/Os entre as enclosures e controladoras

    – Qual o tamanho das LUNs? Ao invés de criar LUNs grandes crie LUNs menores e aloque de diverentes arrays, e se precisa de filesystems grandes use LVM para unir essas pequenas LUNs em volume groups maiores.
    Por exemplo:
    O array X e Y do ascii acima tem 500Gb cada. Tenho um servidor que precisa de 360 Gigabytes para dois filesystems de 180G. O ideal é alocar LUNs de 36G, alocando 5 do LUNs do array X e 5 LUNs do array Y. No sistema operacional eu crio um VG com as 10 LUNs de 360G, oferecendo-me um VG de 360G, nele eu crio dois LV de 180G que estará bem distribuido em dois arrays e tres gavetas.

    Lembre-se quanto mais gavetas, mais arrays e LUNs menores contribuem com a performance.
    Abraços!

  3. Rubens

    Kairo,

    Obrigado pelas informações. Elas já me esclarecem um pouco e vão me ajudar muito em outras implementações.

    Mas, não querendo abusar, nesta implementação em particular já tenho tenho apenas uma gaveta com seis discos SAS compondo um RAID 10, no qual foram três LUNs.
    Duas são pequenas, cada uma com um RHEL 5 instalado. A outra, grande, foi fragmentada em diferentes LVs onde estão três VMs Xen, também RHEL5, e a implantação do mailserver distribuído entre elas (MTA, LDAP e Store das mensagens).

    No momento, eu obtenho aproximadamente 5MB/s de troughput em qualquer LUN, dentro ou fora das VMs. Me parece um valor inaceitável.

    O fornecedor indicou duas alterações. A aplicação de uma atualização de firmware (trata-se de uma DS4000 com uma EXP 810), e a mudança na blocagem.

    Esta última é alteração mais nebulosa. O que é a Blocagem e como ela interfere no desempenho do storage?

    Muito obrigado!

  4. Daniel

    Sabe me dizer se o RDAC funcionar no Red Hat 5 x64??? Estou tendo dificuldades para instalar ele para concluir a instalacao de um DS4800

  5. Gedilson Fernandes

    Estou precisando continuar um boot e ele esta forçando o check forced na disco, só que sempre trava no 81.8%, é uma blade ibm hs22 com storage EMC² cx-120. Obrigado




Deixe um comentário