Posso lvreduce após lvextend sem perder a partição ext4 dentro dele?

1

Em uma tentativa frustrada de mover minha partição raiz de um disco para outro, fiz o seguinte:

  • adicionado novo disco
  • particionou com parted (a parte 3 agora está preenchendo quase totalmente o disco)
  • inicializou um volume físico

    $ pvcreate /dev/sdb3
    Physical volume "/dev/sdb3" successfully created
    
  • estendeu o grupo de volumes para incluir este novo disco físico

    $ vgextend myvg /dev/sdb3
    Volume group "myvg" successfully extended
    
  • estendemos o volume lógico (acho que é aqui que eu ajudei: acho que deveria ter mudado para o novo pv naquele grupo - alguém pode confirmar?)

    $ lvextend /dev/mapper/myvg-root /dev/sdb3
    

Agora gostaria de desfazer o lvextend e prosseguir com o plano original de mover o conteúdo do volume físico antigo para o novo volume físico. Posso reduzir o volume lógico (ainda não toquei na partição ext4 que está em / dev / mapper / myvg-root com algo como resizefs) sem medo de danificar o sistema de arquivos ext4? Se sim, como posso reduzir exatamente a quantidade certa?

$ lvreduce --by-exactly-the-amount-occupied-by-PV /ev/sdb3 /dev/mapper/myvg-root
    
por DrSAR 24.10.2012 / 08:20

1 resposta

1

Para resumir, atualmente existe um sistema de arquivos ext4 (root) dentro de um volume lógico (myvg-root) que fica em um grupo de volume (myvg) que é composto de dois volumes físicos (um deles é o sdb3 recém-adicionado ).

Você pode inspecionar o mapeamento de extensões lógicas para extensões físicas com o lvdisplay

$ lvdisplay -m
  --- Logical volume ---
LV Name                /dev/myvg/root
VG Name                pfeifer
LV UUID                2LeFq8-zz3y-Y62m-931D-mD3m-XmK1-6Zp3Ir
LV Write Access        read/write
LV Status              available
# open                 1
LV Size                3.62 TiB
Current LE             947851
Segments               2
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           251:0

--- Segments ---
Logical extent 0 to 470980:
  Type              linear
  Physical volume   /dev/sda3
  Physical extents  0 to 470980

Logical extent 470981 to 947850:
  Type              linear
  Physical volume   /dev/sdb3
  Physical extents  0 to 476869

Você pode simplesmente reduzir o tamanho desse volume lógico com lvreduce

$ lvreduce -l -476870 /dev/myvg/root
  WARNING: Reducing active and open logical volume to 1.80 TiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce root? [y/n]: y
  Reducing logical volume root to 1.80 TiB
  Logical volume root successfully resized

Observe como o número de extensões lógicas em sdb3 a ser reduzido é 476869 + 1 (a contagem começa em 0!). É isso aí. Agora, uma verificação rápida parece confirmar a ordem mundial original:

  --- Segments ---
  Logical extent 0 to 470980:
    Type                    linear
    Physical volume         /dev/sda3
    Physical extents        0 to 470980

Agora, um comando pvmove lento e tedioso deve permitir a movimentação de dados:

nohup pvmove -n /dev/myvg/root /dev/sda3 /dev/sdb3 &
    
por 25.10.2012 / 00:39

Tags