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/

Videos do TechEd 2011 disponiveis para assistir online ou baixar

Depois de voltar de férias e ficar no aeroporto de Denver por 8 horas esperando um voo para Seattle (quem disse que isso só acontece no Brasil), li um email informando que algumas palestras do TechEd 2011 foram filmadas integralmente e que uma das 3 que apresentei é uma delas (http://www.marcelosincic.com.br/blog/post/Slides-e-Material-das-Minhas-Apresentacoes-no-Microsoft-TechEd-2011.aspx)

Foi escolhida a filmagem da palestra “Utilizando de forma eficiente seu storage para ter o melhor IOPS” e está disponivel no endereço http://www.microsoft.com/pt-br/showcase/details.aspx?uuid=7aa99d21-4f5f-4b65-9606-aa22c14cb682

Alem dessa que apresentei com o Marcio Maisonete outras palestras foram gravadas e podem ser assistidas online.

A lista publicada pelo Fabio Hara contem os videos disponiveis: http://www.fabiohara.com.br/2012/02/17/veja-algumas-palestras-do-teched-brasil-2011/

O que é e como calcular IOPS (Exchange, SQL, SharePoint, etc)?

Esta pergunta é frequente, principalmente porque como consultor de soluções da Dell que é um fabricante de hardware temos que saber.

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

O que são as LUNs virtuais?

Não vamos entrar no ponto técnico já que este é bem mais complexo, porem podemos entender o que é esta nova tecnologia sem nos tornarmos especialistas em storage.

Usando os storages da Dell como exemplo, o MD3200i trabalha com LUNs da forma normal que conhecemos. Você indica que os discos X a Y formam o RAID 0, de Z a W o RAID 5 e assim por diante. Ou seja, mapeamos diretamente os discos e ficamos dependentes da capacidade de IO individual de cada um.

Já na série EqualLogic podemos definir o tamanho da LUN sem indicar os discos e o próprio storage irá alocar automaticamente os dados mais acessados nos discos mais rápidos (!!!!!!!!!!). Você deve estar achando que é brincadeira ou algo do tipo “conceito”, mas não é!!

Os novos storages vendidos pela Dell, EMC, IBM e outros são inteligentes e permitem misturar os discos. Por exemplo, posso colocar discos SSD na gaveta do storage e mais uma gaveta adicional com 24 discos de 15K SAS e não me preocupar se a LUN que criei está nos discos mais performáticos, quem fará este trabalho é o storage.

E, o mais interessante, quando o storage “perceber” que determinado dado (LUN) é mais acessado que outro ele irá realocar para os discos mais rápidos e fazer o shift dos dados sem intervenção e queda de performance, já que trabalha em background e automático !!!!

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

Referencia do EqualLogic S6000 http://www.equallogic.com/products/default.aspx?id=9511