¿Puedo cambiar el tamaño de la partición raíz sin desinstalar y reinstalar Linux (o perder datos)?

17

Empecé a usar una máquina que tenía instalados Debian y Windows 7. Sin embargo, después de instalar algunos programas, comencé a recibir un mensaje de que no había suficiente espacio. Sabía que el sistema tenía más de 1TB de espacio en el disco duro en total e investigué un poco. Parece que la partición raíz es de solo 5 GB.

¿Hay alguna forma de asignar más espacio en disco a la partición específica sin reinstalar Linux?

A continuación puede encontrar los resultados de un par de comandos que ejecuté:

fdisk -l

Disk /dev/sda: 640.1 GB, 640135028736 bytes
255 heads, 63 sectors/track, 77825 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4a47e2fd

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      102400    7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2              13       53507   429687500    7  HPFS/NTFS
Partition 2 does not end on cylinder boundary.
/dev/sda3           53507       77826   195340289    5  Extended
Partition 3 does not end on cylinder boundary.
/dev/sda5           53507       53537      243712   83  Linux
/dev/sda6           53538       77826   195095552   8e  Linux LVM

Disk /dev/sdb: 640.1 GB, 640135028736 bytes
255 heads, 63 sectors/track, 77825 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4a47e2fe

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               2       62261   500097657+   f  W95 Ext'd (LBA)
/dev/sdb5               2       62261   500097656+   7  HPFS/NTFS

Disk /dev/dm-0: 4999 MB, 4999610368 bytes
255 heads, 63 sectors/track, 607 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/dm-0 doesn't contain a valid partition table

Disk /dev/dm-1: 1996 MB, 1996488704 bytes
255 heads, 63 sectors/track, 242 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/dm-1 doesn't contain a valid partition table

Disk /dev/dm-2: 20.0 GB, 19998441472 bytes
255 heads, 63 sectors/track, 2431 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/dm-2 doesn't contain a valid partition table

df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/HU-root   4.6G  4.4G   32M 100% /
tmpfs                 2.0G     0  2.0G   0% /lib/init/rw
udev                  2.0G  220K  2.0G   1% /dev
tmpfs                 2.0G  356K  2.0G   1% /dev/shm
/dev/sda5             231M   22M  198M  10% /boot
/dev/mapper/HU-home    19G  751M   17G   5% /home

Editar (información adicional basada en el comentario):

# mount
/dev/mapper/HU-root on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda5 on /boot type ext3 (rw)
/dev/mapper/HU-home on /home type ext3 (rw)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)

# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda6
  VG Name               HU
  PV Size               186.06 GiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              47630
  Free PE               41194
  Allocated PE          6436
  PV UUID               wmEFAc-eSb6-r3qo-jIjy-vuKH-v9JK-eQfJFZ

Como nota al margen, también agradecería cualquier sugerencia para buenos libros que expliquen estos temas en profundidad (sistemas de archivos, cómo los diversos sistemas operativos entienden los sistemas de archivos, etc.).

F1234k
fuente
¿Qué tipo de sistema de archivos es tu /? (Publique la salida de mounto el contenido de /etc/fstabsi no sabe). También la salida de pvdisplay(como root) sería interesante ya que parece estar usando LVM.
Mat
¡Se han agregado los resultados de los comandos que mencionó! Gracias :)
F1234k
Lo que intenta hacer es posible, pero solo con LVM. La pantalla df que ha mostrado parece estar usando LVM. Si se utiliza todo el espacio en el grupo de volúmenes "HU", primero deberá reducir el volumen lógico "de inicio". La reducción es una operación mucho más peligrosa en términos de pérdida de datos que el crecimiento de un sistema de archivos.
jordanm 01 de
Solución mucho más fácil y segura: cree una nueva partición, por ejemplo /usr, y mueva su actual / usr allí.
hhaamu

Respuestas:

17

Advertencia : no se recomienda hacer nada a sus sistemas de archivos sin una copia de seguridad restaurable conocida.


No ejecute ninguno de los siguientes pasos si no está seguro de que /está limpio. Si no está seguro, ejecute lo siguiente (como root):

# touch /forcefsck

y reiniciar. Esto hará una fsckde todas sus particiones, para estar seguro.


Dicho esto, dado que está utilizando LVM para su dispositivo raíz y un ext3sistema de archivos, puede extenderlo en línea. Antes de comenzar, asegúrese de haber resize2fsinstalado. Si no, generalmente está en un paquete llamado e2fsprogs. (Si no puede instalarlo porque no tiene suficiente espacio, intente hacer un poco de limpieza, /var/logpor ejemplo).

Primero extiendes el volumen subyacente con (como root):

# lvextend -L+2G /dev/mapper/HU-root

(Ajuste la 2Gparte como desee; es la cantidad de espacio que desea agregar).

Entonces necesita cambiar el tamaño del sistema de archivos. Esto se puede hacer en línea con resize2fs:

# resize2fs /dev/mapper/HU-root

Esto puede demorar unos segundos / minutos. No interrumpas Haga otro reinicio al final, posiblemente con otro /forcefsck, si lo desea. No es necesario, pero a menudo lo hago de todos modos.

Estera
fuente
1
Esto no funciona para mí:Path required for Logical Volume "sda1" Please provide a volume group name
8bitjunkie
Esto solo funciona en LVM, parece que está intentando cambiar el tamaño de una partición real.
Mat
6

Tiene espacio libre disponible en su PV para asignar a la partición /. Puede usar lo siguiente para aumentar el espacio de / dev / mapper / HU-root.

lvextend -L +10G /dev/mapper/HU-root
e2resize /dev/mapper/HU-root

El comando anterior agregará 10G de su grupo de volúmenes al volumen lógico raíz de HU. El comando e2resize "hará crecer" el sistema de archivos ext3 para usar el espacio libre restante.

jordanm
fuente
2
Puede que no sea el único que no lo entendió de inmediato: PV = "Volumen físico"
Étienne reinstala a Monica el
Esto no funciona para mí:Path required for Logical Volume "sda1" Please provide a volume group name
8bitjunkie
@ 8bitjunkie sda1es un dispositivo físico, no un volumen lógico.
jordanm
-1

Desde la lvdisplaysalida, elija la ruta de la partición raíz que está tratando de redimensionar / expandir.

aquaman
fuente