Dicas sobre como configurar o raid10 no * buntu

2

Gostaria de configurar uma matriz RAID 10 de software (4x2TB) para uma estação de trabalho usando uma nova instalação, mas estou encontrando recursos antigos não aplicáveis / conflitantes / on-line. Eu gostaria de receber conselhos da comunidade sobre a criação de uma matriz, pois parece haver uma infinidade de configurações possíveis.

Especificamente, estarei usando a estação de trabalho para análise de imagens (ou seja, tamanhos de arquivo típicos de várias centenas de MB-vários GB), portanto, se houver otimizações que possam ser feitas para tais propósitos, isso seria ótimo.

Felicidades

    
por Prophet60091 14.12.2012 / 14:54

3 respostas

1

Eu não lembro exatamente quais recursos eu segui ao configurar meu RAID no meu servidor, mas acho que este artigo foi o principal ponto de informação. Algumas coisas importantes:

  • Use mdadm e não dmraid.
  • Use /dev/disk/by-id/ caminhos para apontar para os discos, em vez de / dev / sda etc ... É mais fácil mapeá-los para os dispositivos físicos, caso você precise substituir um disco ou algo semelhante.
  • Seja paciente. No começo eu pensei que meu RAID estaria pronto após o tempo de configuração inicial de 5 horas. Então demorou mais um dia para se reconstruir e realmente estar pronto. (4x2TB)
  • Use um disco / partição / RAID separado para instalações do SO principal. É mais fácil gerenciar tudo se você mantiver o RAID de dados grandes separado do SO principal e de seus dados. Muito mais fácil recuperar um pequeno disco do sistema operacional do que reconstruir um grande array de vários terabytes, se algo correr mal no lado do sistema operacional.
por dobey 14.12.2012 / 15:08
1

Com o RAID10 em determinada situação, vejo apenas duas variáveis candidatas a otimização:

  • Tamanho do bloco

    Defina como algo maior que o padrão de 512 KiB para minimizar a sobrecarga para leituras / gravações lineares de arquivos grandes. Você deve experimentá-lo em uma pequena partição em sua máquina para ver o que oferece o melhor desempenho, por exemplo, 1MB, 2MB, 5MB, 10MB ...

  • Perto vs longe layout

    comparável ao RAID1 + 0 vs RAID0 + 1. Longe é um pouco mais rápido, pois o desempenho da leitura é mais parecido com o RAID0. No entanto, um layout Próximo é o padrão porque ele tem uma chance ligeiramente maior de sobreviver ao evento improvável de que todos os discos espelhados sejam quebrados (alguma probabilidade é matemática aqui). Alguma idéia mais visual dos diferentes está abaixo, felizmente roubada da documentação do mdadm do SLES :

    Perto parece

    sda1 sdb1 sdc1 sdd1
      0    0    1    1
      2    2    3    3
      4    4    5    5
    

    Longe parece

    sda1 sdb1 sdc1 sdd1
      0    1    2    3
      4    5    6    7       
      . . .
      3    0    1    2
      7    4    5    6
    

Atualize sobre a redundância distante versus a próxima da discussão nos comentários. Suponha que sda falhe:

       near
sda1 sdb1 sdc1 sdd1
  -    0    1    1
  -    2    3    3
  -    4    5    5

, então sdc ou sdd ainda podem falhar, enquanto em longe:

        far
sda1 sdb1 sdc1 sdd1
  -    1    2    3
  -    5    6    7       
  . . .
  -    0    1    2
  -    4    5    6

agora apenas sdc pode falhar, pois uma unidade sdb com falha torna o bloco 4 inacessível e uma unidade sdd com falha tornará o bloco 3 inacessível.

Conclusão: as chances de sobreviver a uma falha de 2 discos são maiores quando se usa um layout próximo. (alguém pode fazer as contas aqui por um número quantitativo?)

    
por gertvdijk 14.12.2012 / 15:08
-3

Pegar alguns hotspares com antecedência seria uma boa ideia. Também levando essas anotações em consideração.

Esquema de armazenamento recomendado para casa servidor? (LVM / JBOD / RAID 5 ...)

Veja a nota de rodapé [1] no link acima para ver o que acontece com o armazenamento barato quando você mais precisar.

Isso tudo é um ponto discutível, no entanto, até você definir o perfil de como o aplicativo de destino realmente usa o armazenamento. Você pode achar que o paralelismo é possível, então um bloco pode ser usado para ler os resultados e outro para escrevê-los. Isso poderia ser ainda mais abstraído por trás de um RAID0 (até que o HBA relata QUEUE_FULL) com os resultados salvos em backup por meio do rsync.

Depende realmente, dizer "Estou fazendo análise de imagem" sem definir a carga de trabalho ou o nível de serviço não é suficiente; Mesmo se você fez, esse nível de análise de desempenho é um trabalho real, eu sei que é algo que "eu" não faria no meu tempo livre. Minhas intenções são fazer com que você pense em seu aplicativo para criar suas próprias soluções. Os fusos são sempre a parte mais lenta do seu sistema, planeje de acordo.

Uma ideia, se você deseja fazer a abordagem multi-array, seria criar dois RAIDs1, em controladores separados e adicionar esses dispositivos MD a um LVM VG para gerenciamento. Claro que um RAID 10 é rápido, mas ainda é uma fila de armazenamento, agora você tem dois, e com controladores separados não há compartilhamento de fila HBA.

Notas de desempenho:

Lembre-se, SW RAID não é diferente de HW RAID, entenda como funciona ou quando falhar, você pode acabar correndo mais risco ao invés de dizer gastar suas energias criando uma estratégia de backup regular (rsync.net). Perdi a conta do número de usuários que perderam tudo porque não leram o manual e realmente testaram os modos de falha.

    
por ppetraki 14.12.2012 / 15:31