sexta-feira, 27 de março de 2015

Symmetrix VMAX - Part. 4 - Grupos para provisionamento de recursos

Boa noite galera.

 Hoje vamos para parte 4. Vamos falar sobre grupos de provisionamento (autoprovisioning groups).
 Estamos falando nada mais do que criarmos grupos para initiators (wwns dos hosts), para portas de front-end, para devices e tudo isso sendo agrupado pelo masking view.

 Isso é útil na questão de provisionamento, crescimento, administração, identificação, parametrização, enfim, é o que determina um cenário limpo de trabalho e mais preciso, limitando assim questões que as vezes podem levar o administrador ao erro.

 Esse grupos devem receber nomes "amigáveis" e que sirvam para identificar o propósito de existirem. Falo isso pois, podemos criar um nome para o grupo de initiators como servidor_de_banco e isso também para o storage group, ou masking. Embora nós sabemos de qual servidor é, na hora da administração teremos que ficar chegando o que temos atribuído a este nome e ver de qual objeto estamos falando.

 Particularmente, eu recomendo seguir da seguinte forma:

Initiators group:
 - IG_CLIENTE_SERVIDOR
 - IG_SERVIDOR

Storage group:
 - SG_CLIENTE_SERVIDOR(ES)
 - SG_SERVIDOR(ES)

Port group:
 - PG_AMBIENTE
 - PG_FAs

Masking view:
 - MV_CLIENTE_SERVIDOR
 - MV_SERVIDOR

Coloco como duas opções, uma contendo o nome do cliente e outra apenas do servidor pois podemos ter dois cenários, onde o uso do storage será compartilhado para mais de um cliente ou apenas para a organização.
 Claro que isso foi apenas uma recomendação pois assim, logo de cara já sabemos que se começa com IG é de initiator group, SG storage group e assim por diante.

O Desenho abaixo ilustra cada objeto e sua localização na solução:


Os nomes que podemos dar para cada objeto são case sensitive e tem um limite de 64 caracteres.

Mais algumas vantagens:

 - Initiators podem ser adicionados e removidos dinamicamente nos initiators group;
 - Porta de FA podem ser adicionadas também dinamicamente aos port groups ou removidas;
 - O mesmo vale para o storage group, onde Devices ou meta devices podem ser adicionados e/ou removidos;

 Para criarmos estes objetos devemos usar o comando syamccess.

 Uma tabela para consulta rápida:


- Symaccess controle:


- Symaccess visualização:


Storage groups:

 Contém devices, sendo que um mesmo device pode fazer parte de mais de um storage group (cuidado nesse ponto, pois caso seu ambiente não seja um cluster ou não esteja preparado para trabalho usando um mesmo disco e já sabendo que ele pode estar formatado e usado podemos ter problemas).
 Podemos ter um storage group pai e adicionar storage group filhos nele. Neste caso, ele herda os discos que estão apresentados para os filhos.
 Um storage group pai pode ter no máximo 32 storage group filhos.
 Por sua vez, um storage group filho só pode ter um storage group pai.
 O storage group pode conter devices ou outro storage group, mas não ambos.
 É o storage group que associamos à uma Fast policy, porém não podemos adicionar um storage group pai a uma fast, somente os filhos.
 Um masking view pode ser configurado para um storage group pai ou filho, porém não para ambos.
 E caso queira fazer limitação de I/O, deve ser feito no storage group.

 Como podemos ver acima, temos várias restrições quanto a alguns aspectos de uso de storage group, porém isso é mais em relação a segurança de uso do que por falta de "liberdade"para usá-lo.

 Exemplo de como criar um storage group:
 #symaccess -sid 093 create -name SG_SERV_BD -type storage create devs 0978, 0ABC

 Para adicionar devices a um storage group existente:
 #symaccess -sid 093 create -name SG_SERV_BD -type storage add devs 0ACD

Removendo devices:
 #symaccess -sid 093 -name SG_SERV_BD -type storage remove devs 0ACD (-unmap)
 O -unmap é opcional em relação se quisermos desmapear o disco das portas FA

Listando e mostrando o que temos em um storage group:
 #symaccess -sid 093 show SG_SERV_BD -type storage
 #symaccess -sid 093 list SG_SERV_BD -type storage

Criei o nome errado do storage group :( ... Calma tem como renomear:
 #symaccess -sid 093 rename -name SG_SERV_BD -new_name SG_SERV_WIN -type storage

Agora que corrigi o nome, preciso deletar :D
 #symaccess -sid 093 -name SG_SERV_WIN -type storage delete

Port groups

 Contém as portas de FA (fiber adapter) do VMAX, sendo que pelo menos duas portas devem ser adicionadas.
 Uma porta FA pode estar em mais de um port group.
 Portas podem conter flag de ACLX, necessária para quando usamos autoprovisioning.

Mas  como eu crio um port group?

Segue um comando de exemplo:

#symaccess -sid 093 create -name PG_01 -type port -dirport 7E:1, 8E:1

Para adicionar uma porta:
#symaccess -sid 093 -name PG_01 -type port -dirport 9E:1 add

Removendo:
#symaccess -sid 093 -name PG_01 -type port remove -dirport 9E:1 -unmap 

Para visualizar ou listar um port group:
#symaccess -sid 093 show PG_01 -type port
#symaccess -sid 093 list -type port

Deletando um port group:
#symaccess -sid 093 -name PG_01 -type port delete

Initiator group

 Contém os WWNs das HBAs dos hosts ou os ISCSI names.
 Pode conter no máximo 32 entradas.
 Um WWN só pode existir em um initiator group.
 Também podemos ter um cenário equivalente ao storage group. Podemos ter um Initiator group pai e dele termos initiator group filhos. Porém os WWNs devem ser adicionados nos initiators group filhos.

Criando um initiator group:
 #symaccess -sid 093 -type initiator -name IG_SRV01create -wwn wwndohost
 #symaccess -sid 093 -type initiator -name IG_SRV01 add -wwn wwndohost

Para remover um initiator do grupo:
#symaccess -sid 098 -name IG_SRV -type initiator -wwn wwndohost remove

Renomeando:
#symaccess -sid 098 rename -name IG_SRV -new_name IG_APP_WEB -type initiator

Deletando um grupo:
#symaccess -sid 098 -name IG_APP_WEB -type initiator delete

Agora, nada disso é de certa forma útil senão criarmos um masking view para amarra todos esses objetos.

Masking view

 Nele devemos colocar o initiator group, o port group, storage group e definir um nome. Nada mais do que isso.

Criando um masking view:
#symaccess -sid 098 create view -name MV_SRV02 -pg PG_01 -ig IG_APP_WEB -sg SG_SERV_APP_WEB

Para renomear um masking view:
#symaccess -sid 098 rename view -name MV_SRV02 -new_name MV_SRV_APP

Deletando um masking view:
#symaccess -sid 098 -name MV_SRV_APP delete view

Também podemos fazer o unmap neste momento:
#symaccess -sid 098 -name MV_SRV_APP delete view

Show do masking view:
#symaccess -sid 098 show view MV_SRV_APP

Também podemos fazer um backup ou um restore de uma masking view:
#symaccess -f sym.bak -sid 098 backup
#symaccess -f sym.bak -sid 098 retore

Pode parecer complexo tudo isso, pode parecer uma tarefa muito árdua fazer tudo isso. No entanto, VMAX é assim.
Um storage highend, necessita que o administrador saiba o que realmente está fazendo, como funciona, boas práticas, podem fazer reutilização de recurso de configurações diferentes.
Quem é adepto de scripts e consegue fazer isso (eu não tenho esse dom :D) pode facilitar muito as tarefas do dia-a-dia.

Bom, estou encerrando aqui a parte 4 e já iniciando a parte 5 para o quanto antes dar continuidade.

Espero que todos estejam gostando e vale lembrar que comentários sempre são bem vindos (mesmo críticas pessoal :D), dúvidas também, com isso posso ajudar no que for preciso e caso não saiba de bate pronto vou atrás da informação para tentar ajudar.

Abraços e boa noite!!!

Nenhum comentário:

Postar um comentário