Pular para o conteúdo principal

Neste post, eu ofereço conselhos sobre como configurar seu ftScalableTM Storage Array (doravante abreviado para ftScalable) para otimizar seu desempenho. Ao compreender sua carga de trabalho e padrões de E/S e seguir algumas diretrizes simples, você pode configurar seu ftScalable para atingir seus requisitos de disponibilidade e desempenho.

Terminologia

O termo "disco lógico" refere-se a um disco lógico VOS, que é composto de um ou mais discos de membros. O VOS risca os dados em todos os discos membros. Antes da introdução do ftScalable, cada disco membro era um par de unidades de disco físico. Com o advento do ftScalable, cada disco membro está agora associado a um único LUN. Um LUN ou "unidade lógica", é uma subdivisão de um disco virtual ("VDISK") no ftScalable.

Um VDISK é uma coleção de 1 ou mais unidades de disco físico, organizadas em um disco virtual usando um tipo específico de RAID.

"Modo degradado" refere-se à operação do VDISK depois que um de seus discos rígidos falhou, mas antes que a operação de recuperação seja iniciada.

O "modo de recuperação" refere-se ao funcionamento do VDISK enquanto ele está sendo reconstruído após uma falha do acionamento.

Tipos RAID

Embora existam muitos tipos de RAID suportados pelo ftScalable, descreverei aqui apenas os mais utilizados.

RAID-0: Um VDISK RAID-0 risca os dados em todas as unidades de disco físico do conjunto. Ele fornece os mais altos graus de desempenho de E/S, mas NÃO oferece tolerância a falhas. A perda de qualquer unidade de disco físico causará a perda total de dados. Além disso, o ftScalable não pode automaticamente tirar unidades físicas marginais de serviço e reconstruir proativamente os dados usando uma unidade de reposição. Este tipo de RAID nunca deve ser usado em ambientes de missão crítica.

RAID-1: Um RAID-1 VDISK é um simples par de unidades de disco físico espelhado. Ele oferece bom desempenho de leitura e gravação e pode sobreviver à perda de um único drive. As leituras podem ser feitas por qualquer unidade física, enquanto as gravações devem ser feitas em ambas as unidades. A recuperação de um drive que falhou é fácil, exigindo apenas um re-espelhamento do parceiro sobrevivente. Normalmente, há um impacto mínimo no desempenho enquanto em funcionamento em modo degradado ou de recuperação.

RAID-10: Um RAID-10 VDISK é composto de múltiplos conjuntos de discos RAID-1, permitindo que os dados sejam listrados em todos os pares RAID-1. Um VDISK RAID-10 oferece alto desempenho e a capacidade de potencialmente sobreviver a múltiplas falhas físicas do drive sem perder dados. O impacto no desempenho enquanto em funcionamento em modo degradado ou de recuperação é semelhante ao de um VDISK RAID-1.

RAID-5/RAID-6: Estes tipos de RAID utilizam algoritmos baseados em paridade e striping para oferecer alta disponibilidade a um custo reduzido em comparação com o espelhamento. Um RAID-5 VDISK usa o equivalente a uma capacidade de disco físico para paridade, enquanto um RAID-6 usa o equivalente a duas unidades. Um RAID-5 VDISK pode sobreviver à falha de um único drive de disco sem perda de dados, enquanto um RAID-6 VDISK pode sobreviver a duas falhas do drive. Ambos os tipos oferecem excelente desempenho de leitura, mas o desempenho de gravação é impactado pela necessidade de gravar não apenas o bloco de dados, mas também pelas operações de leitura / modificação / reescrita necessárias para o(s) bloco(s) de paridade. A falha do acionamento (modo degradado) tem um impacto médio na produção, enquanto o modo de recuperação tem um impacto alto na produção.

Escolhendo um tipo RAID

Cada tipo de RAID tem benefícios e desvantagens específicas. Ao compreendê-los, você pode selecionar o tipo de RAID mais adequado ao seu ambiente.

Para dados e aplicações onde a velocidade de escrita não é importante, ou onde alcançar a máxima velocidade de acesso não é importante, o RAID-5 é uma boa escolha. Em troca de aceitar um menor rendimento de gravação e maior latência, é possível usar menos discos para uma determinada capacidade, mas ainda assim atingir um alto grau de tolerância a falhas. Entretanto, você também deve considerar o impacto de rodar com um conjunto RAID degradado (ou seja, um drive de disco com falha) em sua aplicação. O desempenho de E/S e a latência nos tipos RAID baseados em paridade sofrerão mais durante o modo degradado e o modo de recuperação, em comparação com os tipos RAID baseados em espelho.

Para dados e aplicações cujo desempenho depende da otimização da velocidade e latência das gravações, ou que realizam mais gravações do que leituras, ou que não devem encontrar um desempenho degradado no caso de uma falha da unidade, os tipos RAID baseados em espelho (RAID-1 ou RAID-10) oferecem uma solução melhor. Ambos os tipos de RAID eliminam a penalidade de leitura antes da gravação do RAID-5 ou RAID-6, portanto, a escrita de dados é uma operação simples. O RAID-10 é geralmente uma escolha melhor do que o RAID-1 porque permite riscar os dados em várias unidades físicas, o que pode aumentar significativamente o desempenho geral de leitura e gravação. (Mas favor ler a seção intitulada "VOS Multi-Member Logical Disks versus ftScalable RAID-10 VDISKs", abaixo).

Se você não pode decidir se deseja selecionar um tipo RAID baseado em paridade ou em espelho, então a escolha mais segura é usar um dos tipos de RAID baseado em espelho.

Atribuição de LUNs ao VDISKS

Para revisão, um ou mais discos físicos compreendem um VDISK. Um VDISK pode ser dividido em um ou mais LUNs. Cada LUN é atribuído a um disco específico de um membro do VOS. Um ou mais discos membros são combinados em um único disco lógico VOS.

Aconselho vivamente que você atribua um único LUN a um VDISK. Enquanto o ftScalable suporta esculpir um VDISK em vários LUNs, o uso desta opção pode introduzir penalidades significativas de desempenho que afetam tanto o rendimento de E/S quanto a latência.

Há várias razões para estas penalidades, mas a básica é fácil de entender. Cada vez que o ftScalable tem que acessar um dos LUNs em uma configuração de LUN múltiplo por VDISK, ele tem que procurar os cabeçotes de disco. Quanto mais LUNs forem compostos por um VDISK, maior será o movimento da cabeça. Quanto maior o movimento da cabeça, maiores as latências. Lembre-se, todas as E/S devem eventualmente ser manipuladas pelos drives físicos que compõem o VDISK; a memória cache do array não pode substituir esta E/S física.

A Stratus executou benchmarks demonstrando que o rendimento agregado de E/S de um VDISK de 4-LUN é cerca da metade do rendimento do mesmo VDISK configurado como um único LUN, enquanto a latência pode ser mais de quatro vezes maior!

Atribuição de discos lógicos VOS a LUNs

A abordagem mais simples é atribuir um disco lógico VOS a cada LUN. Se você precisar de um disco lógico VOS maior que um único LUN, ou se quiser aproveitar os benefícios de desempenho do striping, então você pode criar um disco lógico VOS com vários membros, onde cada disco membro é um único LUN.

VOS discos lógicos com vários membros versus VDISKs RAID-10 ftScalable

Você pode implementar striping no nível VOS (criando um disco lógico VOS com vários membros), ou no nível ftScalable (criando um RAID-10 VDISK), ou mesmo uma combinação de ambos os métodos (digamos, combinando vários LUNs, cada um deles um RAID-5 VDISK, em um único disco lógico VOS com vários membros). Se você desejar usar striping, recomendo que use RAID-1 ou RAID-5 para o VDISKS, com 1 LUN por VDISK, e combine estes LUNs em discos lógicos VOS com vários membros. O VOS usa uma fila separada de pedidos de discos para cada LUN e, assim, maximizando o número de LUNs, maximiza a produção e minimiza a latência.

Atribuição de arquivos a discos lógicos VOS

Quando possível, atribuir arquivos acessados aleatoriamente e arquivos acessados sequencialmente a discos lógicos separados. Misturar os dois tipos de métodos de acesso a arquivos no mesmo disco lógico aumenta o pior tempo possível necessário para acessar os arquivos de acesso aleatório e reduz ao máximo o rendimento possível dos arquivos seqüenciais.

Sumário

Você pode obter acesso a disco confiável, de alto rendimento e baixa latência usando estas diretrizes simples.

Se você acha que tem um bom caso para usar uma configuração diferente da que recomendamos aqui, entre em contato com a equipe de sua conta. Estamos sempre disponíveis para revisar as configurações ftScalable existentes e oferecer orientação para situações específicas do cliente.

Espero que esta informação se revele útil. Se você tiver perguntas ou comentários, por favor, responda a este post.

Agradecimentos

Joe Sanzio prestou uma assistência inestimável durante a redação deste posto. Todos os erros que restam são meus.

© 2024 Stratus Technologies.