Linux software-RAID4 / RAID5 e uso da CPU

2

No caso de RAID4 ou RAID5, para cada faixa de bits de dados, um bit de paridade é armazenado. Por exemplo, se eu escrever 0 na unidade A e 1 na unidade B, então o bit de paridade 1 será armazenado na unidade C. Isso não é uma grande carga para a CPU no caso de software Linux-RAID se para cada bit de dados, uma paridade bit precisa ser calculado? Por exemplo, se eu escrever um arquivo de 1GB para a matriz RAID5, então 8000000000 cálculos XOR precisam ser executados pela CPU?

    
por Martin 11.03.2014 / 13:56

2 respostas

3

Como a TomTom disse, não é tão brutal quanto costumava ser; mas depois as unidades de disco ficaram maiores enquanto as CPUs estavam ficando mais rápidas.

É por isso que não é uma boa idéia fazer RAID-5 em software, a menos que você realmente não se importe com o desempenho. O RAID-5 em hardware, pelo menos, garante que exista um processador reservado cuja única tarefa é fazer esses cálculos de paridade; Além disso, o hardware muitas vezes tem coisas como NVRAM para evitar corrupção de matriz e a capacidade de otimizar os cálculos, por exemplo, sabendo que uma faixa inteira está sendo escrita e pulando o ( extremamente caro) ler-modificar -write ciclo em favor de um recálculo de paridade simples.

Mesmo com a aceleração de RAID por hardware, aplicativos que modificam partes muito pequenas de dados por vez - principalmente bancos de dados - podem ter um desempenho muito ruim no RAID-5 (e no RAID-6, que é ainda mais caro em termos de cálculo de paridade) . Para esse tipo de aplicação, basta colocar a mão no bolso, pegar os discos extras e fazer o RAID-1 + 0.

    
por 11.03.2014 / 14:31
2

Você quer dizer que um processador moderno com 6-8 núcleos é muitas vezes mais poderoso do que em uma placa RAID?

Hoje não, isso é 2013. CPU's pode lidar com muita coisa nos dias de hoje. Você terá problemas para usar o poder de um único núcleo, a menos que você execute um monte de SSDs para RAID.

    
por 11.03.2014 / 14:22