Cómo redimensionar el disco tras mejorar el VPS de OVH
Desde hace unos años OVH ofrece entre sus productos servidores VPS a precios asequibles que los hacen interesantes para pequeños proyectos o servidores personales.
Si en algún momento las prestaciones del VPS se quedan cortas para nuestras necesidades, éste se puede mejorar fácilmente dentro de la misma gama a través de la interfaz web de OVH. Algo que puede sorprendernos despues del upgrade es que aunque contemos con más RAM y procesador, el tamaño del disco sigue siendo el mismo a pesar de que correspondería un aumento.
En realidad, el espacio de disco sí ha aumentado, pero la partición no se extiende automáticamente para hacer uso de él. Veamos como hacerlo manualmente.
Un error en la ejecución de los siguientes comandos podría llevar a la pérdida de los datos, por lo que es muy recomendable hacer una copia de seguridad antes de iniciar el proceso.
El primer paso que tenemos que hacer es reiniciar el VPS en modo de rescate. Esto lo podemos hacer desde el panel de OVH activando previamente el modo experto.
Tras unos minutos nos llegará un correo con la clave de root del modo rescate. Al arrancar en éste modo la huella SSH del servidor cambiará, nos conectamos con los siguientes parámetros para evitar que el cliente lo interprete como un ataque man-in-the-middle.
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no [email protected]
Una vez en el servidor, listamos las particiones con fdisk -l
.
root@rescue-pro:/# fdisk -l
Disk /dev/vda: 10.7 GB, 10737418240 bytes
4 heads, 32 sectors/track, 163840 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 20971519 10484736 83 Linux
Disk /dev/vdb: 21.5 GB, 21474836480 bytes
4 heads, 32 sectors/track, 327680 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005bac1
Device Boot Start End Blocks Id System
/dev/vdb1 * 2048 20971519 10484736 83 Linux
El disco en /dev/vda
es el que alberga el sistema del modo rescate, el que nos interesa es el que está montado sobre /dev/vdb
. Apuntamos el sector de inicio de la partición /dev/vdb1
para usarlo más adelante (en este caso es 2048
).
Usando el comando fdisk
vamos a editar la tabla de particiones.
fdisk /dev/vdb
Eliminamos la partición actual con el comando d
.
Command (m for help): d
Selected partition 1
Ahora debemos crear una nueva partición con el comando n
. Indicamos que es una partición primaria p
y que el número de la partición será 1
. Como sector de inicio introducimos el que hemos apuntado anteriormente y el sector final lo dejamos en blanco para que utilice todo el espacio disponible.
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-41940991, default 2048): 2048
Last sector, +sectors or +size{K,M,G} (2048-41940991, default 41940991):
Using default value 41940991
Marcarmos la partición como ejecutable con el comando a
.
Command (m for help): a
Partition number (1-4): 1
Para persistir los cambios que hemos hecho en la tabla de particiones, usamos el comando w
.
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
Reiniciamos el VPS.
reboot
Nos conectamos de nuevo al servidor tras el reinicio y comprobamos las particiones de nuevo con fdisk -l
.
Disk /dev/vda: 10.7 GB, 10737418240 bytes
4 heads, 32 sectors/track, 163840 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 20971519 10484736 83 Linux
Disk /dev/vdb: 21.5 GB, 21474836480 bytes
4 heads, 32 sectors/track, 327680 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005bac1
Device Boot Start End Blocks Id System
/dev/vdb1 * 2048 41943039 20970496 83 Linux
Perfecto, podemos ver como ahora la partición /dev/vdb1
toma todo el espacio disponible en disco. Sin embargo, todavía nos queda un paso, redimensionar el sistema de ficheros para que emplee el nuevo espacio adjudicado. Para ello usamos el comando resize2fs
.
resize2fs /dev/vdb1
Para terminar, reiniciamos de nuevo el VPS desde el panel, asegurándonos de que esta vez no entre en modo rescate.
Y esto es todo, ahora podemos disfrutar en nuestro VPS del espacio que le corresponde tras el upgrade.