
Tenho 3 matrizes RAID no meu servidor, mapeadas para 2 PVs na minha configuração lvm2.
Apolo:~# pvs PV VG Fmt Attr PSize PFree /dev/sda1 apollo lvm2 a-3.64T 0 /dev/sda2 apollo lvm2 a-1.14T 0 /dev/sdb apollo1 lvm2 a-2.05T 0 Apolo:~# lvs LV VG Attr LSize Origin Snap% Move Log Copy% lvol0 apollo -wi-ao 4.77T ling-ling apollo1 -wi-ao 895.41G lvol0 apollo1 -wi-ao 1.17T lvol1 apollo1 -wi-a- 32,00M
Quero remover o "ling-ling" do LV para liberar espaço, porém quero expandir o lvol0 com esse espaço livre, que reside no outro VG.
Existe uma maneira no LVM de alocar uma porcentagem de um PV para diferentes VGs sem reparticionar? A única solução que consigo pensar é reparticionar /dev/sdb mas prefiro não fazê-lo, já que este é um servidor ativo.
Obrigado :)
Responder1
Não. Os VGs consomem os PVs inteiros.
Responder2
Se você quiser dividir uma unidade/LUN entre VGs, será necessário criar duas partições e um PV em cada uma. Isso tem uma série de desvantagens, entre as quais você precisaria destruir os PVs e reparticionar para alterar o layout!
Responder3
Além de reparticionar a unidade, não há uma maneira limpa de obter exatamente o que você deseja.
Uma solução rápida e suja é criar um LV e usá-lo como PV. Isso não é algo muito usado e como tal não foi muito testado, então você pode ter problemas, por exemplo, com a ativação na inicialização. Isso pode ser tão simples quanto:
vgextend apollo /dev/apollo1/ling-ling
Outra alternativa é usar vgmerge
e fazer Apollo VG único:
vgmerge apollo apollo1
Você deve atualizar todos os links no fstab (se estiver usando nomes de dispositivos e não LABEL/UUID)