Quais são as despesas gerais do uso de vários dispositivos menores de invasão versus dispositivos de invasão particionados como volumes físicos?

1

O LVM permite que grupos de volumes sejam expandidos adicionando volumes físicos. Então, se eu tiver vários grupos de volumes que podem precisar de espaço extra, mas não pode ser previsto que irá expandir mais rápido, é melhor ter vários volumes físicos disponíveis para alocar. Se eu estiver usando arrays de ataque MD para fornecer volumes físicos, qual é a melhor maneira de configurá-los?

Por exemplo, suponha que eu tenha 3 unidades de 1 TB. Quero criar dois grupos de volumes, cada um inicialmente com 500 GB, com a opção de estender outros 500 Gb em uma data futura,

A meu ver, existem duas opções:

  1. Vários arrays de ataque - Os discos são divididos em quatro partições, cada uma com 250 GB de tamanho. Quatro raid arrays, cada 500Gb, são então montados usando essas partições (por exemplo, mdadm /dev/md0 -create -lraid5 -n3 /dev/sda1 /dev/sdb1 /dev/sdc1 , mdamd /dev/md1 -create -lraid5 -n3 /dev/sda2 /dev/sdb2 /dev/sdc2 etc. Um dispositivo RAID é então usado como o volume físico inicial para cada grupo de volumes. qualquer grupo de volume pode precisar dele no futuro.
  2. Dispositivo (s) raid (s) particionado (s) - Nesse caso, um único dispositivo RAID de 2 TB é criado. Isso é então particionado em 4 partições de 500Gb ( /dev/md0p1 /dev/md0p2 /dev/md0p3 e /dev/md0p4 . Elas são então usadas como volumes físicos como acima, isto é, inicialmente atribuir uma a cada VG, etc.

Obviamente, existe alguma sobrecarga em termos de espaço em disco ao criar várias partições, mas isso provavelmente será muito semelhante para qualquer configuração e é insignificante comparado ao tamanho dos volumes.

No entanto, existe alguma sobrecarga de processamento ou desempenho no uso de dispositivos raid particionados?

Eu sempre usei a primeira configuração e só recentemente considerei (e experimentei) a segunda. Eu não notei nenhuma diferença, mas alguém tem alguma experiência a longo prazo disso ou pode apontar para razões técnicas por que uma configuração é preferida ou obsoleta?

    
por StarNamer 14.03.2015 / 03:08

1 resposta

0

Em geral, você deve tentar ter o menor número possível de VGs (os VGs podem ser divididos em vários PVs com o vgextend). Isso torna as coisas mais fáceis de gerenciar quando um único VG abrange todos os PVs e você pode simplesmente usar o pvmove para migrar LVs para um dispositivo físico diferente.

O que eu descobri ao longo dos anos com o Software RAID, à medida que você entra nos maiores tamanhos de disco, é que dividir os drives maiores em partições menores e depois o RAID em todos os drives funciona melhor do ponto de vista prático. À custa de um pouco de complexidade.

Exemplo: (8) drives de 4 TB, montados em um array de software RAID10 com (1) spare. O espaço total da rede será de cerca de 13 TB, não importa como dividimos os discos. Mas se formos com uma grande partição em cada unidade, o tempo de reconstrução será de cerca de 8 a 10 horas para o array. E se falhar ou você precisar reinicializar, o mdadm geralmente começará do início.

Mas se você dividir isso em (4) partições por disco e construir (4) matrizes RAID10 (/ dev / md101 = sd [abcdefgh] 1, / dev / md102 = sd [abcdefgh] 2, etc.), Em seguida, cada matriz será reconstruída em cerca de 2 a 2,5 horas. O tempo total de reconstrução ainda é de 8 a 10 horas. E se o mdadm for interrompido por uma reinicialização, ele não precisará refazer as matrizes que já foram concluídas. Note que todos os (4) vetores mdadm são PVs e todos devem pertencer ao mesmo VG.

Há também um pequeno benefício de desempenho, porque você poderia forçar todos os seus LVs de acesso pesado para o mesmo PV (/ dev / md101) que colocaria os blocos nos primeiros 25% do disco. Isso pode resultar em um pequeno aumento de velocidade. Você também pode usar o pvmove para desfragmentar os LVs movendo-os ao redor.

    
por 06.07.2015 / 01:41