Problema: En ocasiones, es necesario redimensionar una partición en tu sistema, ya sea para utilizar espacio adicional o para ajustar su tamaño.
Síntomas: Puedes encontrarte con esta necesidad cuando el espacio en disco se agota o cuando necesitas reorganizar el almacenamiento en tu servidor.
1. Verificación de la partición: Antes de realizar cualquier cambio, verifica la tabla de particiones del disco usando el comando:
sudo parted /dev/sdX print
Esto te mostrará las particiones existentes en el disco seleccionado.
2. Identificación de la partición a redimensionar: Una vez que has identificado la partición que deseas redimensionar, verifica su estado actual y su tamaño utilizando comandos como `lsblk` o `df -h`.
To use all available disk space in a VM with LVM, follow these steps:
1. Resize the partition: Start by resizing the partition to fill the remaining space on the disk.
sudo parted /dev/sda
In the parted prompt, resize the nth (e.g. the third partition sda3) to the maximum size:
(parted) resizepart 3 100% (parted) quit
2. Extend the Logical Volume:
Use the lvextend command to allocate all available free space in the volume group to the logical volume:
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
3. Resize the Filesystem: Finally, expand the filesystem to use the new space:
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
4. Verify: Check the expanded disk space:
df -h
—-
1. Redimensionamiento de la partición: Utiliza la herramienta `parted` para redimensionar la partición deseada. Por ejemplo:
sudo parted /dev/sdX (parted) resizepart n 100%
Esto redimensionará la enésima partición del disco al tamaño máximo disponible.
Realizar el redimensionamiento de una partición usando el comando `parted` de esta manera:
sudo parted /dev/sdX (parted) resizepart n 100%
Es esencialmente equivalente a utilizar el comando `growpart` en la forma:
sudo growpart /dev/sdX n
Ambos comandos sirven para redimensionar una partición en un disco específico (`/dev/sdX`) al tamaño máximo disponible. La diferencia principal radica en la herramienta que se utiliza para realizar la operación, pero el resultado final es el mismo: la partición se redimensiona para ocupar todo el espacio disponible en el disco.
En muchos sistemas, especialmente en entornos de AWS (Amazon Web Services) y otros entornos de nube, `growpart` es más comúnmente utilizado y recomendado para redimensionar particiones, ya que está específicamente diseñado para esta tarea y puede manejar ciertos casos especiales de manera más eficiente. Sin embargo, en sistemas donde `parted` está disponible y se prefiere su uso, la sintaxis que has mencionado también es perfectamente válida y logrará el mismo resultado.
2. Extensión del volumen físico del grupo de volúmenes (VG): Una vez redimensionada la partición, extiende el volumen físico del grupo de volúmenes para hacer uso del espacio adicional:
sudo vgextend ubuntuvg /dev/sdXn
3. Extensión del tamaño lógico del volumen (LV): Incrementa el tamaño lógico del volumen para reflejar los cambios en el grupo de volúmenes:
sudo lvextend -L +123G /dev/ubuntuvg/lvdata
4. Redimensionamiento del sistema de archivos: Finalmente, ajusta el tamaño del sistema de archivos para ocupar todo el espacio disponible en el volumen lógico:
sudo resize2fs /dev/mapper/ubuntuvg_lvdata
Para confirmar que el redimensionamiento se ha realizado correctamente, verifica el tamaño del sistema de archivos utilizando:
df -h
Asegúrate de que el sistema de archivos refleje el tamaño esperado después de la expansión.
Nota final: Es importante tener cuidado al redimensionar particiones, ya que los datos podrían corromperse si no se realiza correctamente. Realiza copias de seguridad antes de llevar a cabo cualquier cambio en la estructura del almacenamiento.
El redimensionamiento de particiones puede ser un proceso delicado, pero con precaución y los pasos adecuados, puedes ajustar el almacenamiento de tu sistema según tus necesidades.
Aquí tienes una breve explicación de cada etapa:
1. Extensión/Modificación del Dispositivo de Almacenamiento: Esto se refiere a la tarea de aumentar o modificar el tamaño del dispositivo de almacenamiento subyacente, como el disco virtual de una máquina virtual. Es el primer paso para proporcionar más espacio de almacenamiento al sistema.
2. Actualización de la Tabla de Particiones del Sistema Operativo/Kernel: A veces, después de modificar el tamaño del dispositivo de almacenamiento, es necesario que el sistema operativo y el kernel reconozcan estos cambios. Esto puede requerir un reinicio del sistema para que se actualicen las tablas de particiones en la memoria del kernel.
3. Extensión/Modificación de la Tabla de Particiones de la Partición: Una vez que el dispositivo de almacenamiento se ha extendido, es necesario ajustar la tabla de particiones para reflejar este cambio. Esto implica redimensionar la partición existente o crear una nueva si es necesario.
4. Actualización de la Tabla de Particiones: Después de modificar la tabla de particiones, es importante actualizarla en el sistema para que el kernel pueda reconocer los cambios. Esto se puede hacer utilizando comandos como `blockdev` o `partprobe`, o simplemente reiniciando el sistema.
5. Extensión del Sistema de Archivos: Una vez que la partición se ha redimensionado, es necesario ajustar el sistema de archivos para que ocupe todo el espacio disponible en la partición. Esto se realiza mediante herramientas como `resize2fs` para sistemas de archivos ext2, ext3 o ext4.
6. Resizing en LVM (Logical Volume Manager) u Otras Configuraciones: Si estás utilizando LVM u otras configuraciones de almacenamiento avanzadas, es posible que también necesites extender los volúmenes físicos (PV), los grupos de volúmenes (VG) y los volúmenes lógicos (LV) para hacer uso del espacio adicional.
Estos pasos proporcionan una guía general para redimensionar particiones y ajustar el almacenamiento en sistemas Linux, asegurando que se realicen los cambios de manera segura y efectiva. Puedes agregar esta información a tu documentación para ayudar a otros usuarios a comprender el proceso de redimensionamiento de particiones.
(junto con una breve descripción de cada uno)
1. `parted`: Herramienta de línea de comandos para manipular la tabla de particiones en discos.
2. `lsblk`: Muestra información sobre los dispositivos de bloques, como discos y particiones.
3. `fdisk`: Utilidad para manipular la tabla de particiones de un disco.
4. `gdisk`: Variante de `fdisk` específica para discos con formato GPT (GUID Partition Table).
5. `vgdisplay`: Muestra información detallada sobre los volúmenes físicos y los grupos de volúmenes LVM.
6. `lvs`: Muestra información sobre los volúmenes lógicos en un sistema LVM.
7. `lvextend`: Extiende un volumen lógico en un grupo de volúmenes LVM.
8. `resize2fs`: Ajusta el tamaño de un sistema de archivos ext2, ext3 o ext4 para que coincida con el tamaño del volumen lógico.
9. `df`: Muestra el espacio utilizado y disponible en los sistemas de archivos montados.
10. `free`: Muestra la cantidad de memoria libre y utilizada, incluyendo el swap.
Estos comandos son fundamentales para trabajar con particiones y volúmenes lógicos en sistemas Linux y te ayudarán en el proceso de redimensionamiento de particiones.
LVM Cheat Sheet | Linux System Administration Guide: https://ioflood.com/blog/lvm-linux-command/