Como eu uso o espaço de movimentação de / home lvm para root lvm

1

Eu tenho um root lvm com 10 GB, a maioria dos quais é usada, e um / home lvm com 877 GB. Eu quero redimensionar o / home lvm para liberar espaço e, em seguida, alocar isso para raiz. Não estou claro se posso redimensionar dinamicamente as partições enquanto montadas, mas, até onde sei, isso não é possível. Além disso, tanto quanto eu posso dizer, não consigo desmontar / home ou root, a menos que eu esteja usando um disco de recuperação.

Normalmente, se eu quisesse redimensionar uma partição de disco que eu não poderia desmontar de outra forma, eu usaria um disco ao vivo gparted. Mas, até onde sei, o gparted só funciona em partições "reais" e não pode operar em partições lvm. Então, qual é a melhor maneira de obter acesso às partições desmontadas e redimensioná-las?

Obrigado,

Maurice

    
por Maurice Leutenegger 22.10.2014 / 03:38

1 resposta

4

O LVM torna isso bastante fácil e direto. O lvreduce terá que desmontar o sistema de arquivos que você deseja encolher, mas o filesystm a ser expandido pode fazê-lo enquanto está sendo montado.

Etapas: 1 backup - 2 reduzir home lv - 3 check - 4 crescer root lv - 5 check - 6 configurações de backup

Apenas os passos 2 e 4 são necessários - o resto é apenas uma boa prática. Também recomendo registrar todo o processo executando script .

Nota: O grupo de volume na saída do exemplo é chamado tetrad (o mesmo que o nome do host), você desejará inserir o nome do seu grupo de volumes nos comandos. O exemplo de saída foi reunido a partir de logs arquivados, como pode ser deduzido dos diferentes números de versão do comando resize2fs.

  1. Backup (pelo menos sua configuração atual). Copie seu backup em algum lugar fora do grupo de volumes que está sendo modificado.

    root@tetrad:~/Documentation/LVM# vgcfgbackup -f tetrad-vgcfg-2014-10-09-before-2
    
  2. Reduza o custo de vida

    root @ tetrad # lvresize --resizefs -L -35G / dev / mapeador / tetrad-export

    resize2fs 1.42 (29-Nov-2011)
    Resizing the filesystem on /dev/mapper/tetrad-export to 23955456 (4k) blocks.
    
    The filesystem on /dev/mapper/tetrad-export is now 23955456 blocks long.
    
    Reducing logical volume export to 91.38 GiB
    Logical volume export successfully resized
    
  3. Verifique (opcional), o estado atual do backup como na etapa 1. Você notará que a etapa 4 faz um backup para /etc/lvm/backup/<vgname> , mas como isso está no sistema de arquivos sendo modificado, você quer sua cópia em outro lugar.

    root@tetrad# pvs
    PV         VG     Fmt  Attr PSize   PFree 
    /dev/sda3  tetrad lvm2 a-   201.14g 37.76g
    
  4. Cresce a raiz lv

    root@tetrad:~/Documentation/LVM# lvextend -L +2G /dev/mapper/tetrad-root -r -v
        Finding volume group tetrad
        Executing: fsadm --verbose check /dev/tetrad/root
    fsadm: "ext4" filesystem found on "/dev/mapper/tetrad-root"
    fsadm: Skipping filesystem check for device "/dev/mapper/tetrad-root" as the   filesystem is mounted on /
        fsadm failed: 3
        Archiving volume group "tetrad" metadata (seqno 27).
      Extending logical volume root to 26,00 GiB
        Found volume group "tetrad"
        Found volume group "tetrad"
        Loading tetrad-root table (252:0)
        Suspending tetrad-root (252:0) with device flush
        Found volume group "tetrad"
        Resuming tetrad-root (252:0)
        Creating volume group backup "/etc/lvm/backup/tetrad" (seqno 28).
      Logical volume root successfully resized
        Executing: fsadm --verbose resize /dev/tetrad/root 27262976K
    fsadm: "ext4" filesystem found on "/dev/mapper/tetrad-root"
    fsadm: Device "/dev/mapper/tetrad-root" size is 27917287424 bytes
    fsadm: Parsing tune2fs -l "/dev/mapper/tetrad-root"
    fsadm: Resizing filesystem on device "/dev/mapper/tetrad-root" to 27917287424 bytes (6291456 -> 6815744 blocks of 4096 bytes)
    fsadm: Executing resize2fs /dev/mapper/tetrad-root 6815744
    resize2fs 1.42.9 (4-Feb-2014)
    Filesystem at /dev/mapper/tetrad-root is mounted on /; on-line resizing required
    old_desc_blocks = 2, new_desc_blocks = 2
    The filesystem on /dev/mapper/tetrad-root is now 6815744 blocks long.
    

Você está feito. Agora vamos apenas admirar os resultados e manter um backup do estado atual.

  1. Verifique com pvs , lvs
  2. Configuração de backup e cópia de armazenamento em um sistema de arquivos separado para segurança.
por Tatjana Heuser 15.11.2014 / 10:51