martes, 17 de enero de 2017

Como redimensionar una partición de Linux

Ahora les traigo como cambiar el tamaño de una partición de linux sin dañar el contenido y que nuestra maquina siga funcionando sin problema pero con un espacio de disco duro mas grande.

Para ello utilizaremos el GParted (dejo el link  de descarga mas abajo), ademas en el ejemplo esta realizado en VMware, ojo esto se puede realizar ya sea con otro virtualizador o directamente en un servidor físico, solo habría que omitir toda la parte de VMware y utilizar solo la explicación del GParted, obviamente habría que bootear con el ISO de Gparted.

Escenario inicial, VMware, Linux, partición
Si queremos ampliar el tamaño de la partición del sistema donde tengamos instalado el sistema operativo Linux (cualquier distribución) con sistema de archivos ext2, ext3 ó ext4 deberemos seguir los pasos que indicamos en este tutorial. Este tutorial sirve tanto para máquinas virtualizadas como para máquinas físicas, el proceso es el mismo.
En este tutorial hemos usado los siguientes elementos sofware:
  • VMware Workstation 8.0.2.
  • Máquina virtualizada con GNU Linux Ubuntu 10.04.
Lo que haremos en este escenario de pruebas será aumentar el tamaño de la partición primaria / (raíz) donde tenemos instalado Linux Ubuntu virtualizado sobre VMware Workstation y sobre Windows 7. Realizaremos este proceso incluso teniendo una partición swap justo después de la partición del sistema.
Preparar máquina virtual Linux en VMware Workstation para aumentar tamaño HD
Cuando nos quedamos sin espacio en un disco duro donde está instalado el sistema base de una máquina virtual Linux podemos ampliar el tamaño, no es un método directo pero sí es posible. Con el comando Linux df -h obtendremos el espacio libre y ocupado de los discos duros la máquina virtual Linux:
Preparar máquina virtual Linux en VMware Workstation para aumentar tamaño HD
En primer lugar para realizar el proceso de incremento de tamaño de disco duro del sistema deberemos apagar la máquina virtual. En el caso de una máquina con Linux podremos hacerlo desde la ventana de Terminal, ejecutando el comando Linux:
sudo shutdown -h now
Preparar máquina virtual Linux en VMware Workstation para aumentar tamaño HD
O bien, si disponemos de modo gráfico, desde el menú de apagado normal del sistema Linux:
Preparar máquina virtual Linux en VMware Workstation para aumentar tamaño HD
Una vez detenida la máquina virtual es muy conveniente y recomendable hacer copia de seguridad de la máquina completa (es suficiente con copiar la carpeta donde esté alojada a otra ubicación). El proceso que realizaremos es "delicado" y si se produce algún error podríamos provocar que la máquina virtual no vuelva a arrancar, haciendo un backup evitaremos cualquier situación indeseada.
Una vez detenida la máquina virtual y realizada la copia de seguridad de la misma, si queremos incrementar el tamaño del disco duro del sistema en una máquina, virtualizada sobre VMware Workstation, uno de los requisitos es que no debe haber snapshots, si tenemos alguno y queremos conservarlo deberemos utilizar otro método de amplicación del disco duro, como por ejemplo usar VMware vCenter Converter. Si la máquina virtual tiene algún snapshot realizado deberemos eliminarlo, para ello seleccionaremos la máquina virtual en VMware Workstation, en el menú "VM" seleccionaremos "Snapshot" - "Snapshot Manager":
Preparar máquina virtual Linux en VMware Workstation para aumentar tamaño HD
Si tenemos algún snapshot lo eliminaremos seleccionándolo y pulsando sobre él con el botón derecho del ratón, en el menú emergente seleccionaremos "Delete":
Preparar máquina virtual Linux en VMware Workstation para aumentar tamaño HD
El proceso de eliminación del snapshot puede tardar unos minutos, en función del tamaño de la máquina virtual, el asistente lo indicará con una ventana con el texto "Cleaning up deleted files":
Preparar máquina virtual Linux en VMware Workstation para aumentar tamaño HD
Nota: si no eliminamos los snapshots e intentamos realizar el proceso de expansión, el asistente nos mostrará el siguiente mensaje de error: Disks can't be expanded if they belong to virtual machines that have snapshots. To expand this disk, either remove the snapshots or use VMware vCenter Converter.
Tras detener la máquina virtual, hacer backup y eliminar los snapshots ya podremos expandir el disco duro, para ello seleccionaremos la máquina virtual y pulsaremos en "Edit virtual machine settings":
Preparar máquina virtual Linux en VMware Workstation para aumentar tamaño HD
Seleccionaremos el disco duro a ampliar en "Device", en nuestro caso "Hard Disk (SCSI) 20GB", en la parte derecha pulsaremos en "Utilities" y en el menú desplegable seleccionaremos "Expand":
Preparar máquina virtual Linux en VMware Workstation para aumentar tamaño HD
El asistente para expandir el tamaño de un hd virtual nos indicará el tamaño actual, introduciremos el nuevo tamaño (en nuestro caso de 20GB a 50GB) y pulsaremos "Expand":
Preparar máquina virtual Linux en VMware Workstation para aumentar tamaño HD
Se inicará el proceso de expansión del hd con el nuevo tamaño, este proceso puede tardar varios minutos, en función del espacio ocupado actualmente en el disco duro. El asistente nos mostrará una ventana con el progreso, con el texto "Exanding virtual disk":
Preparar máquina virtual Linux en VMware Workstation para aumentar tamaño HD
Durante el proceso de expansión VMware Workstation creará un fichero temporal donde irá haciendo una copia de los datos del disco duro a expandir. En función del tipo de aprovisionamiento el tamaño del fichero será del espacio ocupado por el sistema operativo alojado en él o bien de todo el tamaño indicado en la expansión:
Preparar máquina virtual Linux en VMware Workstation para aumentar tamaño HD
Tras la finalización de la expansión del hd, el asistente nos lo indicará con un mensaje, básicamente nos advertirá de que el proceso de expansión ha concluido pero para que el sistema operativo detecte el nuevo espacio será necesario expandir el disco en el sistema de ficheros:
Preparar máquina virtual Linux en VMware Workstation para aumentar tamaño HD
Con el texto: The disk was succesfully expanded. You must repartition the disk and expand the file systems from within the guest operating system.
Aunque iniciáramos ahora la máquina virtual Linux en VMware Workstation, el nuevo tamaño del disco duro no será efectivo hasta que no expandamos el sistema de ficheros como indicamos en el siguiente punto de este tutorial.
Cambiar tamaño partición / raíz virtual ext4 con GParted en VMware Workstation
Tras preparar la máquina virtual como hemos indicado en el apartado anterior, descargaremos el fichero ISO con la imagen de GParted Live CD, usaremos este fichero para arrancar con este sistema y expandir el disco duro de la máquina virtual Linux a su nuevo tamaño. Para descargar GParted accederemos a la URL:
En nuestro caso, a fecha de este artículo, descargaremos: gparted-live-0.13.0-3.iso, una vez descargado el fichero ISO con GParted Live CD (no es necesario crear un CD con la imagen), volveremos a VMware Workstation, seleccionaremos la máquina virtual con la que estamos trabajando, abriremos las propiedades de la máquina virtual, pulsando en "Edit virtual machine settings":
Expandir hd root virtual ext4 con GParted en VMware Workstation
Seleccionaremos "CD/DVD (IDE)" en "Device", en la parte derecha marcaremos "Use ISO image file" y pulsaremos "Browse":
Expandir hd root virtual ext4 con GParted en VMware Workstation
Seleccionaremos el fichero ISO descargado anteriormente "gparted-live-0.13.0-3.iso" y pulsaremos "Abrir":
Expandir hd root virtual ext4 con GParted en VMware Workstation
Marcaremos en "Device status" la opción "Connect at power on" y pulsaremos "OK":
Expandir hd root virtual ext4 con GParted en VMware Workstation
Lo que hemos hecho anteriormente ha sido indicarle a la máquina virtual que use como CD/DVD el fichero ISO de GParted Live CD, de esta forma en el próximo arranque se iniciará GParted antes que el propio sistema operativo. Esto es necesario cuando queremos modificar el tamaño de la partición de root donde está instalado el sistema Linux, si no arrancamos con GParted no podremos modificar el tamaño de una partición del sistema. Tras indicar a VMware Workstation que la máquina virtual con Linux arranque con GParted la iniciaremos pulsando en "Power on this virtual machine":
Expandir hd root virtual ext4 con GParted en VMware Workstation
Se iniciará GParted Live, pulsaremos en "GParted Live (Default settings):
Expandir hd root virtual ext4 con GParted en VMware Workstation
Nota: si no arranca GParted Live tendremos que acceder a la BIOS de la máquina virtual pulsando F2 justo después de arrancarla o bien iniciando la máquina virtual desde el menú "VM" - "Power" - "Power On to BIOS":
Expandir hd root virtual ext4 con GParted en VMware Workstation
Seleciconaremos "Select keymap from full list" (desplazándonos con las teclas de cursor) y pulsaremos INTO (OK):
Expandir hd root virtual ext4 con GParted en VMware Workstation
Seleccionaremos el tipo de teclado que tengamos, en nuestro caso "pc / qwerty / Spanish / Standard / Standard" y pulsaremos INTRO:
Expandir hd root virtual ext4 con GParted en VMware Workstation
Introduciremos el número correspondiente a nuestro idioma, en nuestro caso "25" y pulsaremos INTRO:
Expandir hd root virtual ext4 con GParted en VMware Workstation
Introduciremos "0" para arrancar GParted en modo gráfico y pulsaremos INTRO:
Expandir hd root virtual ext4 con GParted en VMware Workstation
Se iniciará GParted y nos mostrará los discos duros y sus particiones. Si todo el proceso es correcto nos mostrará el nuevo espacio libre sin asignar a la derecha. En nuestro caso disponemos de un disco duro con tres particiones:
  • /dev/sda1: partición root donde se encuentra el sistema operativo, a la que queremos aumentarle el tamaño.
  • /dev/sda2: partición donde se encuentran a su vez otras dos particiones:
    • /dev/sda5: partición linux-swap
    • Sin asignar: espacio no particionado resultado de la expansión anterior.
Si nos fijamos (y este es el escenario habitual) veremos que a la derecha de la partición principal ext4 root (del sistema), la /dev/sda2, se encuentra la partición linux-swap, por lo tanto no podremos ampliar el espacio de la partición del sistema de forma directa, tendremos que seguir los siguientes pasos para mover la partición swap a la derecha y dejar el espacio sin asignar junto a la partición del sistema, de esta forma sí podremos ampliarla:
1. En primer lugar seleccionaremos la partición linux-swap (/dev/sda5), pulsaremos con el botón derecho y seleccionaremos "Redimensionar/mover":
Expandir hd root virtual ext4 con GParted en VMware Workstation
Ampliaremos la partición linux-swap a todo el tamaño posible (ocupando todo el espacio libre que hemos dejado al expandir), este paso será sólo temporal, hemos de hacerlo así para poder luego mover el espacio sin asignar a la izquierda y la swap a la derecha:
Expandir hd root virtual ext4 con GParted en VMware Workstation
2. Ahora volveremos a seleccionar la partición "linux-swap" y pulsaremos con el botón derecho sobre ella, seleccionaremos nuevamente "Redimensionar/mover":
Expandir hd root virtual ext4 con GParted en VMware Workstation
Lo que haremos ahora será acortar por la izquierda la partición swap hasta dejarla en la parte derecha, como se muestra en la imagen, en nuestro caso aprovecharemos este proceso para ampliar también 1GB la partición swap, de 2GB que tenía la dejaremos en 3GB. Es muy importante que la partición swap quede a la derecha:
Expandir hd root virtual ext4 con GParted en VMware Workstation
GParted nos avisará de que el proceso de movimiento de una partición puede causar que el sistema operativo no arranque:
Expandir hd root virtual ext4 con GParted en VMware Workstation
Con el texto: Mover una partición puede causar que su sistema operativo falle al arrancar. Ha puesto en cola una operación para mover el sector de inicio de la partición /dev/sda5. Es más probable que ocurra un fallo al arrancar si mueve la partición GNU/Linux que contenga /boot, o si mueve la partición C: de un sistema Windows. Puede aprender cómo reparar la configuración de arranque en las P+F de GParted. Mover una partición puede tardar mucho tiempo en completarse.
3. Ahora redimensionaremos toda la partición /dev/sda2, la que contiene el espacio sin asignar y la partición /dev/sda5 (swap) a la derecha. Para ello seleccionaremos la partición "/dev/sda2" como mostramos en la imagen y pulsaremos con el botón derecho del ratón y seleccionaremos "Redimensionar/mover":
Expandir hd root virtual ext4 con GParted en VMware Workstation
Lo que haremos ahora será reducir todo lo que se pueda (hasta los 3GB de la partición swap), por la izquierda, la partición, de forma que dejaremos espacio libre sin asignar por la izquierda, justo después de la partición del sistema que queremos ampliar:
Expandir hd root virtual ext4 con GParted en VMware Workstation
Nota: es muy importante que la reducción de la partición se haga desde la izquierda a la derecha, de forma que la partición swap quede a la derecha y el espacio libre a la izquierda.
4. Ahora ya podremos redimiensionar y ampliar la partición con el sistema ext4 operativo Linux (la boot), seleccionaremos esta partición (/dev/sda1), pulsaremos con el botón derecho sobre ella y seleccionaremos "Redimensionar/mover":
Expandir hd root virtual ext4 con GParted en VMware Workstation
Ampliaremos el tamaño de la partición boot al máximo posible (en nuestro caso 48GB) y pulsaremos "Redimensionar/mover":
Expandir hd root virtual ext4 con GParted en VMware Workstation
5. Una vez que hayamos realizado las operaciones anteriores (GParted aún no las ha aplicado), para aplicarlas definitivamente (siempre nos aseguraremos de tener copia de seguridad, hasta este punto el proceso es reversible) pulsaremos en el menú "Editar" - "Aplicar todas las operaciones":
Expandir hd root virtual ext4 con GParted en VMware Workstation
Nos avisará de que la operación a partir de ahora será irreversible y podría causar la pérdida de datos, si tenemos la copia de seguridad y estamos seguros pulsaremos "Apply":
Expandir hd root virtual ext4 con GParted en VMware Workstation
Con el texto: ¿Está seguro de querer ejecutar todas las operaciones pendientes? la edición de particiones puede causar PÉRDIDA DE DATOS. Se recomienda hacer una copia de seguridad de sus datos antes de continuar.
El proceso se iniciará, el asistente de GParted nos mostrará las acciones que está realizando y el progreso de cada una de ellas:
Expandir hd root virtual ext4 con GParted en VMware Workstation

En nuestro caso el proceso de redimensionar y mover particiones tardará sólo unos segundos, debido a que se trata de discos duros virtuales. Cuando el proceso de redimensionar y mover particiones concluya, GParted nos lo indicará con "Operaciones completadas. Todas las operaciones se completaron satisfactoriamente". Pulsaremos "Close":
Expandir hd root virtual ext4 con GParted en VMware Workstation
Pulsaremos en el boton "Exit", acto seguido apagaremos la maquina virtual y quitamos que bootee con el ISO de Gparted para que inicie con nuestro sistema operativo.

Ya podremos arrancar la máquina virtual Linux y comprobar que todo el proceso de aumento del tamaño de la partición del sistema ha sido correcto, ejecutando "sudo df -h" veremos que el espacio libre ya es detectado por Linux correctamente:
Expandir hd root virtual ext4 con GParted en VMware Workstation


Si les gusto no olviden compartir y dejar sus comentarios.

No hay comentarios:

Publicar un comentario