Como diminuir / home e adicionar mais espaço no CentOS7

18

CentOS 7 sistema de arquivos é XFS , E resize2fs não funciona. Preciso reduzir /home para 400G e adicionar 100G de espaço a / . O que devo fazer?

# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   50G   50G  341M 100% /
devtmpfs                 7.8G     0  7.8G   0% /dev
tmpfs                    7.8G   84K  7.8G   1% /dev/shm
tmpfs                    7.8G  778M  7.0G  10% /run
tmpfs                    7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sda1                497M  241M  257M  49% /boot
tmpfs                    1.6G   16K  1.6G   1% /run/user/42
tmpfs                    1.6G     0  1.6G   0% /run/user/0
/dev/mapper/centos-home  500G   20G  480G   4% /home

A saída de lvs, vgs e pvs é:

[root@localhost]~# lvs -v
    Using logical volume(s) on command line.
  LV   VG     #Seg Attr       LSize   Maj Min KMaj KMin Pool Origin Data%  Meta%  Move Cpy%Sync Log Convert LV UUID                                LProfile
  home centos    1 -wi-ao---- 499.38g  -1  -1  253    2                                                     4I53D9-7VSm-HN9H-QsSp-FvFU-5R9D-y5VwsN         
  root centos    1 -wi-ao----  50.00g  -1  -1  253    0                                                     LGRoEL-0EHz-G135-p6vx-Lt2s-RvI5-qdT9Sm         
  swap centos    1 -wi-ao----   7.81g  -1  -1  253    1                                                     UYB5xP-cEyV-lWvn-blIq-8s13-9kVB-ykjIWI         
[root@localhost]~# vgs -v
    Using volume group(s) on command line.
  VG     Attr   Ext   #PV #LV #SN VSize   VFree  VG UUID                                VProfile
  centos wz--n- 4.00m   1   3   0 557.26g 64.00m Gd5c08-ujdQ-fsix-o7z6-Wfsv-C0uW-XzDois         
[root@localhost]~# pvs -v
    Using physical volume(s) on command line.
    Found same device /dev/sda2 with same pvid TCmreQr93apETNoTl8bMc54l57FZ5hut
  PV         VG     Fmt  Attr PSize   PFree  DevSize PV UUID                               
  /dev/sda2  centos lvm2 a--  557.26g 64.00m 557.26g TCmreQ-r93a-pETN-oTl8-bMc5-4l57-FZ5hut
[root@localhost]~# 
    
por GoingMyWay 21.04.2016 / 11:24

5 respostas

34

Como outros apontaram, o sistema de arquivos XFS não pode ser reduzido.

Assim, sua melhor aposta é fazer backup / home, remover e recriar seu volume em um tamanho menor e dar o resto ao seu volume / root exatamente como Koen van der Rijt descreveu em seu post.

• backup do conteúdo de / home

> tar -czvf /root/home.tgz -C /home .

• teste o backup

> tar -tvf /root/home.tgz

• desmontar a casa

> umount /dev/mapper/centos-home

• remova o volume lógico inicial

> lvremove /dev/mapper/centos-home

• recriar um novo volume lógico de 400 GB para / home, format e montá-lo

> lvcreate -L 400GB -n home centos
> mkfs.xfs /dev/centos/home
> mount /dev/mapper/centos-home

• estenda seu volume / root com TODO o espaço restante e redimensione (-r) o sistema de arquivos ao fazer isso

> lvextend -r -l +100%FREE /dev/mapper/centos-root

• restaure seu backup

> tar -xzvf /root/home.tgz -C /home

• marque / etc / fstab para qualquer mapeamento do volume / home. Se estiver usando o UUID, você deve atualizar a parte do UUID. (Como criamos um novo volume, o UUID mudou)

É isso.

Espero que isso ajude.

    
por 25.10.2016 / 11:48
3

Você não pode reduzir o sistema de arquivos XFS .
Você só pode cultivá-las com xfs_growfs .

Veja: link
e-mail link

It is currently not possible to reduce the size of a partition or logical volume with the xfs filesystem. As a possible workaround in some environments, thin provisioned LVM volumes can be considered as an additional layer below the XFS filesystem.

Descubra o que está ocupando muito espaço em / e divida-o como seu próprio sistema de arquivos.

    
por 21.04.2016 / 13:31
2

Um acréscimo à resposta de Ari porque não consegui usar o ssh usando a autenticação de chave pública depois de seguir suas instruções.

Com o selinux ativado, você pode receber esta mensagem em / var / log / messages (com a depuração ativada em sshd_config) porque / home foi recriado:

SELinux is preventing /usr/sbin/sshd from read access on the file authorized_keys

Corrigir:

restorecon -R -v /home
    
por 02.12.2017 / 15:56
0

você só pode fazer isso em um sistema ativo se ele for particionado com o LVM - gerenciamento de volume lógico. qual é a saída de:

lvs -v
vgs -v
pvs -v
    
por 21.04.2016 / 13:17
0

A primeira coisa que você precisa fazer é verificar o que usou todo o seu espaço livre em disco, caso contrário, esse problema ocorrerá novamente em algum momento no futuro.

Se você realmente precisar redimensionar, minha abordagem seria:

  • backup do conteúdo de / home. (é apenas 20g)
  • umount /home
  • destruir o volume lógico inicial ( lvremove )
  • aloca espaço conforme necessário, redimensione os volumes. ( lvextend , resize2fs )
  • crie um novo volume lógico para / home, formate e monte-o ( lvcreate , mkfs.xfs )
  • restaurar backup
  • verifique novamente o conteúdo do / etc / fstab que você montará o volume correto para / home
  • execute mount -a ou reboot
por 21.04.2016 / 13:46