En ocasiones nos podemos encontrar con el problema de que queremos redimensionar una partición pero esta contiene datos (o incluso el sistema) y no podemos (o no nos apetece) salvar todos los datos y empezar de cero. Así que una alternativa buena puede ser la de redimensionar la partición actual y hacerla más grande o más pequeña. Simplemente tenemos que tener en cuenta que para hacerla más pequeña nunca podemos/debemos hacerla más pequeña que el espacio libre del que dispongamos, ya que sino tendremos pérdida de datos y un disgusto enorme. Así pues, usando unas sencillas herramientas que ya vienen con el sistema, podremos redimensionar fácilmente nuestra partición. Usaremos resize2fs para ello:
Primero nos aseguramos del espacio libre que nos queda:
root@server:/# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 3,7T 1,5T 2,1T 42% /users/home
Y ahora procedemos a redimensionar:
root@server:~# resize2fs /dev/sdb1 2500G
resize2fs 1.42 (29-Nov-2011)
Por favor ejecute antes 'e2fsck -f /dev/sdb1'.
Vaya!! Parece que hay que comprobar el disco antes. Parece lógico. Ante todo asegurar los datos:
root@server:~# e2fsck -f /dev/sdb1
e2fsck 1.42 (29-Nov-2011)
Paso 1: Verificando nodos-i, bloques y tamaños
Paso 2: Verificando la estructura de directorios
Paso 3: Revisando la conectividad de directorios
No se encontró /lost+found. Crear? no
Paso 4: Revisando las cuentas de referencia
Paso 5: Revisando el resumen de información de grupos
/dev/sdb1: ***** EL SISTEMA DE FICHEROS FUE MODIFICADO *****
/dev/sdb1: 3281220/244064256 files (0.4% non-contiguous), 383150021/976236032 blocks
Venga.. ahora si ¿no?:
resize2fs 1.42 (29-Nov-2011)
Resizing the filesystem on /dev/sdb1 to 655360000 (4k) blocks.
The filesystem on /dev/sdb1 is now 655360000 blocks long.
Bien, pues ahora ya podemos continuar. Lo que haremos ahora es borrar la partición. Si, la borramos pero podemos estar tranquilos porque de hacerlo bien, no perderemos datos.
Para ello usaremos fdisk y borraremos la partición (en el ejemplo la /dev/sdb1).
Si por casualidad usais discos muy grandes (o RAIDS con gran capacidad), tener en cuenta que fdisk no os servirá:
WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.
WARNING: The size of this disk is 4.0 TB (3998663944192 bytes).
DOS partition table format can not be used on drives for volumes
larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID
partition table format (GPT).
Si usais fdisk en la nueva partición empezad por el bloque 1 y acabad por el bloque que os pusiera el resize2fs (en nuestro ejemplo 655360000) y multiplicarlo por 4 (que son los k del bloque). Para daros un poco de margen, multiplicar el resultado por 1.03 o 1.05 y así tendréis un poco más de espacio no vais tanto al milímetro.
Si usais parted la cosa es similar:
root@server:~# parted /dev/sdb
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? Yes
Warning: /dev/sdb contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was
corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT
partition table?
Yes/No? Yes
(parted)
(parted) print
Model: DELL MD32xxi (scsi)
Disk /dev/sdb: 3999GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
(parted) mkpart primary 0GB 3000GB
(parted) print
Model: DELL MD32xxi (scsi)
Disk /dev/sdb: 3999GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 3000GB 3000GB ext4 primary
(parted) quit
Information: You may need to update /etc/fstab.
Con estos pasos tendréis que tener vuestra partición redimensionada.
Fuentes: http://www.howtoforge.com/linux_resizing_ext3_partitions