Onde a minha partição / swap deve viver ao usar o software RAID1? Atuação? LVM?

6

Quando procuro por exemplo instalações de RAID1, parece que os administradores tendem a colocar sua partição de swap em RAID1.

Para mim, é mais intuitivo ter dois discos, cada um com uma partição grande para uso pelo RAID1 e a partição do sistema e com uma partição menor para swap, fora do array RAID.

  1. Qual é o pior cenário possível se eu perder um disco e efetivamente metade do meu espaço de troca enquanto o sistema estiver em execução?

  2. Devo esperar um aumento ou diminuição no desempenho ao espelhar um volume de troca em relação a ter dois volumes de troca separados fora do RAID?

  3. Se a troca deve ser espelhada, faz mais sentido dar à swap sua própria matriz RAID1, ou faz mais sentido particionar uma grande matriz RAID1 com o LVM?

(Nota / 4. Não tenho certeza se o mdX pode ser particionado sem o LVM, mas o instalador do Debian me leva a acreditar que não é possível)

    
por andyortlieb 28.10.2010 / 18:08

2 respostas

16
  1. Se você estiver usando o RAID1, não perderá metade do seu swap, apenas um dos dois espelhos. O pior caso aqui é que você perderá qualquer benefício de desempenho que você poderia ter ganho. Se você tiver duas áreas de troca separadas nas unidades individuais, o kernel usará ambas de uma maneira semelhante a RAID0 (se elas tiverem o mesmo conjunto de prioridades) ou JBOD (se as prioridades forem diferentes, usando a área de prioridade máxima até ficarem completas) se uma das unidades morre, é provável que o seu sistema caia assim que qualquer acesso à (s) área (s) de troca for necessário. É por isso que os espaços de troca geralmente vivem nos volumes RAID1 - é simplesmente mais seguro e isso é mais importante que o desempenho normalmente.

  2. Duas áreas de troca separadas seriam usadas de maneira semelhante ao RAID0, portanto, você esperaria ver um aumento de desempenho em geral, embora isso dependa da outra carga em que suas unidades estão abaixo no momento. Com os kernels modernos, o driver RAID1 pode tentar adivinhar qual unidade é a melhor para ler cada bloco de modo que você possa obter um pouco do aumento de desempenho de leitura, embora obviamente para escrever para trocar você não irá, pois ambos os espelhos devem ser atualizados. Na maioria das configurações modernas, o desempenho do swap não é tão importante quanto a sua segurança - a RAM é relativamente barata hoje em dia, a menos que você esteja limitando a quantidade de RAM que sua placa-mãe pode suportar você deve ter memória RAM suficiente para que o espaço de swap seja usado o mínimo possível de qualquer maneira.

  3. Isso fará pouca diferença se você estiver usando o mesmo par de discos. Uma razão comum para ter swap em um array separado é quando usar o RAID5 / 6 para o array principal (o que não é verdade no seu caso) para evitar e paginar para as áreas de swap que estão sendo atingidas pelo problema de desempenho de gravação do RAID5 / 6. É possível ajustar o desempenho tentando assegurar que as áreas de troca estejam próximas da parte mais ocupada dos discos (portanto, se você tiver uma matriz de 1Tb com um volume lógico de 250Gb usado para os arquivos de banco de dados ativos mais ocupados, coloque o volume de swap próximo a que) reduza os movimentos da cabeça enquanto troca - mas realmente esses ajustes não são tempo bem gasto, pois quando você estiver trocando muito o benefício% -ou-dois, não será suficiente para fazer a diferença entre executar OK e não.

  4. Eu acredito que você pode particionar volumes RAID de software no que diz respeito ao kernel, mas isso não significa que o instalador entenda tais arranjos. Nos exemplos que não usam LVM, sempre vi as unidades divididas em partições e tendo uma matriz RAID separada para cada partição, em vez de um grande volume RAID que é particionado. Eu recomendo o método LVM a menos que você tenha uma razão específica para evitá-lo, pois é mais flexível e (na minha experiência) não menos confiável do que outros arranjos.

por 28.10.2010 / 19:07
1

Você pode ter o benefício de acesso rápido RAID0 (embora somente leitura) e segurança de RAID1 no Linux, se você usar o RAID10. O driver MD Linux pode criar volumes RAID10 em qualquer número de unidades, de 2 para cima. Para obter o benefício de velocidade, é necessário especificar o layout do array como "far" ( -p f2 ), assim o desempenho de leitura é semelhante ao RAID0, enquanto o desempenho de gravação é apenas um pouco mais lento que o RAID1.

    
por 28.10.2010 / 19:40