Existem algumas vantagens para o RAID de hardware, que pode ou não valer o custo das placas:
- É preciso ter cuidado ao configurar o RAID de software para garantir que o sistema seja inicializado de ambas as unidades e funcione da mesma maneira se a principal falhar. É fácil esquecer de colocar um MBR em funcionamento na unidade secundária no início, e existe a possibilidade de uma partição de inicialização não-RAID ficar fora de sincronia entre as duas unidades se você não for cuidadoso. As placas RAID de hardware são muito mais fáceis de fazer isso, de modo que seu sistema sempre funcionará se houver uma falha.
- Quando os drives falham, eles podem fazer todo o sistema enlouquecer no processo, se eles estão vomitando lixo. Sua placa-mãe provavelmente não foi testada para saber como ela funciona nessa situação. Os controladores RAID de hardware tendem a agir de forma mais adequada para evitar o problema e ignorar o que está fazendo. Mais de uma vez eu tive uma falha na unidade em uma instalação de RAID de software Linux remover todo o sistema até que ele foi removido - sem perda de dados, mas o servidor teve que ir para baixo um pouco até que eu pudesse descobrir qual era o ruim 1. Dica: sempre anote todos os números de série da unidade depois de configurar a matriz, para que seja mais fácil descobrir qual deles você perdeu quando parar de funcionar.
- A substituição de uma unidade com falha em um sistema de RAID de hardware geralmente será suficiente para iniciar a reconstrução, enquanto você precisará adicionar a nova unidade no RAID de software do Linux. Em geral, é mais fácil obter RAID de hardware, a curva de aprendizado é mais fácil. Pode-se argumentar que as soluções RAID de software são mais poderosas como resultado de sua complexidade, às vezes as pessoas só querem substituir o disco ruim e seguir em frente.
- Se você tiver um aplicativo que chame o fsync para forçar a saída de dados para as unidades, isso pode ser acelerado por uma placa RAID de hardware usando o cache de maneira que você não possa fazer qualquer outra maneira. A gravação é entregue ao cache alimentado por bateria, o aplicativo é movido e, mesmo se houver perda de energia, a gravação continuará segura (dentro dos limites de duração da bateria). Normalmente, os bancos de dados são o aplicativo principal que faz isso, pode acontecer de enviar dados por e-mail ou log também. Ser capaz de armazenar em cache gravações como essas pode acelerar drasticamente o desempenho, tanto interrompendo a espera pelo fsync quanto reordenando as gravações para que haja menos necessidade de pesquisa no disco físico. Mas se você não tiver um aplicativo que exija, esse tipo de coisa não é valioso. O sistema operacional armazenará em cache as gravações e as armazenará em spool de forma a reduzir as gravações também se você não as forçar, e a maioria dos aplicativos não depende dessas gravações que chegam ao disco em todos os casos - você acaba perdendo a última pouco de dados e seguir em frente.
A principal desvantagem do RAID por hardware, além do custo, é que você pode acabar na situação em que tirar uma unidade do servidor não lhe dará uma que você possa usar em outro servidor que não tenha o mesmo RAID cartão. Há uma discussão completa sobre esse problema em outra resposta aqui.
Quanto aos fornecedores, os cartões RAID da 3ware têm o melhor suporte ao Linux, apenas certifique-se de que o programa tw_cli que eles fornecem é compatível com o seu sistema. Eu nunca tive um problema em versões / hardware mainstream do Linux, mas é algo para checar. As placas da Areca são um pouco mais rápidas, mas seu software de gerenciamento é uma droga, você precisa obter um dos modelos em que a interface de gerenciamento é fornecida através de uma conexão de rede antes que seja útil.
Discos de tamanhos diferentes não serão problema em RAID de hardware ou software, desde que você tenha o cuidado de usar o tamanho da menor unidade em todos os lugares. Você pode querer reduzir um pouco o tamanho para que melhore as chances de uma substituição de tamanho similar de ser utilizável.