Deve trocar e misturar RAID-1?

9

Eu tenho uma caixa com uma pequena matriz RAID-1 sendo usada para trocar espaço. Eu só fiz isso desde que estava configurando espelhos para todas as outras partições do sistema.

Hoje eu li essa pergunta e isso me levou a pensar: "está havendo uma troca no RAID-1 ideal / aconselhável?".

LRE
fonte

Respostas:

17

Você (provavelmente) não deve trocar o RAID 1.

Às vezes, é menos importante a troca em um RAID 1, mas é bom, geralmente útil e geralmente necessário . Raramente existe algum motivo para deliberadamente colocar sua troca em outro lugar, se você já estiver usando um RAID 1.

Trocar no RAID 1 pode ter melhor desempenho

Pode-se esperar que o SWAP no RAID 1 tenha um desempenho melhor do que uma única partição de troca fora do RAID, mas não tão bem quanto dois swaps configurados com a mesma prioridade.

Às vezes, gravar em um RAID 1 é mais lento que gravar em um único disco, pois todos os dados devem ser gravados nos dois discos. Muitas vezes, não é realmente mais lento - geralmente a desaceleração será insignificante. Se você tiver um RAID 1 de dois discos no mesmo controlador IDE, será mais lento. Porém, ao acessar um disco não diminui o acesso ao outro, a gravação no RAID 1 não será significativamente mais lenta.

A leitura de um RAID 1 é quase sempre mais rápida do que a leitura de um único disco, pois quando um disco é ocupado por uma leitura, mais dados podem ser lidos no outro disco. A leitura de um RAID 1 composto por duas unidades geralmente é quase duas vezes mais rápida que a leitura de uma única unidade.

Não conheço nenhum teste para comparar duas partições de troca separadas com uma única partição de troca em um RAID 1 (ou qualquer outro RAID). Não há razão para pensar que uma única partição de troca teria um desempenho tão bom ou melhor que uma troca em um RAID 1. A situação é mais complicada se você tiver duas trocas em discos separados:

  • Se os swaps recebem prioridades diferentes /etc/fstab, páginas separadas são trocadas por eles; a mesma página não é trocada para as duas ao mesmo tempo. Eu esperaria que dois swaps fossem mais rápidos para acessar dados trocados não relacionados simultaneamente, mas mais lentos para acessar uma única página.

  • Se os swaps tiverem a mesma prioridade /etc/fstab, os dados (mesmo de uma única página) serão distribuídos . Isso é semelhante ao RAID 0 e provavelmente terá um desempenho ainda melhor do que colocar a troca em um RAID 1.

    Teoricamente, se você tiver um RAID 1 de hardware, a distribuição de software pode ser menos eficiente, mas, a menos que você tenha aplicativos incomuns em que a leitura do swap é esmagadoramente mais comum do que gravá-lo, eu esperaria que um swap distribuído de software não RAID superasse a partição de swap em um RAID 1.

    (Como o kernel pode distribuir dados trocados entre várias partições de troca, não há razão para configurar um RAID 0 de software apenas para troca.)

Consulte esta seção do artigo da Wikipediadia "Níveis padrão de RAID" , para obter mais informações sobre o desempenho do RAID 1.

Agradecemos a gertvdijk por fornecer informações extremamente importantes sobre swaps listrados.

Você pode realmente precisar de sua troca no RAID 1

A necessidade ou não de sua troca em um RAID 1 depende do motivo pelo qual você precisa de um RAID 1 em primeiro lugar. Os dados no swap são geralmente altamente voláteis e perdê-los geralmente não representa uma perda significativa de ativos. Contudo.:

  1. Um benefício do RAID (exceto o RAID 0) é que, se uma unidade falhar, o computador continuará funcionando (um pouco mais lento). Se você tiver programas em execução que trocaram de páginas para o disco (o que quase sempre ocorre se a troca estiver ativada), a unidade que contém uma partição de troca (independentemente de ser a única partição de troca) falha e ela não possui um redundante backup, seu sistema imediatamente parará de funcionar corretamente (e provavelmente será totalmente inutilizável até a reinicialização, dependendo de como a troca estava sendo usada). Se você estiver usando a máquina como servidor de produção ou para qualquer outra tarefa importante, ocorrerá um tempo de inatividade .

    Se você puder tolerar a falha total de troca de um único evento adverso comumente encontrado (uma unidade falhar), você deve se perguntar por que está usando o RAID 1 . Você pode ter uma boa resposta ... e você não pode. O RAID (exceto RAID 0) protege contra falhas de disco, mas o RAID não é uma solução de backup . Se você alterar ou excluir um arquivo em um RAID ou um malware infectar um sistema em um RAID, as alterações serão feitas imediatamente em qualquer lugar - o RAID não permitirá que você se recupere disso.

    Se você precisa de um backup em vez de redundância e ainda não possui um backup altamente confiável e facilmente acessível, retire completamente uma das unidades do RAID e use-a para backups. (Obviamente, às vezes também é necessário ter um backup externo).

  2. Se você hibernar o computador (ou seja, suspender para o disco), o conteúdo da RAM será copiado para a partição swap . Portanto, você pode realmente perder dados perdendo sua partição de swap, se sua máquina for hibernada quando ocorrer uma falha no disco.

Eliah Kagan
fonte
Boa resposta, @Eliah. Minha motivação para o RAID-1 vem de ter sido mordida por falhas de disco no passado - meus backups me salvaram da perda de dados, mas eu ainda precisava colocar novos discos e reconstruir a máquina, o que leva tempo. Dessa forma, ainda posso ter uma configuração de trabalho em uma matriz degradada e colocar novos discos para reconstruir a matriz.
LRE 22/01
@LRE Seu RAID só funciona como um backup quando a causa da perda de dados é falha na unidade. Esse é um uso perfeitamente aceitável para RAID, mas verifique se você possui um backup separado para se proteger contra todas as outras causas de perda de dados, que também são comuns .
Eliah Kagan
"A troca no RAID 1 provavelmente terá um desempenho melhor" não é completamente verdadeira. Veja esta página wiki.kernel.org : "O próprio kernel pode distribuir a troca em vários dispositivos, se você lhes der a mesma prioridade no arquivo / etc / fstab." Colocar a troca em cima do seu RAID é uma questão de disponibilidade, até onde eu sei.
precisa saber é o seguinte
@gertvdijk Obrigado, editei para incorporar essas informações. Minha intenção em dizer que a troca no RAID 1 provavelmente terá um desempenho melhor é que provavelmente teria um desempenho melhor do que uma única partição de troca (não no RAID); Eu reduzi a reivindicação e adicionei detalhes também.
Eliah Kagan
@EliahKagan, sim eu entendo isso e eu tenho backups (e eles têm guardado minha pele no passado) - RAID-1 está lá para cumprimentar os backups
LRE
3

A seção Instalação avançada na documentação do Ubuntu Server descreve a instalação em uma matriz RAID 1 de software. Pelo que posso ver, eles também criam uma partição de swap no RAID, por isso é quase um layout "recomendado".

Do ponto de vista puramente teórico, no entanto, o uso do RAID 1 para partição de swap pode oferecer menos benefícios em comparação com partições "normais" - os dados na partição de swap são mais ou menos voláteis, portanto, é menos provável que você perca muitos dados em caso de uma falha no disco, embora um processo possa falhar ou o sistema possa reiniciar se a partição swap falhar repentinamente.

O uso do RAID-0 ou 2 partições não-RAID separadas pode (ou não) fazer mais sentido do ponto de vista do desempenho, se você estiver preocupado com o desempenho, poderá precisar fazer alguns testes comparativos.

Além disso, tudo isso pode afetar o desempenho apenas no caso de o seu sistema ser bastante limitado por RAM e a troca ser muito usada. Adicionar mais RAM e remover completamente o swap seria uma solução definitiva, do ponto de vista do desempenho e da confiabilidade :)

Sergey
fonte
Trocar para um RAID 1 realmente faz muito sentido .
Eliah Kagan