Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RSS iMasters

[Resolvido] Oracle x RAID: quais são as melhores práticas?

Recommended Posts

O objetivo deste artigo é transmitir uma visão geral sobre a tecnologia de Redundância de Discos (RAID - Redundant Arrays of Inexpensive Disks), seus diferentes tipos de configuração e a sua utilização em banco de dados Oracle.

 

 

RAID

O RAID é um mecanismo de armazenamento configurado com vários discos, com o objetivo de otimizar desempenho e segurança de dados.

 

Um RAID pode ser composto por dois ou mais discos, dependendo da configuração desejada. Apesar de garantir segurança e redundância nos dados, um RAID não protege os discos contra erros de alimentação de energia ou falhas de operação.

 

 

RAID-0

Ele oferece apenas a distribuição (ou striping) de dados, que permite que um arquivo muito grande possa ser distribuído em vários discos, provendo, assim, um acesso concorrente (múltiplo) aos dados. Dessa forma, os controladores de disco podem trabalhar de forma paralela. O RAID-0 é o único RAID focado apenas em performance. Alguns vendors, por exemplo o EMC, não consideram o RAID-0 como um RAID confiável e não oferecem soluções baseadas neste RAID. Se algum disco do array (no qual estão distribuídos os arquivos do Oracle) venha a falhar, o banco de dados ficará indisponível (down).

 

 

47057.png

 

Vantagens:

 

  • Acesso rápido às informações (até 50% mais rápido);
  • Baixo custo para expansão.

Desvantagens:

 

  • Em caso de falha em algum disco do array, os dados estarão comprometidos;
  • Não usa paridade.

RAID-1

Nesta configuração, os dados são gravados em no mínimo dois discos independentes (par de discos) para proteção e redundância dos dados. O RAID-1 também é conhecido como "mirroring" ou "espelhamento". Nele, os dados são gravados simultaneamente nos discos do array. Durante os processos de leitura, o disco que estiver menos ocupado irá ser utilizado. Esta é a configuração mais segura de todos os RAIDs existentes, uma vez que todos os dados são duplicados - mas isso prejudica a sua performance.

 

 

47058.png

 

Vantagens:

 

  • Recuperação de bloco/dados corrompidos através do disco "espelho";
  • Segurança nos dados.

Desvantagens:

 

  • Custo elevado se comparado ao RAID 0;
  • Performance no tempo de escrita;
  • Não usa paridade.

RAID-0+1

O RAID 0 + 1 é uma combinação dos níveis 0 (striping) e 1 (mirroring), onde os dados são divididos entre os discos para melhorar o rendimento, mas também utilizam outros discos para duplicar as informações. Assim, é possível utilizar o bom rendimento do nível 0 com a redundância do nível 1. No entanto, são necessários pelo menos quatro discos para montar um RAID desse tipo. Tais características fazem do RAID 0 + 1 o mais rápido e seguro, porém o mais caro de ser implantado. No RAID-0+1, se um dos discos vier a falhar, o sistema vira um RAID-0.

 

Exemplo: se os dois discos que possuam a sequência A1, A3, A5 falharem ao mesmo tempo, haverá perda de dados. Se apenas uma das controladoras falhar, o sistema continua funcionando, mas sem outra tolerância a falha e sem o ganho de velocidade.

 

Outro benefício da combinação com RAID-1 é que o os dados são sempre retornados do disco com menos utilização. Isso gera um ganho de performance significativo comparado com arrays distribuídos (RAID-0), mas sem configuração de espelhamento. Quando o RADI-0 é combinado com o RAID-1, a segurança e a redundância aumentam, porém o custo também.

 

 

P.S.: o consumo/perda nesta configuração é de aproximadamente 50% do total de discos.

 

47059.png

 

Vantagens:

 

  • Segurança contra perda de dados;
  • Em caso de falhas, o array vira RAID-0.

Desvantagens:

 

  • Alto custo de expansão de hardware (Custo mínimo = 4N Discos);
  • Os drives devem ficar em sincronismo de velocidade para obter a máxima performance.

RAID-1+0

O RAID 1+0, ou 10, exige ao menos quatro discos rígidos. Cada par será espelhado, garantindo redundância, e os pares serão distribuídos, melhorando desempenho. Até metade dos discos pode falhar simultaneamente, sem colocar o array em discos - desde que não falhem os dois discos de um espelho qualquer (razão pela qual usam-se discos de lotes diferentes de cada ?lado? do espelho).

 

P.S.: o consumo/perda nesta configuração é de aproximadamente 50% do total de discos.

 

47060.png

 

Vantagens:

 

  • Segurança contra perda de dados;
  • Pode falhar um ou dois discos ao mesmo tempo.

Desvantagens:

 

  • Alto custo de expansão de hardware (custo mínimo = 2N);
  • Os discos devem ficar em sincronismo de velocidade para obter a máxima performance.

RAID-3

Nesta configuração, um único disco é dedicado a armazenar correções de erros e paridade, e os dados são espalhados através dos demais discos. O RAID-3 reduz significantemente a concorrência de I/O, comparado a uma solução de espelhamento via Software. Esta não é uma configuração recomendada para um ambiente OLTP, onde o número de transações é alta e o tempo de resposta é um fator crítico.

 

A configuração RAID-3 é ideal para um ambiente que tem como principal foco a leitura de dados (Ex: DW), onde é possível ter redundância de discos com performance em leitura, mas com custo de performance em gravações.

 

47061.png

 

Vantagens:

 

  • Leitura rápida;
  • Escrita rápida;
  • Possui controle de erros.

Desvantagem:

 

  • Montagem difícil via software.

RAID-3 e Oracle

A utilização do RAID é transparente para o Oracle. Todos os recursos de um RAID são gerenciados pelo sistema operacional ou hardware responsável pela configuração.

 

 

Para cada arquivo do Oracle, pode-se ter diferentes tipos de configuração de RAID. Datafiles e Archive Logs podem ser colocados em discos com configuração RAID, desde que sejam acessados aleatoriamente. O banco de dados é sensível a desempenho de leitura e gravação dos Redo Logs, que devem ser configurados em RAID-1, RAID-0+1, ou nenhum RAID, uma vez que os mesmos são acessados sequencialmente.

 

É importante lembrar que a opção de RAID-0+1 aumenta a sobrecarga de I/O pelo fato de acessar dois ou mais dispositivos físicos. O espelhamento dos Redo Logs de qualquer forma é altamente recomendado pela Oracle. Em termos de administração, configurar o RAID é muito mais simples do que utilizar técnicas de separação de arquivos do Oracle em discos diferentes sem o RAID.

 

 

Recomendações:

De uma forma geral, o RAID impacta mais as operações de gravação do que de leitura. Isso é mais perceptível quando é necessário calcular a paridade (RAID-3, RAID-5 etc...). Os Archive Logs e Redo Logs podem ser armazenados em discos configurados com RAID-1. Não se deve utilizar RAID-5. As Tempfiles (Tablespaces Temporárias) devem ser armazenadas também em RAID-1 e não em RAID-5, já que a performance de gravação em RAID-5 não é tão eficiente quanto em espelhamento comum (RAID-1).

 

Discos configurados para SWAP podem ser configurados com RAID sem impactar a performance do Oracle.

 

 

RAID-5

Em vez de utilizar o espelhamento dos discos, o RAID-5 utiliza paridade para cada operação de gravação. Os discos com paridade evitam o custo de duplicação de discos, utilizados no caso do RAID-1. Caso um disco falhe, a paridade é utilizada para reconstruir os dados sem perda total do sistema.

 

Tanto os dados como as informações de paridade são distribuídos através dos discos do array, reduzindo assim problemas de gargalo. A performance de leitura é otimizada, porém, para gravações existe um custo de I/O adicional, uma vez que a paridade tem que ser recalculada para gravar dados nos discos. Nesta configuração ainda, caso um disco venha a falhar, o tempo para reconstruir este disco através da paridade é muito alto, impactando a performance.

 

 

Para sistemas com alta dependência de leitura (DSS, DW, etc), usar o RAID-5 é uma boa opção sem impactar o tempo de acesso aos dados. De qualquer forma, se um disco falhar, o tempo de reconstrução através da paridade ainda será alto.

 

Inicialmente, o RAD-5 era considerado a melhor solução para a alta disponibilidade e performance. Gradualmente, esse conceito mudou, especialmente para sistemas OLTP, onde atualmente é recomendado a utilização de RAID-0+1.

 

47062.png

 

 

RAID-S

O RAID-S é uma implementação da EMC para RAID-5. Porém, ele difere do RAID-5 em dois aspectos principais:

 

 

  1. Distribui a paridade, mas não distribui os dados;
  2. Incorpora um ambiente de hardware assíncrono com um cache de gravação.

Esse mecanismo de cache é utilizado para diminuir a sobrecarga no cálculo da paridade que é feita pelo sistema, diminuindo assim o tempo de carga.

 

É importante ainda lembrar que no RAID-S a distribuição dos dados (striping) não é feita automaticamente e sim manualmente, através de um software terceiro.

 

47063.png

 

 

RAID-7

O RAID-7 também utiliza cache, controlado por um sistema operacional interno automaticamente, porém os dados são distribuídos (striping), mas a paridade não. Nesta configuração, a paridade é armazenada em um ou mais discos dedicados.

 

47064.png

 

 

RAID-2/RAID-4/RAID-6

Essas tecnologias também utilizam bit de paridade, porém atualmente utiliza-se mais a configuração com RAID-5, por ser mais eficiente.

 

 

RAID-50

É um arranjo híbrido que usa as técnicas de RAID com paridade em conjunção com a segmentação de dados. Um arranjo RAID-50 é essencialmente um arranjo com as informações segmentadas através de dois ou mais arranjos.

 

47065.png

 

Vantagens:

 

  • Alta taxa de transferência.

Desvantagens:

 

  • Alto custo de implementação e expansão de memória.

 

 

 

RAID-100

O RAID 100 basicamente é composto do RAID 10+0. Normalmente, ele é implementado utilizando uma combinação de software e hardware, ou seja, implementa-se o RAID 0, via software, sobre o RAID 10, via Hardware.

 

47066.png

 

 

Benefícios da utilização de RAID

Existem vantagens e desvantagens na utilização de RAID. Isso depende do objetivo e da configuração dos discos. De uma forma geral, o RAID-1 é mais útil para sistemas onde a redundância de discos é essencial e o espaço em disco não é um problema. Para bancos de dados com grandes datafiles e pouco espaço em disco, esse RAID é pouco usado. As escritas e as leituras não diferem tanto em tempo do que o normal.

 

Para todos as demais configurações de RAID, as escritas sempre tendem a ser mais lentas e as leituras sempre mais rápidas do que uso de filesystems normais. As escritas ficam mais lentas a medida que os bits de correção de Erros (ECC's) são calculados, quanto mais bits de correção, mais lento o processo de escrita.

 

RAID Tipo de RAID Control File Database File Redo Log File Archive Log File

 

 

 

 

 

0 Striping Não * OK * Não * Não * 1 Mirror (Espelhamento) OK OK Recomendado Recomendado 0+1 Striping+Mirroring OK Recomendado (1) OK

3 Striping com Paridade Estática OK Não (2) Não Não 5 Striping com Paridade Ratativa OK Não (2) Não Não* RAID-0 não previne contra falhas. É importante manter uma rotina confiável de backup.

 

(1) RAID-0+1 é recomendável para database files pois garante melhor performance em caso de falhas. Tem como desvantagem o custo.

 

(2) Quando ocorrem grandes operações de gravação.

 

Referências:

1. MOS Note: 30286.1

2. Visão Geral sobre RAID

 

 

 

http://imasters.com.br/artigo/24416/banco-de-dados/oracle-x-raid-quais-sao-as-melhores-praticas

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.