
Eu tenho um espelho LVM feito de 6 discos de 1 TB. Fiz um espelho RAID 1 com 3+3 discos. O volume lógico e a partição nele contidos possuem, portanto, 3 TB de espaço utilizável. Ficando sem espaço em disco, estou tentandocozinharuma solução temporária com um disco extra de 4 TB que adicionei ao último slot disponível neste computador.
Eu gostaria de estender meu sistema de arquivos atual com esses 4 TB extras para um total geral de 3 + 4 = 7 TB. Portanto, uma parte do volume lógico teria um espelho RAID 1 e a outra parte um único disco (como eu disse é uma solução temporária).
Não consigo reformatar meu array RAID1 existente ou mover os dados porque estou ficando sem espaço em todos os lugares.
Eu fiz:
vgextend vg0 /dev/sdg1
onde vg0
está meu grupo de volumes com os 6 discos e sdg1
é o novo disco de 4 TB. Então eu fiz:
lvextend -l +100%FREE /dev/vg0/data
onde /dev/vg0/data
está meu volume lógico.
No entanto, o volume lógico não pode ser estendido e o lvextend me diz:
Found fewer allocatable extents for logical volume data than requested: using 715395 extents (reduced by 953862).
No final, o grupo de volumes tem um tamanho de aprox. 10 TB, o que está correto, mas o volume lógico permanece em 3 TB.
O volume lógico atual é o seguinte:
Using logical volume(s) on command line.
--- Logical volume ---
LV Path /dev/vg0/data
LV Name data
VG Name vg0
LV UUID xcd11P-sL1W-M9vK-XftB-OeAA-b0Ec-AM2btA
LV Write Access read/write
LV Creation host, time xxxxxxx, 2015-08-27 18:24:58 +0100
LV Status available
# open 1
LV Size 2.73 TiB
Current LE 715395
Mirrored volumes 6
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 1536
Block device 253:12
E a configuração desejada será a seguinte, onde eu perderia parcialmente a redundância de uma configuração RAID 1 completa. Mas é uma solução temporária. E claro, no futuro, ZFS ou btrfs seriam uma solução melhor:
Alguma ideia de como resolver este problema específico (se existir uma solução)?
Responder1
Adicionar uma única unidade de 4 TB ao seu array multiespelho destrói qualquer capacidade de confiar na redundância que o RAID deveria fornecer. Seria seguro se você pudesse adicionar uma segunda unidade de 4 TB, mas (como você não tem portas sobressalentes) você não pode fazer isso sem remover um dos discos existentes.
Se eu fosse você, removeria um dos discos espelhados, adicionaria uma segunda unidade de 4 TB e criaria um novo grupo de volumes com unidades de 2x4 TB em um espelho RAID1.
NOTA: Isso deixará um dos seus pares RAID-1 de 1 TB sem espelho, portanto você correrá o risco de perda de dados até que o processo rsync
seja concluído. Se você tiver QUALQUER porta extra, mesmo e-sata ou USB, coloque a unidade de 1 TB removida nessa porta até que o rsync seja concluído.
Em seguida, rsync
TODOS os dados do grupo de volumes antigo (a maior parte do rsync pode ser feita enquanto o sistema está em uso, mas você terá que fazer um rsync final no modo de usuário único ou a partir de um CD/USB de resgate. Em na verdade, você pode executar o rsync repetidamente enquanto o sistema estiver em uso, até poder agendar algum tempo de inatividade para o rsync final e o próximo estágio).
Depois de rsync
editar os dados, desligue o sistema e remova as unidades antigas de 1 TB ou, melhor ainda, reutilize 4 delas para adicionar outros 2 espelhos RAID-1 ao seu novo grupo de volumes (2x1 TB cada). Isso resultará em um grupo de volumes de 6 TB (4 TB + 1 TB + 1 TB).
6 TB é menor que os 7 TB que você estava planejando, mas pelo menos você realmente tem Redundância (o R em RAID) para todos os seus dados.
Alternativamente, basta substituir um dos pares RAID-1 de 1 TB por 2 unidades de 4 TB (uma de cada vez, é claro) - mesmo resultado final, sem rsyncing. A rsync
ideia é provavelmente mais útil se você decidir seguir a sugestão de btrfs ou zfs abaixo.
Posteriormente, você poderá substituir um ou ambos os espelhos de 1 TB (restantes) por mais espelhos de 4 TB.
Uma alternativa que vale a pena considerar é criar o espelho de 4 TB usando ZFS ou btrfs em vez de LVM. Isso lhe dará os benefícios de um sistema de arquivos copy-on-write com correção de erros, com compactação, instantâneos, reversões, criação fácil de subvolumes, cotas e reservas "soft" (em vez da pré-alocação "rígida" de espaço que LVM fornece), zfs/btrfs envia e recebe para backup (para outro pool ou servidor zfs/btrfs) e muito mais.
Tanto o ZFS quanto o btrfs tornariam trivialmente fácil a substituição de unidades de 1 TB por unidades maiores. Basta trocar as unidades antigas pelas novasum por veze diga ao btrfs/zfs para substituir a unidade ausente pela nova.
BTW, se você estiver usando LVM para fornecer partições LV para VMs em vez de (ou também) sistemas de arquivos montados, btrfs não é uma opção (a menos que você esteja disposto a mudar para qcow2 ou raw ou outros arquivos de imagem de disco). ZFS é, como você pode criarZVOLé bem comoSistemas de arquivos ZFS.