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:
Abaixo um gráfico de itens gerais e comparação entre os tipos de RAID 5/6/10/50:
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.
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:
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:
- 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
- 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
- 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
Para mais informações sobre o Windows Server 2012, acesse: http://clk.atdmt.com/MBL/go/425205719/direct/01/