Archive for the Storage Category

Participei hoje do evento “VMware Virtualization Forum 2008“, patrocinado pela VmWare e suas patrocinadoras como a Intel, HP, CA, EMC… Embora o evento maior da VmWare se passe “lá fora”, o evento aqui no Brasil foi bem interessante e tiveram suas inscrições esgotadas.

Nintendo Wii

O evento foi gratuíto, contando com café da manhã, Coffee Break, Almoço e Coquetel de encerramento com o sorteio de alguns prêmios, como dois Ipod Touch e dois Nintendos WII, no qual eu tive a puta sorte de ganhar!!! :-D Nunca ganha nada em sorteio algum, porém dessa vez eu realmente preciso agradecer a Deus pelo presentão de aniversário que eu não teria condições de comprar!!! :-D Alias, agradeço de algum usuário desta maravilhosa tecnologia pudesse deixar alguns dicas para mim a respeito do console ;)

Bom, voltando ao evento em si, com tanta coisa “de graça” bancada pelos patrocinadores, era de se esperar que os mesmos tentassem vender seus produtos durante as palestras. Não gostei de ver apresentações com slides “shareados” dando aquela sensação estranha Deja’vu…

Portando, com as palestras mais voltadas ao publico gerencial e não técnico, o evento deve ter agradado as pessoas que não precisam saber como o motor funciona, querem apenas ligar a chave e esperam que o carro saiam andando — e seus técnicos que se virem para aprender como a coisa funciona :)

Na parte da manhã tivemos palestras muito interessantes como:

- a Polícia Federal, mostrando sua solução de Virtualização usando Blades (edizendo que os dados ainda não estão todos centralizados, portanto, teoricamente você ainda pode cometer um delito em cada cidade do brasil ;) )

- um estudo da IDC, muito bem apresentado com conteúdo técnico e gerencial bem dosado falando sobre as próximas tendências do mercado, e ainda sugerindo métodos para você virtualizar seu ambiente com a maior segurança possível;

- Tecnologia Quad-Core da Intel, mostrando os aspectos voltados à virtualização e prometendo novidades enormes ainda este ano;

- Case da PRODAM, mostrando os desafios de migrar um Data Center de local, arruma-lo e ainda Virtualizar para abstrair o Hardware. Não posso deixar de citar a quantidade de equipamentos velhos e obsoletos que faziam parte do DC deles, e também as duas toneladas de cabos de rede desnecessários que foram removidos durante a migração, pois os comentários que se escutava era: “está vendo o que é feito com o seu dinheiro dos impostos?” 8)

Acho ainda interessante dizer que na parte da tarde, a cada palestra de 1 hora o pessoal da vmware abriu um espaço de 15 minutos para algum parceiro deles falaram um pouco sobre a empresa, e por incrível que pareça, esses 15 minutos foram extremamente técnicos (NetApp, EMC e Sun com o Rafael Tinoco, que mandou muito bem no FISL 9.0) alegrando eu e mais o restante de público Nerd não-gerente ali presente.

Claro que eu já esperava que o evento seria mais voltado à executivos de Terno e Gravata do que para Nerds de Jeans e Camiseta, portanto não posso dizer que estou decepcionado pois eu sabia que isso não era nenhum FISL. Muito pelo contrário, o lugar foi muito bem escolhido, a organização foi ótima e o evento bastante proveitoso.

Também serviu para encontrar velhos amigos (ex-professores do meu colégio, colegas de classe da faculdade, amigos de outras empresas e figuras que eu só encontro no FISL), além de perder um pouco o medo do inglês tentando fazer uns gringos entender que na maior parte das vezes, nós não usamos Linux porque é “de graça” ou é mais barato do que a solução X ou Y — muito pelo contrário, na maior parte das vezes nós pagamos pelo Linux (SuSE, Red Hat) mas usamos devido a suas características serem superiores do que as dos concorrentes, como por exemplo Desempenho, Estabilidade e Segurança.

E foi bom saber também que as empresas estão correndo atrás em adaptar seus produtos/ soluções para Linux nos próximos meses (o VConverter da VizionCore me parece muito promissor). Além do mais, as empresas que já tem solução para Red Hat ainda não expandiram a mesma para SuSE ou Ubuntu devido a problemas gerenciais, como o treinamento do pessoal de suporte e etc, e não por problemas técnicos.

Muito interessante também o pessoal da NetAPP elogiando o iSCSI que geralmente não é bem vindo por ser uma alternativa barata às caríssimas soluções com FC/HBA…

E para fechar, uma feature do VmWare que eu gostei muito e sinto falta no Xen é o chamado “VmWare LifeCycle Manager” que irá cuidar que as suas máquinas virtuais não se proliferem e espalhem em seu ambiente que nem coelhos, pois como é muito fácil provisionar a mesma é também muito fácil você perder o controle e não ter mais certeza se a VM está ou não sendo utilizada ainda…

Bom, vou parando por aqui e peço desculpas se o texto ficou muito grande ou com as idéias desordenadas… agora preciso descansar pois amanhã terei mais uma migração grande para fazer de madrugada, portanto, um dia desses eu arrumo melhor este texto ;)

Boa noite para vocês
Diga “WI!!!!!!!” :D
PS: O console só chega semana que vem…

Por Fábio Silva em seu blog:

“Recentemente precisei configurar um ambiente com RHEL 5.1 Cluster Suite.

Em contato com o pessoal do canal #linux-cluster no irc.freenode.net, eles me esclareceram algumas dúvidas e então consegui montar o ambiente.

Assim, resolvi criar um howto em português para que fosse disponibilizado na página do projeto de cluster da redhat, e aqui está o link para os interessados.”

http://sources.redhat.com/cluster/wiki/QuickStart-Portuguese

Este post é somente para agregar mais uns links interessantes sobre o assunto:

FAQ Sobre Fencing Devices

Replicated Failover Domain Controller and file server using LDAP

How to use GNBD to export and import devices for GFS

Teaching your cluster and storage systems to dance: An introduction to Conga

Using Red Hat GFS with Red Hat Cluster Suite

Por último, mas não menos importante, um “txt” tosco, mas nem por isso com menas informações do que os demais: cluster2-arch.txt. Lá existe uma seção muito esclarecedora sobre “Fencing: What, When, Why”.

Este post abrange o Storage AMS500 da Hitachi, comercialmente conhecido pelo modelo DF700M.

O Storage possui RAID Groups em Fibre Channel usando RAID5 (5D+1P), e algumas RAID Groups de discos SATA usando RAID6 (7D+2P).

AMS 500

Sobre o Multi Path (HDLM) do Storage Hitachi

Conforme o desenho, pode-se observar que será necessário um software multipath para controlar os vários caminhos que os servidores “server-spo-la-1″ e “server-spo-la-2″ podem fazer para chegar até os discos do storage.

Para exemplificar, o server-spo-la-1 pode fazer os seguintes caminhos:
- Passar pela fibra saindo pela HBA0 até o Switch 1, e chegar no storage pela Controller 0, porta A;
- Passar pela fibra saindo pela HBA1 até o Switch 2, e chegar no storage pela Controller 0, porta B;
- Passar pela fibra saindo pela HBA1 até o Switch 2, e chegar no storage pela Controller 1, porta A;
- Passar pela fibra saindo pela HBA0 até o Switch 1, e chegar no storage pela Controller 0, porta B;

É aí que entra o HDML (Hitachi Dynamic Link Manager). O problema é que para cada caminho que o SO faz até o Storage, ele encontra discos e “pensa” que são discos diferentes. Portanto, se você tem 25 LUNs exportadas para o server-spo-la-1, ele irá “enxergar” 100 discos (25*4=100). Será algo parecido com isso:

root@server-spo-la-1 ~# fdisk -l 2> /dev/null | grep "38.6 GB"
Disk /dev/sdb: 38.6 GB, 38654705664 bytes
Disk /dev/sdc: 38.6 GB, 38654705664 bytes
Disk /dev/sdd: 38.6 GB, 38654705664 bytes
Disk /dev/sde: 38.6 GB, 38654705664 bytes
Disk /dev/sdf: 38.6 GB, 38654705664 bytes
Disk /dev/sdg: 38.6 GB, 38654705664 bytes
Disk /dev/sdh: 38.6 GB, 38654705664 bytes
Disk /dev/sdi: 38.6 GB, 38654705664 bytes
Disk /dev/sdj: 38.6 GB, 38654705664 bytes
Disk /dev/sdk: 38.6 GB, 38654705664 bytes
Disk /dev/sdl: 38.6 GB, 38654705664 bytes
Disk /dev/sdm: 38.6 GB, 38654705664 bytes
Disk /dev/sdn: 38.6 GB, 38654705664 bytes
Disk /dev/sdo: 38.6 GB, 38654705664 bytes
Disk /dev/sdp: 38.6 GB, 38654705664 bytes
Disk /dev/sdq: 38.6 GB, 38654705664 bytes
Disk /dev/sdr: 38.6 GB, 38654705664 bytes
Disk /dev/sds: 38.6 GB, 38654705664 bytes
Disk /dev/sdt: 38.6 GB, 38654705664 bytes
Disk /dev/sdu: 38.6 GB, 38654705664 bytes
Disk /dev/sdv: 38.6 GB, 38654705664 bytes
Disk /dev/sdw: 38.6 GB, 38654705664 bytes
Disk /dev/sdx: 38.6 GB, 38654705664 bytes
Disk /dev/sdy: 38.6 GB, 38654705664 bytes
Disk /dev/sdz: 38.6 GB, 38654705664 bytes
Disk /dev/sdaa: 38.6 GB, 38654705664 bytes
Disk /dev/sdab: 38.6 GB, 38654705664 bytes
Disk /dev/sdac: 38.6 GB, 38654705664 bytes
Disk /dev/sdad: 38.6 GB, 38654705664 bytes
Disk /dev/sdae: 38.6 GB, 38654705664 bytes
Disk /dev/sdaf: 38.6 GB, 38654705664 bytes
Disk /dev/sdag: 38.6 GB, 38654705664 bytes

Completamente bizarro 8-)

Instalação do HDLM

O processo de instalação é um tanto chato, e cada servidor precisa de uma licença diferente. Em termos gerais, seria mais ou menos isso:

-> Verificar se o server acha os discos com um fdisk -l

-> Copiar o license key para:
/var/tmp/hdlm_license
/etc/opt/DynamicLinkManager/dlm.lic_key

-> Rodar o /media/cdrom/installhdml

-> No /etc/profile

PATH=$PATH:/opt/DynamicLinkManager/bin ; export PATH

-> Reboot

-> Verificar se o fdisk -l mostra mais discos :)

Se tudo der certo, além dos 100 discos de outrora, seu servidor irá enxergar mais 25 (!!!) mas agora com outro nome. E será esse device que você irá utilizar para guardar os dados:

Disk /dev/sddlmaa: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmab: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmac: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmad: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmae: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmaf: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmag: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmah: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmai: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmaj: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmak: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmal: 38.6 GB, 38654705664 bytes

Configuração do HDLM

Caso você queira testar se o HDML está mesmo funcionando, você poderia tirar uma fibra enquanto copia os dados, chutar o switch ou algo do tipo :-)

# dlnkmgr set -lb on
# dlnkmgr set -pchk on -intvl 5
# dlnkmgr set -afb on -intvl 5
# dlnkmgr set -ellv 2
# dlnkmgr set -systflv 1
# dlnkmgr set -elfs 1000
# dlnkmgr set -elfn 5
# dlnkmgr set -systfs 2000
# dlnkmgr set -systfn 10

Para verificar:

# dlnkmgr view -path | more
# dlnkmgr view -sys
# dlnkmgr view -lu | more

Este setup irá ativar o Load Balance, verificação de PATH, auto Failback em caso de falhas e etc.

Configurando o LVM

Existe ainda mais um cuidado a ser tomado antes de você conseguir brincar com o Storage. O LVM é uma ferramenta muito esperta, e ele identifica cada disco com uma assinatura, individual e intransferível, mais ou menos como a sua impressão digital.

Portanto, ao adicionar um disco do HDLM ao LVM, você verá algo parecido com isso:

root@server-la-2 ~# pvcreate /dev/sddlmaa
Physical volume “/dev/sddlmaa” successfully created

root@server-la-2 ~# pvs
Found duplicate PV sXzKX9RMVxSafKzfDJP78Zr4qYFPNPcO: using /dev/sdb not /dev/sddlmaa
Found duplicate PV sXzKX9RMVxSafKzfDJP78Zr4qYFPNPcO: using /dev/sdch not /dev/sdb
Found duplicate PV sXzKX9RMVxSafKzfDJP78Zr4qYFPNPcO: using /dev/sdbf not /dev/sdch
Found duplicate PV sXzKX9RMVxSafKzfDJP78Zr4qYFPNPcO: using /dev/sdad not /dev/sdbf
Found duplicate PV sXzKX9RMVxSafKzfDJP78Zr4qYFPNPcO: using /dev/sddlmaa not /dev/sdad
PV VG Fmt Attr PSize PFree
/dev/sda2 Vol_LVM lvm2 a- 408.17G 0
/dev/sddlmaa lvm2 — 36.00G 36.00G

O que acontece é que o LVM está vendo o mesmo disco (mesma LUN, na verdade) pelos 04 caminhos diferentes e mais o novo caminho, do HDLM.

O que você deve fazer, é editar o arquivo /etc/lvm/lvm.conf e criar um filtro separando os devices que devem de fato serem manipulados pelo LVM, algo deste tipo:

filter = [ “a/sda1-9$/” “a/sddla-za-za-z$/” “r/.*/” ]

Após isso, basta rodar um ‘vgscan -vv’ para refazer o cache.

Passos rápidos para configurar o LVM no Storage

Papo rápido:


# for i in `fdisk -l 2> /dev/null | grep "sddl" | awk '{print $2}' | cut -d : -f 1`; do pvcreate $i; done


# vgcreate -Ay AMS500 /dev/sddlmaa /dev/sddlmab /dev/sddlmac /dev/sddlmad \
/dev/sddlmae /dev/sddlmaf /dev/sddlmag /dev/sddlmah /dev/sddlmai /dev/sddlmaj \
/dev/sddlmak /dev/sddlmal /dev/sddlmam /dev/sddlman /dev/sddlmao /dev/sddlmap \
/dev/sddlmba /dev/sddlmbb /dev/sddlmbc /dev/sddlmbd /dev/sddlmbe /dev/sddlmbf \
/dev/sddlmbg /dev/sddlmbh /dev/sddlmbi /dev/sddlmbj /dev/sddlmbk /dev/sddlmbl


# lvcreate -Ay -L 1.2T --name u01 AMS500

# mkfs.ext3 /dev/AMS500/u01

# mkdir /u01; mount /dev/AMS500/u01 /u01

Pronto! 1.2 TB para brincar :-D

Ganhando desempenho fazendo Stripe no LVM

É possível fazer Stripe do lado do Sistema Operacional, visando um maior desempenho :)

Cada servidor está “enxergando” 28 LUNs do Storage, como se cada LUN fosse um disco.

Utilizei o “dd” para criar arquivos de 10 e 40 GB nos servidores, tanto na “Barriga” da máquina (Dell PowerEdge 2950 em RAID 10) quanto no Storage. Depois disso, irei utilizar nos servidores Stripes com granulação de 128 KB, sempre no FileSystem com Block Size de 4KB para comparar:

# Teste Storage Billing
# LVM padrão (sem stripe) e Block Size de 4KB

=> 10 GB com LVM default:
root@server-la-1 ~# Storage: 1m38.939s
root@server-la-1 ~# Barriga: 1m22.395s

root@server-la-2 ~# Storage: 1m57.203s
root@server-la-2 ~# Barriga: 1m15.134s

=> 40 GB com LVM default:
root@server-la-1 ~# Storage: 10m23.250s
root@server-la-1 ~# Barriga: 06m04.812s

root@server-la-2 ~# Storage: 11m22.150s
root@server-la-2 ~# Barriga: 06m01.234s

# lvcreate -Ay -i 28 -I 128 -l258020 –name u01 AMS500
# 28 Stripes com granulação de 128 KB cada (Block size=4096)

=> 10 GB com LVM + Stripe 128K
root@server-la-2 ~# Storage: 1m02.411s
root@server-la-2 ~# Barriga: 1m18.440s

=> 40 GB com LVM + Stripe 128K
root@server-la-2 ~# Storage: 4m49.578s
root@server-la-2 ~# Barriga: 5m50.452s

# lvcreate -Ay -i 28 -I 64 -l258020 –name u01 AMS500
# 28 Stripes com granulação de 64 KB cada (Block size=4096)

=> 10 GB com LVM + Stripe 64K
root@server-la-1 ~# Storage: 1m42.396s
root@server-la-1 ~# Barriga: 1m44.903s

=> 40 GB com LVM + Stripe 64K
root@server-la-1 ~# Storage: 5m04.977s
root@server-la-1 ~# Barriga: 5m55.737s

Teste de desempenho

Resultados dos testes de desempenho do Storage feitos por uma ferramenta mais profissional (Bonnie++), que faz vários testes além do qual eu fiz:

http://everlinux.com/raid/bonnie.html

Testei na minha máquina de casa (IDE) e do escritório (SATA) também, só para lembrar que eu preciso trocar meu velho Athlon 2000 :-)