it-swarm-pt.tech

Como posso redimensionar uma partição LVM no Red Hat sem perder dados?

Meu detalhe de partição é assim

/dev/mapper/VolGroup00-LogVol00
                       57G  8.8G   46G  17% /
/dev/mapper/VolGroup00-LogVol05
                      259G  7.0G  239G   3% /home
/dev/mapper/VolGroup00-LogVol02
                       19G  493M   18G   3% /var
/dev/mapper/VolGroup00-LogVol03
                       19G  458M   18G   3% /tmp
/dev/mapper/VolGroup00-LogVol04
                      9.5G  152M  8.9G   2% /opt
/dev/sda1             965M   33M  883M   4% /boot
tmpfs                 7.7G  3.7G  4.0G  48% /dev/shm

Desejo aumentar o tamanho de/reduzindo o tamanho da partição/home, sem perder dados em/e home.

Alguém pode me ajudar a resolver esse problema?

5
Charly
  • Inicialize com uma distro ativa (compatível com lvm)
  • não monte suas partições lvm
  • fsck LogVol00 e LogVol05 (duas vezes esta etapa)
  • lvreduce -L-xG/dev/VolGroup00/LogVol05
  • resize2fs -p/dev/VolGroup00/LogVol05

faça o mesmo para/dev/mapper/VolGroup00-LogVol00 com lvextend em vez de lvreduce

5
Vish

Eu segundo a resposta de Vishaal, no entanto, ele omitiu alguns passos ... bem como o fato de que você pode fazer isso com o resgate do Linux

  1. Inicialize no resgate do Linux
  2. pular montagem
  3. execute lvm vgchange -a y (no modo de recuperação, você inicia os comandos com lvm)
  4. verifique a visibilidade pelo sistema operacional com ls/dev/VolGroup00 /
  5. O resto é muito parecido com o vishaal descrito, mas você vai querer forçar o e2fsck com um -f ou seja: e2fsck -f/dev/VolGroup00/LogVol ..

  6. IMPORTANTE, você redimensiona o sistema de arquivos antes de reduzir o volume, então ..

  7. resize2fs -f/dev/VolGroup00/LogVol .. 40G (se você quiser que o tamanho seja exatamente 40G)
  8. lvm lvreduce -L40G/dev/VolGroup00/LogVol .. (novamente se você quiser que o tamanho seja exatamente 40G e não reduzido em 40G)

O meu é simplesmente um acréscimo ao conselho já dado por vishaal.

1
bobbyrcox

Um pequeno ajuste no processo dado por Vishaal e Bobby Cox:

  • resize2fs o/home LV um pouco menor do que você realmente deseja
  • lvm lvreduce até o tamanho que você realmente deseja
  • resize2fs volta para preencher o LV (sem especificar um tamanho)

Isso deixa uma margem de segurança na chance de que os dois comandos interpretem os tamanhos explícitos de maneira diferente (eu sei os comandos lvm arredondados para um número inteiro de extensões; como o tamanho padrão da extensão é determinado, eu não claro e realmente não me importo).

Ao aumentar o tamanho de um VE, o procedimento é um pouco mais simples:

  • lvm lvextend para o tamanho que você deseja
  • resize2fs para preencher
0
mlp

Você não tem reiniciar para fazer isso; no entanto, certifique-se de ter um novo backup disponível.

  • Feche todas as suas sessões de usuário.
  • Faça login como root. Se você precisar fazer login como um usuário primeiro, use "exec su -" ou "exec Sudo -i" para não deixar seu usuário logado e evitando uma limpeza de umount
  • Descubra se algo ainda está usando/home com "lsof -n | grep/home"; encerrar os processos que fazem
  • umount/home
  • Descubra o novo tamanho que você deseja em bytes, torne-o um múltiplo do tamanho das extensões LVM, vamos chamá-lo de $ newsize
  • fsck/dev/mapper/VolGroup00-LogVol05
  • resize2fs -P/dev/mapper/VolGroup00-LogVol05 $ newsize
  • lvreduce -L $ newsze/dev/mapper/VolGroup00-LogVol05
  • montagem/casa

Isso, é claro, assumindo que você use ext [234].

0
niXar

Deseja reiterar:

Ao diminuir, redimensione o FS primeiro e depois redimensione o LVM. Ao estender, redimensione o LVM primeiro, depois redimensione o FS.

Ao diminuir, você precisa desmontar o volume. Ao estender, dependendo do seu kernel do Linux, você pode fazê-lo online enquanto o sistema está montado

Ao encolher, é crucial ter backups Ao estender, é uma ideia muito, muito, muito boa ter backups (quando não é), mas não tão arriscado quanto ao encolher

Fora isso, todo mundo está certo

0
ben