Como alinhar volumes lógicos em extensões físicas contíguas?

6

Eu criei originalmente 2 volumes lógicos em um grupo de volume. Os 2 Volumes Lógicos ocupam todo o Grupo de Volume e são colocados em Extensões Físicas Contíguas.

No entanto, depois de encolher o primeiro Volume Lógico (LV_root), ele se torna menor e as Extensões Físicas vazias aparecem entre os 2 Volumes Lógicos. Aqui está a saída do comando "pvdisplay":

$ sudo pvdisplay --maps

  --- Physical volume ---
  PV Name               /dev/sda5
  VG Name               VG_i5_2500
  PV Size               99.65 GiB / not usable 2.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              25510
  Free PE               3025
  Allocated PE          22485
  PV UUID               3nRvBS-qq10-8XZZ-n3x9-gfHx-hrxN-AouB3q

  --- Physical Segments ---
  Physical extent 0 to 18431:
    Logical volume  /dev/VG_i5_2500/LV_root
    Logical extents 0 to 18431
  Physical extent 18432 to 21456:
    FREE
  Physical extent 21457 to 25509:
    Logical volume  /dev/VG_i5_2500/LV_swap
    Logical extents 0 to 4052

Eu quero saber que existe uma maneira de mover LV_swap em direção a LV_root para que não haja nenhuma Extensões Físicas vazias entre eles (isto é, em geral, como mover Volumes Lógicos dentro do mesmo Grupo de Volume para criar mais espaços para contíguos) Extensões Físicas Livres.)?

Além disso, as extensões físicas livres são contíguas necessárias ao criar novos volumes lógicos em um grupo de volume?

    
por user1129812 11.06.2012 / 02:21

2 respostas

1

Não há um comando lvmove no LVM padrão (embora a HP possa ter um em uma versão personalizada).

A maneira de fazer isso seria mover o conteúdo do volume para outro lugar, excluí-lo, recriá-lo e, em seguida, copiar de volta.

Como seu volume é swap, mover o conteúdo não é necessário. Você pode swapoff , excluir o volume e criar um novo volume de troca e swapon .

No entanto, pode-se dizer que uma meta do LVM não precisa se preocupar com nada disso. Extensões físicas contíguas não são necessárias para criar um volume, apenas serão inseridas nas lacunas. A principal vez que você teria uma penalidade de desempenho é se você tivesse um arquivo que cruzasse extensões não contíguas e assim exigiria uma busca extra ao ser lido.

    
por 11.06.2012 / 02:33
11

De acordo com o pvmove man-page, existe a possibilidade de mover as extensões no mesmo dispositivo:

If the source and destination are on the same disk, the anywhere allocation policy would be needed, like this:

pvmove --alloc anywhere /dev/sdb1:1000-1999 /dev/sdb1:0-999

Talvez regiões sobrepostas sejam proibidas, mas você pode mover seu volume em duas etapas:

pvmove --alloc anywhere /dev/sda5:21457-24481 /dev/sda:18432-21456
pvmove --alloc anywhere /dev/sda5:24482-25509 /dev/sda:21457-22484
    
por 10.01.2014 / 23:33

Tags