Dica sobre pvmove no Linux - Insufficient suitable contiguous allocatable extents for logical volume pvmove0

Posted by kairo on Wed 17 December 2008

A algum tempo atrás fiz um post aqui sobre como realizar o pvmove.

Existe uma dúvida comum que ocorre quando tenta-se fazer o pvmove de um disco maior para discos menores conforme o exemplo abaixo:

# pvs PV         VG       Fmt  Attr PSize   PFree /dev/sda2  rootvg   lvm2 a-    68.12G  46.09G /dev/sdh1  datavg lvm2 a-   100.00G   5.36G /dev/sdj1  datavg lvm2 a-   200.00G  49.16G /dev/sdk1  datavg lvm2 a-   200.00G  49.37G /dev/sdl1  datavg lvm2 a-   200.00G  26.00G /dev/sdm1  datavg lvm2 a-   200.00G  24.94G /dev/sdn1  datavg lvm2 a-   200.00G  51.54G /dev/sdo1  datavg lvm2 a-   200.00G   60.00G

No exemplo abaixo estou tentando movimentar o PV /dev/sdh1 para os demais PVs (/dev/sdj1, /dev/sdk1, /dev/sdl1, /dev/sdm1, /dev/sdn1 e /dev/sdo1), porém quando executo o comando abaixo ele retorna:

# pvmove /dev/sdh1 /dev/sdj1 /dev/sdk1 /dev/sdl1 /dev/sdm1 /dev/sdn1 /dev/sdo1 Insufficient suitable contiguous allocatable extents for logical volume pvmove0: 17920 more required Unable to allocate temporary LV for pvmove.

Isso ocorre porque ele não tem blocos continuos que suportem todo o tamanho do volume.
Para isto o comando pvmove suporta mover por partes, desta forma faremos assim:

pvmove /dev/sdh1:1-17920 /dev/sdj1 /dev/sdk1 /dev/sdl1 /dev/sdm1 /dev/sdn1 /dev/sdo1

Desta forma movimentaremos até o tamanho informado que é suportado. E continuaremos a movimentar por partes.

Dica: Você pode tentar movimentar totalmente o restante, comigo na maioria das vezes ele ja atinge o tamanho disponível.

pvmove /dev/sdh1 /dev/sdj1 /dev/sdk1 /dev/sdl1 /dev/sdm1 /dev/sdn1 /dev/sdo1


Comments !