Conceitos de Storage para IT Pros 1 –Tipos de RAID e IOPS

Em uma série de palestras que ministrei do ano passado (TechEd 2011, SQLPass #127, MCT Summit e universidades), abordei o assunto sobre a escolha do melhor meio de armazenamento e os tipos de RAID disponiveis, com as vantagens e desvantagens de cada um.

Ainda é um assunto muito novo para IT Pros por conta de não ser abordado em cursos de faculdade, apenas em treinamentos técnicos de certificação.

Neste primeiro artigo irei abordar os tipos de RAID e o que são IOPS. Em um próximo artigo comentarei sobre tipos de controladora e arquiteturas disponives (Fibre Channel, HBA, SMB e iSCSI).

Parte 1 – Tipos de RAID

RAID é o acronimo de Redundant Array of Independent Disk ou “Agrupamento redundante de discos independentes”, o que indica o uso de diversos discos para criar uma estrutura de alta disponibilidade.

Os tipos de RAID podem ser simplificados pelo uso de 4 tipos principais, sendo:

RAID Funcionamento e Nº de discos Vantagens Desvantagens
0 – Stripped sem paridade A partir de 2 discos, as informações são gravadas em ambos os discos de forma independentes, ou seja, metade de um arquivo em cada disco Alta performance
Baixo custo
Total espaço disponivel
Sem redundância, qualquer disco que perder os outros não tem como recriar os dados perdidos, uma vez que as informações estão em todos os discos
1 – Espelhamento (Mirror) A partir de 2 discos, sempre em pares. Os dados são gravados em ambos os discos integralmente Alta performance, na leitura utiliza os dois discos
Alta redundância
Apenas metade da soma dos discos fica disponivel
Alto custo por conta do espaço “perdido”
5 – Stripped com paridade A partir de 3 discos. A informação é gravada similar ao RAID 0, porem ele utiliza um algoritmo que a informação é gravada em um disco a mais para reconstrução de qualquer disco com erro Boa performance
Boa redundância
Pouca perde de espaço útil
Perde-se sempre o equivalente a um disco
Em caso de perda de mais de um disco não há como reconstruir
6 – Stripped com paridade A partir de 3 discos. A informação é gravada similar ao RAID 5, porem com 2 discos de paridade Boa performance
Boa redundância
Menor perda de espaço que o RAID 1
Perde-se sempre o equivalente a dois disco
Em caso de perda de mais de dois disco não há como reconstruir
10 – Espelhamento de RAID 0 A partir de 4 discos, onde cada dois discos formam um RAID 0, sendo o segundo cópia do primeiro. É um misto de RAID 0 com RAID 1, porem no nivel do conjunto e não do disco Alta performance
Alta redundância
Perda de metade dos discos disponiveis
Alto custo por conta da perda de espaço útil
50 e 60 – Mirror de paridade RAID 5 e 6 com os discos de paridade espelhados Ótima redundância
Boa redundância
Perda de mais um disco alem dos que já eram paridade
Performance média

O mais usado hoje é o RAID 5/10, já que eles tem boa performance e redundância, como mostra o gráfico abaixo:

image

Abaixo um gráfico de itens gerais e comparação entre os tipos de RAID 5/6/10/50:

image

Observação: Os dados acima foram colhidos no docuemnto “Choosing a Member RAID Policy” que é baseado na arquitetura do Dell Equallogic e não é necessário se cadastrar: http://www.dellstorage.com/WorkArea/DownloadAsset.aspx?id=1066

Parte 2 - O que são IOPS?

É o número de operações por segundo que um disco individual consegue chegar. Por exemplo, um disco SAS de 10K consegue em média 140 IOPS.

Esta velocidade é padrão na industria com variações entre modelos, mas podemos ter uma base do que é aceitável e o fabricante do disco poderá lhe informar este número.

Porem, note que a diferença é muito grande, principalmente levando em conta os novos discos SSD. Por exemplo, o disco X25-E da Intel (Veja o pdf com as caracteristicas em http://download.intel.com/design/flash/nand/extreme/extreme-sata-ssd-datasheet.pdf) chega a números 30 vezes maiores que os discos SAS e SATA.

image

Porque o IOPS é tão importante?

Esta pergunta é óbvia, mas a explicação pode não ser tão simples. Acontece que na maioria dos casos temos a tendencia de minimizar a questão dizendo que é “performance” ou “percepção do usuário” mas na verdade pode impactar diretamente no funcionando de um aplicativo, em alguns casos até inviabilizando.

Por exemplo, um ambiente Exchange 2003 com 2 mil caixas de correio precisa de 1,5 mil IOPS e este número não é fácil de alcançar. O SQL Server para um banco de dados do SharePoint precisa de 5 mil IOPS para funcionar.

Como calcular o IOPS?

Multiplique o total de discos pelo tipo de RAID e conseguirá o seu número. Segue alguns exemplos:

image

O RAID 1, RAID 10 ou RAID 0 irá lhe proporcional o maior numero de IOPS possivel, já o RAID 5 o calculo leva em conta 1 disco a menos e no RAID 50 2 discos a menos para as paridades.

Como conseguir o maior IOPS possivel com maior capacidade?

Temos tres formas de fazer isso:

  1. Utilize discos de alta performance, como os SAS de 15K ou o SSD, porem são caros e no caso do SSD de tamanhos de apenas 32/50/64/100GB
  2. Utilize o tipo de RAID apropriado para a performance e não visando o tamanho desejado como muitos hoje fazem, o que muitas vezes implica em utilizar RAID 10 para ter a performance total ao invés de RAID 50, perderiamos em capacidade mas ganhamos em performance
  3. Compre um storage que trabalha com as LUNs virtuais, ou seja, ele aloca os dados nos discos conforme a necessidade deste dado e não necessita dizer o tipo de RAID

Referencias interessantes

Como calcular IOPS para Exchange 2003 http://technet.microsoft.com/en-us/library/bb125019(EXCHG.65).aspx

Como calcular IOPS para Exchange 2010 http://technet.microsoft.com/en-us/library/ee832791.aspx

Como calcular IOPS para o SQL do SharePoint 2010 http://technet.microsoft.com/en-us/library/cc298801.aspx

Utilitário para medir IOPS para o SQL Server (SQLIO) http://www.microsoft.com/download/en/details.aspx?displaylang=br&id=20163

image

Para mais informações sobre o Windows Server 2012, acesse: http://clk.atdmt.com/MBL/go/425205719/direct/01/

Analisando Performance com o Server Performance Advisor 3.0

Neste post irei abordar o uso do SPA, como instalá-lo e quais as informações que retornam para auxiliar o administrador de sistemas.

Esta ferramenta recentemente atualizada para Windows 2012 esta disponivel em http://msdn.microsoft.com/en-us/library/windows/hardware/hh367834.aspx#Download_the_SPA_3_software

Instalação

Ao executar o aplicativo será criada a pasta com os binários e arquivos de configuração do SPA, como a imagem abaixo, onde deverá ser executado o SPAConsole.exe para efetuar a instalação:

13-03-2013 13-30-51

A instalação não cria qualquer banco de dados ou instala SQL Express ou outro, mas apenas instala os binários necessários a execução do aplicativo. Toda a configuração é realizada na primeira execução, ao criar os projetos.

Criando Projetos de Análise

Ao abrir o SPA crie um projeto, o que define o banco de dados para guardar os dados de servidores análisados. Abaixo a tela de configuração do projeto:

13-03-2013 13-31-15

13-03-2013 13-31-46

Na sequencia podemos escolher quais os pacotes que serão analisados, podendo ser Hyper-V, IIS e Windows Server Core:

13-03-2013 13-32-22

Na sequencia definimos os servidores que serão analisados, sendo que pode-se acrescentar ou remover servidores posteriormente, apenas editando o projeto. Note que para cada servidor será criada uma pasta que compartilhada onde o SPA irá gravar dados e utilizar para as métricas:

13-03-2013 13-34-41

13-03-2013 13-35-19

Executando as Análises

O proximo passo é executar as análises, escolhendo os pacotes de monitoração desejados:

13-03-2013 13-35-00

13-03-2013 13-35-08

Durante a execução das análises será mostrado uma tela de acompanhamento, que pode demorar um longo tempo, tanto em virtude do numero de servidores como também a quantidade de dados em cada um dos pacotes de análise selecionado:

13-03-2013 13-35-23

Terminada a execução, vemos um dashboard com os principais dados alertados em cada um dos pacotes de análise desejado:

13-03-2013 13-53-05

Analisando os Dados Coletados

Como pode ser visto na imagem acima, ao lado de cada servidor e pacote analisado é possivel visualizar o relatório individual. São relatórios muito bem apresentáveis e com detalhamento de cada item que foi analisado.

Por exemplo, abaixo vemos o relatório do CoreOS onde temos as notificações de alertas, detalhes da configuração, dados de CPU, memória, disco e rede. Note que as guias de dados contem os detalhes da análise, enquanto a guia de notificações resume os problemas encontrados com sugestões de como resolver o gargalo encontrado:

13-03-2013 13-53-15

Alem da guia de notificações, em cada uma das guias de dados analisados é possivel comparar com análises anteriores no botão Actions >> como o exemplo abaixo onde estariamos comparando relatórios de rede anteriores:

13-03-2013 13-54-34

Outra forma de visualização de dados é utilizando gráficos de performance. Para isso clique no botão ao lado de cada pacote de análise e escolha o periodo que será utilizado para o desenho dos gráficos:

13-03-2013 13-54-54

Muito similar aos dashboards do System Center Operations Manager, o SPA monta gráficos permitindo escolher entre todos os contadores analisados e sumarizados:

13-03-2013 13-55-11

Após selecionar o periodo e os contadores, o gráfico pode ser visualizado como sumário geral, por dia da semana ou horário do dia em cada uma das 3 guias.

13-03-2013 13-56-33

Conclusão

Com este aplicativo simples e funcional é possivel que administradores tenham uma visão detalhada da performance dos servidores, comparar com análises anteriores após fazer as correções e atualizações, e por fim apresentar dados de forma consistente quando necessário justificar investimentos na área de TI.

Windows Server 2012: NIC Team (Time de Placas)

O NIC Team é um recurso já existente hoje para servidores com placas Broadcom por meio do software BACS (http://bit.ly/N8B8Ql) e Intel pelo software PROSET (http://intel.ly/N6JqId, selecione o modelo da placa) mas com algumas restrições, por exemplo, as placas tem que ser do mesmo fabricante e de preferência do mesmo modelo.

A grande vantagem do NIC Team é a possibilidade de agrupar placas de rede para trabalharem como uma única interface de rede, como mostrado abaixo no BACS. Note que duas placas de rede de 1 GB foram agrupadas para criar uma única interface (“Rede”) que no Windows será detectado como uma interface de 2 GB:

clip_image001

Alem disso, uma prática comum é criar o time e colocar os cabos de rede em switches alternados, assim quando um switch não estiver funcionando ou fornecendo conexão a comunicação do servidor não terá perda de pacotes. Ou seja, estaríamos criando uma redundância para conexão a rede no servidor.

 

A Novidade

O que foi acrescentado no Windows 2012 é o recurso de time de placas diretamente pelo sistema operacional, o que permitirá trabalhar com placas de múltiplos fabricantes, modelos e velocidades como uma única interface lógica para o Windows.

Uma importante observação é que não é necessário usar Hyper-V ou outro software para utilizar e tirar proveito de times de placas, por exemplo, um banco de dados ou um servidor de arquivos tiraria grande proveito deste recurso.

 

Configurando NIC Team

Para configurar um time de placas de rede, vá ao Server Manager e ao clicar no servidor terá a opção Configure NIC Team como mostrado na imagem abaixo:

clip_image002

Na sequencia podemos ver as placas de rede, times já existentes e nas tarefas a opção de criar novos times:

clip_image003

A criação de um time é simples, bastando indicar as placas e o modo de comunicação. Porem, é importante conhecer configurações do switch desejado, pois ele deve ser configurado para LACP (agregação) ou Trunking para “entender” que duas placas do servidor estarão em portas diferentes com o mesmo endereço MAC e endereçamento IP.

Caso esteja utilizando um switch que não tem gerenciamento para criação da agregação (LACP) ou o trunking, escolha o modo “Switch Independent” onde não é necessário fazer configurações especificas no switch core de sua rede. Neste caso o Windows irá direcionar o fluxo a uma das placas e automaticamente fará a troca de placas quando a principal estiver indisponível.

Para isso escolha o modo apropriado na tela abaixo após configurar os switches:

image

Um documento detalhado de planejamento e configuração está disponível pela Microsoft em http://www.microsoft.com/en-us/download/details.aspx?id=30160 e o ajudará muito a entender melhor e utilizar este recurso apropriadamente.

 

Utilizando o NIC Team no Hyper-V

Para utilizar o NIC Team no Hyper-V basta escolher a placa “Microsoft Network Adapter Multiplexor Driver”:

image

Referencias:

Windows 2012 – NIC Team
http://technet.microsoft.com/en-us/library/hh831648

 

 

image

Para mais informações sobre o Windows Server 2012, acesse: http://clk.atdmt.com/MBL/go/425205719/direct/01/