RAID, número de discos e IOPS

1

Estou tentando entender o número ideal de discos necessários em uma configuração RAID para um aplicativo que foi monitorado, no horário de pico, para ter as seguintes IOPS.

O subsistema de disco é dividido em dados em RAID 10, tempdb em RAID 1 e logs em RAID1 ou RAID10.

Estou usando o cálculo padrão para calcular o número de discos necessários

                         Reads fraction + (Write Penalty * Write Fraction)

Número de discos necessários = ------------------------------------------ -----------                                   IOPS de unidade única

Funciona da seguinte maneira com uma unidade IOPS de 120:

Disco de dados

RAID 10

IOPS 240 98% escreve 2% de leituras

Discos mínimos necessários considerando 240 IOPS = 4 Discos ideais necessários assumindo 500 IOPS = 8

TempDB

RAID 1 ou RAID 10

IOPS 1.4 49% escreve 51% lê Discos mínimos assumindo 1,4 IOPS = 2 Discos ideais necessários assumindo 3 IOPS = 4

Arquivos de log

RAID 1

IOPS 600 100% escreve 0% de leituras

Discos mínimos assumindo 600 IOPS = 10 Ideal supondo 1200 IOPS = 20

Minha pergunta é que isso parece correto de acordo com os cálculos e como as pessoas implementam esse tipo de configuração no mundo real. O requisito de disco para logs parece enorme e, em geral, a implementação ideal exigiria 32 discos. Alguém realmente compraria um servidor com 32 discos ou algum tipo de configuração SAN seria usado?

Agradecemos antecipadamente por qualquer ajuda que você possa dar e desculpe pelas perguntas do n00b. Quaisquer correções em minhas suposições são muito apreciadas.

    
por user63655 31.03.2011 / 03:12

2 respostas

2

Deixe-me começar por dizer que os números de IOPS brutos nos discos podem ser enganadores. Os números para IOPS são buscas aleatórias; Se a sua carga é de 98%, então existe uma chance muito pequena de não ser um pouco sequencial, e seus discos de log definitivamente serão menos visíveis. As gravações sequenciais serão mais rápidas do que os números de busca aleatória levarão você a acreditar.

Dito isto: não tenho certeza sobre o conjunto do meio, é apenas 1,4 IOPS vs 3 IOPS? Isso é muito baixa carga e não exigiria mais disco; isso é um erro de digitação?

A razão pela qual os números ficaram tão brutais no último conjunto é a carga total de gravação. Em uma configuração RAID 1, cada gravação deve acontecer, na íntegra, em cada disco. Você não pode, teoricamente, alcançar uma velocidade de gravação mais alta do que um único disco em uma configuração RAID 1, portanto, uma carga de gravação aleatória de IOPS em 600 no disco IOPS de 120 afunilará no armazenamento. Uma leitura será incrivelmente rápida, mas uma gravação é a velocidade de disco único. Se um único disco não escrever rápido o suficiente, você precisará de um modo RAID que distribua as gravações.

Agora, no que diz respeito à implementação:

  1. Use o RAID 10 e até o RAID 0 para cargas pesadas de gravação; é aí que você realmente verá ganhos em seus cálculos.
  2. Os discos de estado sólido têm grandes vantagens se sua carga for realmente pesada.
  3. Dependendo do seu hardware, algo baseado em paridade como o RAID 5 (ou 5 + 0?) pode ser garantido. Não exagere com o RAID 10 quando não precisar!
por 31.03.2011 / 03:54
0

Respondendo à sua última pergunta, se você estiver pensando em comprar mais de 30 discos, provavelmente será melhor a longo prazo se comprar uma matriz de disco externa. Ele não precisa estar cheio no fib-channel ou iSCSI SAN, um gabinete SAS simples entregará os eixos e um pedaço de cache em uma invasão de hardware.

Os números parecem corretos, mas se você estiver usando drives SAS de 15K RPM, espera que eles recebam cerca de 150 IOPS cada.

Uma coisa sobre a qual você não falou é a capacidade, então presumo que o banco de dados seja relativamente pequeno? Nesse caso, vale a pena olhar para os SSDs em vez do disco normal. Cada SSD pode substituir 10 ou mais discos.

No Reino Unido, um SSD de 250 GB de Crucial custará cerca de £ 320 + impostos. NewEgg está vendendo a mesma unidade por US $ 500. Cole 4 ou 6 desses em um array RAID10 dentro de um servidor normal, e esqueça a necessidade de dividir seu tempdb, arquivos de log e dados.

    
por 31.03.2011 / 10:49