domingo, 9 de março de 2014

STORAGE - Symmetrix - Passo-a-passo

Pessoal, boa noite.

Vamos lá, hoje vou passar uma passo-a-passo de como criar objetos no Symmetrix do ponto de vista da criação de devices, formação de meta lun se necessário, adição dos devices no pool e por fim "amarrar"todos os objetos para o host poder enxergar os discos.

Bem vou partir do seguinte cenário:

- No storage temos o pool com o nome POOL_FC;
- SID 54987001

Criando os devices/Hypers:

Adicionar a seguinte entrada em um arquivo txt, neste caso vou chamado este arquivo de create_devs.txt: create dev count=10, size=5 GB emulation=FBA, config=TDEV;

Onde count é a quantidade de devices que você precisa cirar para formar a meta lun ou mesmo a quantidade de devices simples.
size é o tamanho destes devices.
emulation é o tipo de arquitetura de bloco
config tipo de device

Iremos criar um disco de 500GB para entrar para um cluster linux. Então para utilizarmos os recursos de symmetrix, redundância e performance iremos criar os hypers de 50GB.

Então para podermos chegar ao valor de 500GB temos que criar 10 devices/hypers de 50GB:
create dev count=10, size=50 GB emulation=FBA, config=TDEV;

Então vamos criar os devices:
symconfigure -sid -001 -file create_devs.txt preview|commit

O preview temos como ver se o processo irá finalizar com sucesso ou se já teremos algum problema com a criação dos devices.

Ao final ele irá aparecer os ID dos devices criados:
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010

Agora vamos criar a meta lun para chegarmos ao valor de 1 disco de 500GB.

Para isso vamos criar o arquivo form_meta.txt contendo os devices e a seguinte estrutura:

form meta from dev 0001, config=STRIPED, stripe_size=1920;
add dev 0002:0010 to meta 0001;

Onde config é como estamos criando a distribuição destes devices, sendo striped cada ponto, ou cada pedaço sendo gravado em um HD diferente e o concatenated é forma sequencial.
Aqui temos dois pontos importantes para cada um destes casos. 
Criando como striped você tem uma melhor performance e segue uma recomendação da EMC dentro das melhores práticas para este tipo de equipamento. Porém não existe a possibilidade de crescimento da meta lun.
Já no outro tipo, o concatenated temos como crescer a meta lun, porém não é tão performatico pois trabalha de forma sequencial e não fica dentro das melhores práticas da EMC.

Bem entendido isso vamos criar a meta lun:
symconfigure -sid 001 -file form_meta.txt preview|commit

Feito isso vamos ter o meta device 0001 criado com seus 500GB, adequado para as melhores funcionalidades da estrutura do symmetrix.

Agora vamos adicionar este device no pool TP_FC:

Criamos o arquivo add_dev_pool.txt com o seguinte conteúdo: bind tdev metaID to pool nomedopool;

No nosso caso ficaria assim:
bind tdev 0001 to pool TP_FC;

Pronto depois destes passos nosso disco de 500GB está pronto.

Vamos criar os objetos necessários para que este disco seja acessados por nosso servidor linux:

srv_lnx01
hba0 = 10:00:00:00:00:00:00:01
hba1 = 10:00:00:00:00:00:00:02

Criando o initiator group com as HBAs do host:

symaccess -sid 001 -type initiator -name IG_SRV_LNX01 create -wwn 1000000000000001

symaccess -sid 001 -type initiator -name IG_SRV_LNX01 add -wwn 1000000000000002

Agora vamos suporte que as FA's que atendem nossa SAN onde está este host seja as FA's 1g1, 2g1, 3g1 e 4g1. Vamos criar o port group:

symaccess -sid 001 -type port -name PG_SAN01 -dirport 1g:1, 2g:1, 3g:1, 4g1

Criando o storage group e adicionando o disco criado:

symaccess -sid 001 -type storage -name SG_SRV_LNX01 create devs 0001

E por último o masking view que faz com que o host tenha acesso ao disco:

symaccess -sid 001 create view -name MV_SRV_LNX01 -pg PG_SAN01 -ig IG_SRV_LNX01 -sg SG_SRV_LNX01

Alguns erros comuns neste processo que fazem o processo não dar certo:

- Espaço no POOL. Se não tivermos espaço no pool não temos como adicionar o device para que ele tenha acesso para escrita pelo host, caso contrário o host terá apenas condições de leitura;
- Ao criar o port group adicionarmos as FA's erradas das que fizemos o zone;

Obs: no SID eu coloquei apenas 001, pois tenho apenas um storage com esse ID. Caso eu tivesse mais de um storage com o final 001 eu teria que colocar a informação do ID correspondente ao symmetrix que eu vou utilizar.

Ao término deste procedimento, precisamos fazer os procedimentos de rescan e de configuração deste device no servidor.

Até a próxima.

Abs

João!!!

quinta-feira, 13 de fevereiro de 2014

WINDOWS - Como descobrir o WWN do servidor


Boa noite pessoal, tudo bem?

Bom a dica de hoje é referente a um problema que temos quando alguém nos solicita algumas informações que não são muito corriqueiras.
Hoje vou mostrar como capturar o WWN das interfaces HBA de um servidor com Windows.
Vale lembrar que, para toda HBA (Emulex ou Qlogic) existe um driver do fabricante com um utilitário para este tipo de atividade inclusice rescan de devices, verificação do status do link, etc e que com certeza é o mais adequado.

Primeiro, acesse o site: http://www.microsoft.com/en-us/download/details.aspx?id=17530

Acessando o link você terá acesso no Download Center da Microsoft no item: Fibre Channel Information (FCINFO).





Baixando este utilitário em qualquer pasta do servidor, você deve navegar até ele pelo command (CMD):

E executá-lo.

Ele irá trazer a informação da seguinte forma:
c:\fcinfo
There are 2 adapters:
com.emulex-LP1015-HP-0: PortWWN: 10:00:00:00:12:13:23:6a
com.emulex-LP1015-HP-1: PortWWN: 10:00:00:00:12:13:23:6b

Pronto aqui está os WWNs do servidor.

Abraços e até a próxima.

quarta-feira, 12 de fevereiro de 2014

LINUX - Bash history com data e hora macarda!



Boa noite pessoal, tudo bem?

Em muitas empresas, escolas ou mesmo em casa, temos uma difícil tarefa de compartilhar um computador, um notebook, um tablet, enfim, temos hoje em dia que aprender a compartilhar praticamente tudo. (Espaço no ônibus, trem e metrô nem estou considerando ok? rs)...

Brincadeiras à parte, uma rotina muito comum em ambiente de informática é termos a administração de servidores e serviços/aplicações compartilhadas e isso não é muitas das vezes fácil.

Quando temos um ambiente ok, funcionando corretamente e não tendo impacto em nada, ótimo todos estamos felizes.
Agora imagina quando acontece algum problema?
Seja ele um load alto, um espaço em disco que acabou do nada, uma parametrização que fez minha aplicação ficar estranha e por aí vai.

Bem, de quem é a culpa? Quando foi que isso começou? Que comando executaram que fez isso??

Bom aqui mora o problema, pois vem a passagem de bastão do:
- Ahhhhhh foi você!!!
- Não, só pode ter sido o cara da aplicação!!!! Ele que ativa os debugs e acaba com tudo.
- Nada disso. Deve ter sido aquela empresa de tunning no ambiente que pediu a senha de root.

E isso vai se prolonga até resolver o problema com todo mundo colocando a mão no servidor, até acontecer tudo novamente e virar um ciclo.

Lembrando que em servidores o legal e correto é termos usuários específicos para cada rotina, cada usuário ou grupo de trabalho, permissões apropriadas, etc. Temos um recurso muito legal no bash que é a opção de colocarmos data e hora para saber quando um comando foi executado. Isso ajuda muito, pois ao bater o olho em um comando podemos saber e filtrar o estrago que ele fez e ter um tempo menos de problema no servidor e talvez internamente.

Vamos lá:

Edite o .bashrc:
vim $HOME/.bashrc

Adicionar as seguintes linhas:
export HISTTIMEFORMAT= %h/%d - %H:%M:%S

Feito isso, com o comando history podemos ter uma saída do tipo:
11 Sep/08 – 12:26:13 grep error /var/log/messages

Hummmm legal, mas se eu precisar exportar esta lista de sequências e o cara ficou digitando várias vezes o mesmo comando e eu preciso da evidência de apenas um?

Basta adicionar a linha:
export HISTCONTROL=ignoreboth

Mas ainda não "tá"legal ... Preciso de um histórico maior. Tem como?

Sim tem.

export HISTSIZE=1000

Espero que essa dica ajude na auditoria de vocês quando necessário.

Abraços! 

SAN - Timeout ssh brocade

Fala ae pessoal, tudo bem?
Espero que sim.

Hoje dando sequência numa dica rápida e objetiva, vou mostrar como alterar o paramêtro de timeout SSH em switches FC Brocade.

É realmente desagrádavel quando você precisar fazer alguma ativação, configuração ou mesmo análise e precisa deixar vários terminais abertos, ou sessões das mais diversas abertas e quando você precisa voltar em uma que ficou lá um tempo esperando e fechou.

Bem recentemente passei isso com um switch Brocade.

Então vamos lá, esta mudança pode ser feita on-line e sem gerar nenhum impacto.

Logar no switch via SSH ou telnet como root:

ssh root@switch01

switch01:root> timeout 90 
IDLE Timeout Changed to 90 minutes The modified IDLE Timeout will be in effect after NEXT login
switch01:root> 

Neste exemplo eu alterei para 90 minutos, mas você pode colocar um valor ainda maior.

Deixar sem um timeout, pode ser uma falha de segurança muito grande. 

Fica a dica!

Abraços.

sábado, 8 de fevereiro de 2014

LINUX - Quando um servidor foi instalado?

Bom dia pessoal.

Um tempo atrás um analista me perguntou como ele fazia para descobrir quando um servidor foi instalado.

Bem esta pergunta saiu de um problema um tanto quanto estranho.
O dono do servidor em questão afirmava que o servidor era Windows, porém como ele nunca mais precisou administrar o servidor e este ficou parado supostamente ninguém havia feito nada com ele.
Quando o dono do servidor decidiu colocá-lo novamente para funcionar e não estava mais conseguindo acesso, solicitou a verificação para este analista.
Ao colocar uma console no servidor eis que um terminal linux apareceu.

O dono do servidor deveria ter ficado era feliz :D

Mas como ele estava garantindo que não havia alterado nada no servidor o analista também dizendo que eles não haviam instalado nada no servidor, levantou-se uma questão:

- Quando este servidor foi instalado?

Segue um comando para você fazer este tipo de auditoria em servidores com Linux:

sudo dumpe2fs /dev/sda1 | grep 'Filesystem create'



















Com isso foi possível enviar ao dono do servidor e quem sabe fazer ele lembrar se nesta data ele mesmo ou alguém pode ter alterado alguma coisa.

Abraço e até a próxima!

STORAGE - EMC VMAX Family

Pessoal, bom dia.

Tudo bem?

O assunto de hoje é bem rápido e objetivo, mas que para mim no passado gerou uma certa dor de cabeça.
No parque em que eu administro temos equipamentos de storage EMC da linha VMAX e VMAXe.
Pois bem, o VMAX funcionando corretamente, com várias recursos ativos, porém por enquanto não tendo capacidade de crescimento, adquirimos a linha VMAXe.
Começamos então a fazer todas as novas ativações no VMAXe. Com o passar de algumas implantações começamos a ter algumas reclamações a nível de performance, sendo elas como lentidão, erros de I/O em ambiente virtual, latência, dentre outros.
Fazendo uma análise de performance e suspeitando do equipamento que não estava nem com metade dos clientes do outro VMAX, identificamos que as portas FA do equipamento estavam com processamento muito alto e que realmente estávamos tendo contenção de recursos no VMAXe.

Bem depois de abrirmos chamado na EMC para análise interna do VMAXe, e de ver que precisaríamos mudar parte da forma que o mesmo foi implementado, recebemos um comparativo de processamento do da família VMAX, o qual quero compartilhar com vocês.


Com este comparativo, podemos escolher o melhor equipamento quando tivermos a necessidade de comprar inclusive para confrontar o que nos está sendo oferecido pelo time de vendas.

Estou pensando em uma linha de posts referente a implantação do VMAX inclusive algumas coisas que foram importantes mudar para conseguir melhorar a performance do uso do storage como um todo e algumas práticas a serem seguidas.

Abraços!
Até a próxima.

sexta-feira, 7 de fevereiro de 2014

Windows - Disk part/Gerenciador de discos

Pessoal, boa noite.

Espero que esteja tudo bem com vocês.

A dica de hoje é referente a um problema que encontrei ao fazer um expand de LUN no EMC VNX5300 e ele não habilitar no gerenciador de discos do Windows 2008 a opção de extend do disco para o Sistema Operacional.

Bem, pensando que interface gráfica é sempre cheia de problemas e que muitas vezes ela deveria fazer exatamente o que se faz na linha de comando, nem sempre isso é uma verdade e funcionar.

Neste caso, segue o procedimento que funcionou e efetuou o extend do disco no SO:

Abrir o prompt de comando:

- diskpart;
- list volumes;
- select (nome do volume);
- extend

Colocando apenas extend ele irá pegar todo o espaço disponível.

Fica a dica.

Abs

quinta-feira, 6 de fevereiro de 2014

APPLE - Itunes - Problema com Toques

Pessoal, boa noite.

Tudo beleza?

Recentemente estava pensando em mudar o toque do meu Iphone, porém não estava querendo os toques padrões que vem nele.
Bem a solução era encontrar alguma música e fazer aquele trabalho de edição e sincronizar com os toques do Itunes/Iphone (trabalho esse que na minha opinião a Apple deveria repensar).

Bem encontrei a música, fiz a edição e para minha surpresa … Não estava conseguindo copiar para o Itunes na opção toques.
Achei que pudesse ser problema do Itunes, ou do procedimento que fiz errado na hora de editar a música, enfim, fucei de todas as formara e nada.

Procurei por atualizações do Itunes pensando ser algum problema com a versão, porém o meu Itunes já esta na versão mais atual: 11.1.4.
Mac os X 10.9.1.

Eu tenho uma biblioteca extensa no meu Itunes, contendo vários alguns, capas, grupos etc e antes de pensar em remover o Itunes e instalar novamente, vamos ao que resolveu o problema sem esse trabalho.

O problema na verdade foi que de tanta coisa (penso eu) na biblioteca o Itunes se perdeu e não tinha mais ponto de referencia do que era o que. Com os passos abaixo e com um aperto no coração (pois delatei minha biblioteca) o problema foi solucionado.

Selecione todos os itens de sua biblioteca (command+a) e deleite tudo, isso mesmo, delete tudo rsrsrs.

Clique em Itunes -> Preferências … -> Geral.
Chegando aqui nesta opção vocês escolhe tudo o que deseja visualizar/mostras no Itunes. Desmarque a opção Toques e feche o Itunes por inteiro.

Abra novamente o Itunes e vá em  Itunes -> Preferências … -> Geral e marque novamente Toques.
Feito isso é só arrastar a música que você deseja utilizar como toque que ele vai sincronizar.


Este comportamento aconteceu apenas no Itunes do Mac os, no Windows não tive este problema. Mas vou tentar fazer uma simulação do problema e se acontecer a mesma coisa eu posto se a mesma solução do Mac corrigi.


sexta-feira, 15 de março de 2013

Storage Area Network - SAN


 Muitas vezes estamos acostumados a vermos discos apresentados em nossos servidores, porém nem sempre lembramos de onde eles vem. Hoje em dia, muitos servidores e muitos ambientes que precisam de performance e redundância dos dados, é difícil encontramos aplicações rodando e sendo salvas em discos locais. Temos ainda outro cenário, servidores sendo inicializados com discos de boot que não são do servidor. Isso mesmo, discos que não são fisicamente do servidor. 
Mas de onde vem estes discos?
Pois bem eles vem de storage.

 Um storage nada mais é do que um hardware parrudo a nível de estrutura física, contendo controladoras, fontes de energia, portas ethernet, portas FC, portas ISCSI e o componente mais importante discos. É claro que aqui estou falando de uma forma simplificada dos componentes do storage.

 Vejam que pelos componentes que compõem um storage, ele é de certo modo uma estrutura semelhante a de um servidor. Isso mesmo, um servidor. Ele também tem um SO próprio seja ele customizado ou desenvolvido pela empresa que o comercializa. O software tem o mesmo propósito de um software de servidor como Windows ou Linux. Administrar todos os recursos da caixa e prover interfaces de administração para o administrador storage.

 Agora como um host consegue ter acesso a estes discos? Como configuro estes discos?

 Cada storage tem sua peculiaridade em termos de configuração de recursos, utilização dos discos (os storages podem conter discos SATA, FC e SSD), redundância e entrega dos recursos configurados para os hosts, que para o storage são chamados de initiators.

 Initiator nada mais é do que o seu servidor Windows, Linux, AIX, etc.

 Os initiators precisam de uma placa para ter comunicação com a estrutura SAN. É a tão famosa HBA: Host Bus Adapter.
 As HBAs podem ser dual ou single. Quando single, temos apenas um caminho de comunicação do initiator até a rede SAN, quando dual ele possui dois caminhos de comunicação com a SAN.
 Esta placa independente do SO, tem como objetivo receber e transmitir sinais infra-vermelho dos dados do inicio ao fim, ou seja, do initiator ao storage e do storage ao initiator.
 Não vou entrar em muitos detalhes neste assunto de como funciona uma placa HBA, isto pode ficar para um outro material.

 Agora que nosso servidor está com sua HBA instalada e com o seu driver funcionando corretamente (isso mesmo, as vezes é necessário a instalação de algum driver para a HBA funcionar corretamente no SO), vou mostrar um exemplo de conexão single primeiro e depois o dual.

 O initiator irá receber uma cabo de fibra que será conectados na HBA e a outra ponta será conectado em um switch de SAN. Aqui temos uma questão interessante que muitas pessoas de field acabam esquecendo ou não sabem verificar. Se a conexão do initiator com o switch está UP (com o sinal do switch verde).

 Se olharmos na HBA quando o host está ligado, veremos que nos dois canais de comunicação teremos um apagado e o outro com um lazer vermelho. Estes sinais são chamados de RX/TX.
RX/TX são os sinais de transmissão e recebimento, vamos dizer assim.
 Agora olhando na porta do switch que deve estar configurada como ˜no shut" para estar disponível a conexões, ela também ter um lado do conectar com sinal de lazer e o outro sem. Com isso é necessário que ao realizarmos a conexão, devemos faze-la de forma que a ponta que está no initiator com o sinal fique conectada no switch na entrada que não tem sinal e a porta do initiator que estiver sem sinal do lazer conectado a porta do switch que esteja com o sinal de lazer.
 Alguns fabricantes de fibra tentam ajudar e mandam as fibras com um suporte que mantêm as pontas firmes, porém as vezes temos que desmontá-lo para corrigir a conexão (eu mesmo já tive que fazer isso várias vezes).

 Agora o administrador storage pode conectar no storage e ver se a porta conectada está UP de fato, e assim ver o WWN.

WWN? Mas o que é WWN?

WWN é o World Wide Name da HBA. Uma identificação de 8 bytes (semelhante ao Mac Address de sua placa de rede).

Segue um exemplo:
21:00:00:e0:8b:05:05:04 ( este exemplo é de um WWN de uma HBA modelo Qlogic)

 Esta informação é de extrema importância em uma estrutura de SAN, pois esta é e sempre será a principal identificação do seu servidor no storage e na estrutura de SAN.
 Mas como eu vou guardar esta numeração e como vou lembrar de qual servidor ela pertence?
 Bem, cada switch de SAN proporciona que você crie um nome amigável e vincule ao initiator. É o chamado host.

 Então vamos supor que meu servidor web tenha o seguinte nome: srv_web01
 Ele pode ter o seguinte nome/host na minha SAN: srv_web01_HBA0

 Isso mesmo, eu posso mudar o nome original do servidor na SAN sem que isso tenha impacto no hostname original do servidor. Como eu falei, os switches SAN proporcionam que você configure um nome amigável ao WWN, mas nada impede que eu coloque qualquer nome.
 Nossa mas isso não pode gerar uma enorme confusão?
 Não só pode como causa e muita confusão.

 Agora como podemos ter sempre a certeza de que estamos falando do mesmo host/initiator seja para uma nova configuração ou para uma alteração?
 Vocês se lembram que eu falei que para SAN o mais importante é o WWN do servidor? Sempre que formos fazer uma alteração ou criação é necessário que tenhamos em mãos o WWN, somente com isso podemos diminuir uma falha de configuração.
 Porém eu recomendo fortemente que estes nomes sejam padronizados e que tentem ser seguidos. Mas como em um mundo corporativo estamos sempre limitados a irmos até certo ponto, nada impede que o administrador do SO altere o hostname do mesmo depois de toda uma configuração feita. Mas vejam, o WWN continua o mesmo.

 Posso mudar o WWN?
 Não. O WWN só será alterado quando mudar a placa HBA no servidor. Então logo podemos ver que o WWN sempre será único.

 Mas nada impede que o administrador de storage também mude o nome do host/initiator, certo? Isso mesmo.
 Mas vejam que uma alteração no hostname no nosso caso, administradores de storage, serve para nossa administração. 
 Ao adicionar no nome do host/initiator o final como HBA0, eu identifico na minha SAN a primeira WWN do servidor ou mesmo se está é a única que ele irá possuir.

 Então com uma única HBA, ainda é possível ter acesso ao storage por mais de um caminho?
 Sim. Isso é possível deste que toda nossa estrutura de SAN esteja ligada de forma redundante e nosso storage ligado nestas duas estruturas.

 Vou tentar exemplificar um cenário.

 Imagem que eu tenho um prédio e no meu CPD eu tenho ele como se fosse dividido em dois. Eu ficaria então com o lado A e com o lado B.
 Bem, no lado A eu tenho uma estrutura de elétrica independente da estrutura elétrica do lado B, pois vamos imaginar que eu tenha algum problema no circuito do lado A, eu ainda tenho o B para segurar o ambiente no ar ou vice-versa.

 Então eu preciso ter um switch SAN ligado do lado A e outro do lado B.
 Como meu initiator possui apenas uma fibra, eu só posso ligá-lo em um dos switches, seja ele do lado A ou do lado B.

 Porém meu storage tem uma fibra saindo de uma das SPs (storage processor) e indo para o switch A e outra fibra de outra SP indo para o switch B.

 Então aqui se minha configuração na parte lógica da SAN estiver correta, meu único caminho de falha passar a ser o host/initiator, a fibra ou o switch.
 Agora vamos imaginar que meu storage possui quatro SPs, como eu faço essa conexão de forma redundante com a SAN?

Exemplo:

SPa1
SPb1
SPa2
SPb2

 Meu storage também é dividido ao meio, fazendo assim como se o mesmo fosse duas caixas. Por isso eu tenho os nomes SPA e SPB.

 Minha conexão ficaria da seguinte forma:

SPa1 - switch do lado A
SPb1 - switch do lado A

SPa2 - switch do lado B
SPb2 - switch do lado B

 Note que se eu tiver um problema em alguma das SPs eu ainda tenho outra que irá atender as solicitações do host/initiator. Ou seja, neste modelo para que o ponto de falha seja o storage é necessário que o storage inteiro fique indisponível.

 Bom então recapitulando até aqui, nossa estrutura está ativa da seguinte forma:

- Meu initiator: srv_web01_HBA0 ligado no switch do lado A e por sua vez este switch do lado A recebe uma SP do lado A do storage e outra do lado B do storage;

 Ótimo, agora meu servidor já consegue enxergar o storage, certo? Ainda não.
 O que eu preciso fazer agora é configurar uma regra para que eu agrupe em um mesmo objeto o meu initiator e as SPs do storage disponíveis.
 Os switches sejam eles Brocades ou CISCO possuem uma interface web/java para que possamos fazer essas configurações. São os chamados Fabrics.
 Quando eu abri a interface do Fabric eu tenho acesso a praticamente todos os recursos de configuração da mesma forma que eu tenho pela linha de comando, claro, cada switch com sua peculiaridade de comandos.

 Então, para que meu initiator tenha comunição com o storage eu tenhos os seguintes passos:

Initiator do servidor: srv_web01_HBA0
Initiator do storage: stg_SPa1_SPb1

 Mas espera aí… O que compõe este initiator do storage, chamado de stg_SPa1_SPb1?
 Ele é composto pelos initiators do storage, que é nada mais nada menos do que as WWNs do storage.

 Veja que cada storage possui uma certa identificação que com o passar do tempo ao batermos o olho podemos identificar de qual storage se trata. Veja alguns exemplos:

00:50:76 IBM
00:17:38 IBM, formerly XIV.
00:A0:98 NetApp
00:05:1E Brocade Communications Systems, acquired in purchase of Rhapsody Networks
00:60:DF Brocade Communications Systems, formerly CNT Technologies Corporation
00:05:30 Cisco
00:05:73 Cisco
00:05:9b Cisco
00:E0:8B QLogic HBAs, original identifier space
00:1B:32 QLogic HBAs. new identifier space starting to be used in 2007
00:90:66 QLogic formerly Troika Networks
00:11:75 QLogic formerly PathScale, Inc
08:00:88 Brocade Communications Systems, formerly McDATA Corporation. WWIDs begin with 1000.080
00:60:B0 Hewlett-Packard - Integrity and HP9000 servers. WWIDs begin with 5006.0b0
00:11:0A Hewlett-Packard - ProLiant servers. Formerly Compaq. WWIDs begin with 5001.10a
00:01:FE Hewlett-Packard - EVA disk arrays. Formerly Digital Equipment Corporation. WWIDs begin with 5000.1fe1 or 6000.1fe1
00:17:A4 Hewlett-Packard - MSL tape libraries. Formerly Global Data Services. WWIDs begin with 200x.0017.a4
00:60:48 EMC Corporation, for Symmetrix
00:60:16 EMC Corporation, for CLARiiON/VNX
00:10:86 ATTO Technology
00:23:29 DDRdrive LLC, for DDRdrive X1
00:00:C9 Emulex
00:14:EE Western Digital

 Então vamos supor que este initiator stg_SPa1_SPb1 venha de um storage EMC Clarrion:
00:60:16:00:00:00:00:01
00:60:16:00:00:00:00:02

 É claro que no meu exemplo os últimos octetos eu iventei a fim de ilustrar como ficaria o WWN completo.

 Agora eu tenho dois objetos identificados para saber quem é meu servidor e quem é meu storage. Mas eles ainda não se comunicam.
 Eu preciso criar um zoning. Um zoning é um objeto que será composto pelos WWNs que eu quero que tenha comunição.

Nome do meu zoning: srv_web01_HBA0_stg_SPa1_SPb1

Composto por quem?

srv_web01_HBA0
stg_SPa1_SPb1

 Agora é necessário que eu habilite essa configuração e por fim salve para que caso o meu switch reboot ele não perca essa configuração.
 Feito isso e tendo o retorno de que a configuração foi ativada e salva com sucesso, efetivamente meu initiator enxerga meu storage e meu storage enxerga meu initiator. Esse enxergar é ter condições de se comunicar e propagar informações entre ambos.

 Agora eu preciso falar para meu storage quem é este initiator pois ele irá ler o initiator como sendo apenas o WWN.
 Aqui também cada storage tem sua forma de configuração para isso, que não serão abordados aqui.     Mas é de certo modo o processo é semelhante ao que fizemos com o initiator na SAN.

srv_web01:21:00:00:e0:8b:05:05:04 

 Que bom, agora depois de tudo isso posso começar a usar os discos do storage!!! Opa!!! Ainda não.

 Imagine a bagunça e o problema que seria para todo mundo se todo host conectado ao storage quisesse sair usando todos os discos ou mesmo assim, que cada host tentasse usar o mesmo disco?

 Cada storage tem um jeito de configurar essa "política" de utilização dos discos, bem como os discos são dispostos para utilização.

 Eu tenho que criar um objeto para agrupar os discos e o initiator para assim, apenas este host enxergar os discos adicionados dentro deste mesmo storage group. Então veja que seu storage group deve ser composto por initiator mais discos.

 Agora para que meu initiator possa ver os discos no SO eu preciso fazer um rescan na minha HBA e por fim realizar a formatação do(s) disco(s).

 No Windows eu posso ir no gerenciador de discos e fazer um rescan. Caso ele não reconheça, podemos baixar um aplicativo de cada fornecedor da HBA para fazer o rescan, mesmo se ele não reconhecer os discos com este procedimento, basta um reboot no servidor.

 O mesmo vale para o linux e outros SOs derivados dele ou do Unix, lembrando que eu posso forçar este rescan sem necessidade de reboot. (Em outra matéria eu mostro um pouco mais de rescan de discos).

 Agora é só executar um fdisk para podermos ver o disco apresentado. Mas espera um minuto, por que eu estou exergando dois discos?
 Cuidado, estes "dois" discos são na verdade o mesmo disco, porém com mais de uma caminho para acesso. Neste caso o que eu preciso ter instalado e configurado em meu servidor é um gerenciador de multipath como o MPIO no Windows ou o multipathd do Linux.

 Então feito isso, eu irei enxergar via fdisk um único disco, mas que na verdade tem redundância de acesso.

 Agora imaginem uma estrutura onde meu servidor possui duas HBAs (HBA dual)?
 Todo processo será exatamente o mesmo, mudando apenas que eu terei que ligar uma HBA no switch lado A e a outra no switch lado B.

 Na hora de fazer meu zoning (objeto que contem os initiators/host e wwns do storage) eu preciso fazer uma para o lado A e o outro para o lado B.

Vamos lá então:

srv_web01_HBA0 (primeira WWN ligada no switch lado A);
srv_web01_HBA1 (segued WWN ligada no switch lado B);

SPa1 - ligada no switch lado A
SPb1 - ligada no switch lado A

SPa2 - ligada no switch lado B
SPb2 - ligada no switch lado B

Zoning para o lado A:
srv_web01_HBA0_SPa1_SPb1

Zoning para o lado B:
srv_web01_HBA1_SPa2_SPb2

 Agora olha que légal, eu terri quatro canais de comunicação pois vou utilizar 4 SPs do storage.
 Então agora no meu SO sem o multipath configurado eu enxergaria 4 caminhos para o mesmo disco.

 Vejam que aqui eu tentei explicar bem superficialmente um pouco da estrutura e de como as partes se comunicam para vocês poderem entender um pouco mais de como funciona esta estrutura, que as vezes parece simples, mas que na maioria das vezes é complicada ainda mais quando temos problemas e precisamos fazer um troubleshooting.

 Eu vou tentar ao longo de algumas matérias que tenho em mente de explicar alguns pontos um pouco mais específicos, mas é claro para isso também preciso preparar melhor um conteúdo e alguns desenhos para ajudar.

Segue algumas fontes consultadas:

Até a próxima.


SNIA - Brasil

Boa noite Srs.
Espero que todos estejam bem.
Faz muito tempo que não escrevo nada e é sempre bom poder voltar a fazer isso e compartilhar com todos o que aprendemos e o que estamos aprendendo.
Esta dica foge um pouco a camada de Sistemas Operacionais, porém é um assunto hoje que faz parte de todas as áreas, seja ela banco de dados, Windows, Linux, Vmware, etc. Storage.
Prometo que mais pra frente vou fazer um conteúdo bom sobre este assunto e que tenha na verdade um pouco mais de conceito do que especificamente como manuzear os recursos de um determinado storage.
Esta semana estou fazendo um curso na Symantec e meu professor é nada mais nada menos do que Alexandre Borges, colunista da revista Linux Magazine e instrutor de diversas outras áreas de tecnologia. Segue o blog para quem quiser conhecer mais sobre este excelente profissional: http://alexandreborgesbrazil.wordpress.com/?ref=spelling
Hoje sabemos como é difícil encontrar material que fale de storage e muitas vezes quando encontramos fala apenas de uma tecnologia específica ou um hardware específico e não de toda parte teórica que vale para qualquer storage.
A dica de hoje fica por conta de uma novidade que está chegando ao Brasil.
O SNIA ( Storage Networking Indrustry Association ).
Site no Brasil: http://snia.org.br/
O SNIA nada mais é do que uma associação formada por fabricantes, revendedores e usuários finais com intuito de promover as informações relacionadas a armazenamento e tecnologia. Lembrando que o SNIA tem sede em muitos outros países como Canadá, Estados Unidos, Índia dentre outros.
Ao que promete o site, logo teremos opções de cursos sobre Storage.
Vale a pena esperar e acompanhar o site. E claro, por que não participar?!
Hoje temos deficiência de profissionais nesta área, seja pela falta de informação, seja pelos cursos caros, mas que com o SNIA podemos ter uma realidade um pouco diferente a curto prazo.
Espero que todos tenham gostado desta dica.
Um abraço à todos.
João

segunda-feira, 1 de janeiro de 2001

Política de Conteúdo

Política de privacidade

Este blog Marinho TI tem como objetivo publicar conteúdo relacionado a tecnologia, informática, rotinas do dia-a-dia de um Sys Admin, dentre outros no mundo de TI.
São experiências vividas no correr dos dias em ambientes críticos e em problemas já encarados que podem ser útil para pessoas que possam vir a ter os mesmos problemas.
Caso algum texto ou mesmo alguma imagem infrinja o copyright, por favor, entre em contato que iremos providenciar o mais rápido possível a remoção dela do site. 
Quanto ao conteúdo o mesmo parte de muitas fontes de pesquisa inclusive de execuções do dia-a-dia, sendo que se algum item precisar de alguma referência faremos questão de mencionar e adicionar o link. Mas caso este também infrinja o copyright entrando em contato e provando a autenticidade iremos remover o mais breve possível.

O intuito deste blog não é atrapalhar muito menos criar problemas, mas sim ajudar num mundo onde cada vez mais crescemos e encontramos problemas.