Cómo reducir / a casa y agregar más espacio en CentOS7

28

CentOS 7El sistema de archivos es XFS, y resize2fsno funciona. Necesito reducir /homea 400G y agregar 100G de espacio /. ¿Qué tengo que hacer?

# 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

La salida de lvs, vgs y pvs son:

[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]~# 
GoingMyWay
fuente
Encontré esto: blog.endpoint.com/2015/01/… que dice que no es posible pero continúa con algún tipo de respuesta.
davey

Respuestas:

47

Como otros han señalado, el sistema de archivos XFS no se puede reducir.

Entonces, su mejor opción es hacer una copia de seguridad / inicio, eliminar y recrear su volumen en un tamaño más pequeño y dar el resto a su volumen / raíz tal como Koen van der Rijt describió en su publicación.

• copia de seguridad de los contenidos de / home

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

• probar la copia de seguridad

> tar -tvf /root/home.tgz

• desmontar la casa

> umount /dev/mapper/centos-home

• eliminar el volumen lógico de inicio

> lvremove /dev/mapper/centos-home

• recrear un nuevo volumen lógico de 400 GB para / home, formatearlo y montarlo

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

• extienda su volumen / root con TODO el espacio restante y cambie el tamaño (-r) del sistema de archivos mientras lo hace

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

• restaurar su copia de seguridad

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

• verifique / etc / fstab para cualquier mapeo de / home volume. SI está usando UUID, debe actualizar la porción de UUID. (Desde que creamos un nuevo volumen, UUID ha cambiado)

Eso es.

Espero que esto ayude.

Ari
fuente
1
al montar, puede haber un error de objetivo ocupado, umount -l / dev / mapper / centos-home podría ser de ayuda. y podría haber otro error de lectura: "Centos de volumen lógico / home contiene un sistema de archivos en uso", el fusor -kuc / dev / vg_data / backup podría ser de ayuda.
buxizhizhoum
Siguiendo el consejo de @ buxizhizhoum, yum install psmiscse requería un comando para fuserestar disponible.
mythofechelon
Realmente funcionó. ¡Gracias! Estaba conectado con ssh y necesitaba terminar la conexión ssh para eliminar "lvremove". Como lo bartrecomendó el usuario, corro restorecon -R -v /homedespués de terminar todos los pasos anteriores.
Ikrom
Gracias. En mi caso, los comandos mencionados me han ayudado mucho, solo son 10 minutos de trabajo. para el peor de los casos, tomé una copia de seguridad de VM y luego procedí con los comandos anteriores, luego pude extender el volumen raíz.
Harsha Vardhana
5

Una adición a la respuesta de Ari ya que no pude usar ssh utilizando la autenticación de clave pública después de seguir sus instrucciones.

Con selinux habilitado, puede obtener este mensaje en / var / log / messages (con la depuración habilitada en sshd_config) porque se recreó / home:

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

Arreglarlo por:

restorecon -R -v /home
Bart
fuente
3

No puede reducir un sistema de archivos XFS .
Solo puedes cultivarlos con xfs_growfs.

Ver: https://access.redhat.com/solutions/540013
y
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/xfsgrow.html

Actualmente no es posible reducir el tamaño de una partición o volumen lógico con el sistema de archivos xfs. Como posible solución alternativa en algunos entornos, los volúmenes LVM aprovisionados delgados pueden considerarse como una capa adicional debajo del sistema de archivos XFS.


Descubra qué está ocupando tanto espacio /y divídalo como su propio sistema de archivos.

ewwhite
fuente
Alternativamente, podría hacer una copia de seguridad / inicio viendo solo 20g y matar ese LV y recrearlo con las dimensiones adecuadas
Koen van der Rijt
gracias. tal vez debería destruir /homey reasignar el espacio según sea necesario.
GoingMyWay
0

solo puede hacer esto en un sistema en vivo si está particionado con LVM - gestión de volumen lógico. ¿Cuál es la salida de:

lvs -v
vgs -v
pvs -v
Sum1sAdmin
fuente
Señor, he actualizado la pregunta, agregué el resultado.
GoingMyWay
¡Mira arriba, te has pintado en una esquina!
Sum1sAdmin
0

Lo primero que debe hacer es verificar qué ha utilizado todo su espacio libre en el disco; de lo contrario, este problema volverá a ocurrir en el futuro.

Si realmente necesita cambiar el tamaño, mi enfoque sería:

  • copia de seguridad de los contenidos de / home. (solo 20 g)
  • umount /home
  • destruir el volumen lógico de inicio ( lvremove)
  • asignar espacio según sea necesario, cambiar el tamaño de los volúmenes. ( lvextend, resize2fs)
  • recrear un nuevo volumen lógico para / home, formatearlo y montarlo ( lvcreate, mkfs.xfs)
  • Restaurar copia de seguridad
  • Verifique dos veces el contenido de / etc / fstab en el que montará el volumen correcto para / home
  • correr mount -aoreboot
Koen van der Rijt
fuente