É vital para qualquer analista ter um conhecimento intermediário na área de infra-estrutura. Não importa se você apenas desenvolve aplicativos, mais cedo ou mais tarde alguém vai te perguntar qual a melhor build de RAID para suportar seu aplicativo, portanto, para não passar vergonha nessa hora, vamos entender do que se trata.
RAID, é um acronimo para Redundant Array of Independent Drives ou, traduzindo, Vetor Redundante de Discos Independentes. Basicamente é uma forma de se ter segurança e performance a um baixo custo.
O principio da utilização é simples: Dois ou mais discos são utilizados para salvar a mesma informação e, dependendo da necessidade, a segurança e/ou a performance serão melhoradas. Se você precisar de segurança, então é necessário pelo menos dois discos para salvar o mesmo dados em ambos os discos, dessa forma, se um apresentar falha, os dados serão lidos apartir do outro disco, lembrando que isto não previne perdas por falhas elétricas ou sistêmicas. Mas se seu servidor precisa de performance, então metade dos dados serão salvos em um disco e o restante no outro, diminuindo assim o tempo de I/O.
A forma como você monta os discos no seu servidor determina o nivel de RAID (RAID 0, RAID 1, RAID 10, etc...).
É possível fazer a combinação dessas tecnologias, mas quanto maior o nível de segurança e performance, maior o investimento necessário em discos.
Além dos discos, é necessário uma placa controladora RAID, como esta abaixo:
Esta placa é responsável por gerenciar toda a tecnologia RAID, desde a segmentação dos discos até ações como DESFRAGMENTAÇÃO.
Abaixo segue a descrição das construções RAIDs mais utilizadas:
RAID 0:
Também conhecido como RAID Striping, é a implementação onde a informação é dividida em segmentos consecutivos (Strip) e salva nos discos. Neste RAID há um ganho de performance de até 50%, pois a carga é distribuida entre os dicos. Mas também há uma desvantagem, não há confiabilidade, pois caso um dos discos venha a falhar, a informação é perdida.
RAID 1:
Neste modo de RAID a segurança dos dados é visado, pois a mesma informação é gravada em ambos os discos, sendo assim, caso um dos discos venha a falhar, a informação não será perdida. Em contra partida, é necessário um investimento maior na compra dos discos e também há uma perda de performance, pois a informação é grava duas vezes, uma em cada disco.
RAID 5:
É uma alternativa ao RAID 1, mas visando a performance do RAID 0, porém a um custo menor que o RAID 10. A informação é segmentada e distribuida entre todos os discos deste vetor, mas juntamente com a informação, um dado de paridade é salvo. Dado de pariedade é uma espécie de CheckSum e é utilizado para recuperar a informação do seu respectivo segmento, por isso, o dado de pariedade deve ser salvo em um segmento separado. Se um dos discos falhar, a informação contida neste será necessáriamente um segmento do dado salvo, que poderá ser recuperado através do dado de pariedade, ou o próprio dado de pariedade, não sendo necessário a restauração do segmento, pois nenhum dos segmentos pertinentes a este dado de pariedade foi salvo no mesmo disco.
Neste nível de RAID, a leitura é bastante rápida e segura, porém, devido a utilização do dado de paridade, há uma perda de performance na escrita.
RAID 10:
É a utilização dos níveis RAID 1 e RAID 0 em conjunto, visando obter a segurança do RAID 1 e a velocidade do RAID 0. É necessário no mínimo quatro discos e também há tolerância contra falhas de até metade dos discos, desde que não seja um disco e seu respectivo espelho.
Bem pessal, agora vocês sabem o que é RAID e entendem quais são os níveis mais utilizados. Assim como toda analise de capacidade, ou capacity plan, é necessário conhecer a previsão de carga para o servidor e, a partir daí, escolher o melhor nível de RAID, respeitando o orçamento disponível e a segurança desejada.
Se alguém ficou com algum dúvida com relação ao assunto abordado neste artigo ou quiser contribuir com alguma informação, basta comentar.
Abs,
Afonso Lage.
Nenhum comentário:
Postar um comentário