Redimensionamiento de las particiones de Linux, Parte 2: Redimensionamiento avanzado

LVMs, resolución de problemas y alternativas

Los sistemas de Linux® con frecuencia están instalados en múltiples particiones, cada una de las cuales tiene un tamaño fijo. Sin embargo, a medida que sus necesidades cambian, con frecuencia es necesario redimensionar dichas particiones para que se adecuen a sus necesidades cambiantes. Existen varias herramientas para hacerlo en Linux, pero hay una cantidad de riesgos y restricciones potenciales que pueden hacer que la tarea sea más difícil de lo que parecería ser a primera vista. Este artículo cubre los problemas del redimensionamiento de avanzada de las particiones, incluyendo el uso de los dispositivos de Logical Volume Management (LVM), la resolución de problemas y las alternativas al redimensionamiento de las particiones. La Parte 1 de esta serie cubrió el redimensionamiento básico de las particiones.

Roderick W. Smith, Consultant and author

Rod SmithRoderick W. Smith es consultor y autor de más de una docena de libros sobre UNIX y Linux, incluyendo The Definitive Guide to Samba 3, Linux in a Windows World, y Linux Professional Institute Certification Study Guide. También es autor del software para el particionamiento del fdisk GPT. Actualmente reside en Woonsocket, Rhode Island.



21-01-2011

Las operaciones sencillas para el redimensionamiento de las particiones, tales como las descritas en la Parte 1 de esta serie, generalmente finalizan exitosamente. Sin embargo, algunas veces, usted necesita hacer algo diferente o solucionar los problemas. Este artículo cubre algunas de estas situaciones. El primer tema es la configuración de LVM y de qué manera éste interactúa con el redimensionamiento de las particiones. El segundo tema es sobre las técnicas para la resolución de los problemas. Aunque una descripción completa de todos los problemas que pueden ocurrir al redimensionar las particiones podría llenar un libro, unos pocos principios básicos pueden ayudarlo a trabajar con muchos problemas comunes. Finalmente, este artículo describe algunas alternativas al redimensionamiento de las particiones, si los problemas que usted encuentra prueban ser insuperables.

Redimensionamiento de LVMs

LVM es una técnica para la asignación de disco que complementa o reemplaza las particiones tradicionales. En una configuración de LVM, una o más particiones, u, ocasionalmente los discos enteros, son asignados como volúmenes físicos en un grupo de volúmenes, el que a su vez es dividido en volúmenes lógicos. Los sistemas de archivos son entonces creados en volúmenes lógicos, los que son tratados como particiones en una configuración convencional. Este enfoque de la asignación del disco agrega complejidad, pero el beneficio es la flexibilidad. Una configuración de LVM posibilita la combinación del espacio en disco de varios discos pequeños con un volumen lógico grande. Más importante para el tema del redimensionamiento de las particiones es que los volúmenes lógicos pueden ser creados, eliminados y redimensionados como los archivos en un sistema de archivos; no debe preocuparse por los puntos de inicio de las particiones, sólo por su tamaño absoluto.

Nota: No intento describir cómo configurar un LVM en este artículo. Si ya no utiliza una configuración de LVM, no podrá convertir su sistema para usar una, pero debería consultar otra documentación, tal como Linux LVM HOWTO (vea Resources), para conocer más detalles sobre cómo hacerlo.

Redimensionamiento de los volúmenes físicos

Si usted ha redimensionado las particiones que no sean LVM, según se describe en la Parte 1 de esta serie, y desea agregar el espacio a la configuración de su LVM, tiene dos opciones:

  • Puede crear una nueva partición en el espacio vacío y agregar la nueva partición a su LVM.
  • Puede redimensionar una partición existente LVM, si es contigua con al espacio nuevo.

Desafortunadamente, la herramienta GParted (también conocida como Gnome Partition Editor) descrita en la Parte 1 de esta serie da soporte al redimensionamiento de las particiones LVM. Por lo tanto, la forma más sencilla de agregar espacio a su grupo de volumen es creando una nueva partición en el espacio libre y agregarla como un nuevo volumen físico a su grupo de volumen existente.

Aunque GParted no pueda crear directamente una partición LVM, usted puede hacerlo con una de las siguientes herramientas:

  • parted (GNU Parted modalidad de texto)
  • fdisk para los discos Master Boot Record (MBR)
  • gdisk para los discos globally unique identifier (GUID) Partition Table (GPT)

Si utiliza parted, puede usar el comando set para activar la marca lvm, como en set 1 lvm on para marcar la partición 1 como una partición LVM. Al utilizar fdisk, usted debería usar el comando t para definir el código del tipo de la partición de en 8e. Hace los mismo con gdisk, salvo que su código de tipo para las particiones LVM sea 8e00.

En cualquiera de estos casos, usted debe utilizar el comando pvcreate para definir las estructuras básicas de los datos de LVM en la partición y luego vgextend para agregar la partición al grupo de volumen. Por ejemplo, para agregar /dev/sda1 al grupo de volumen MyGroup existente, debe ingresar los siguientes comandos:

pvcreate /dev/sda1 vgextend MyGroup /dev/sda1

Al finalizar estos cambios, usted debería poder extender los volúmenes lógicos a su grupo de volumen, según lo descrito brevemente.

Redimensionamiento de los volúmenes lógicos

Para los sistemas de archivos el redimensionamiento de los volúmenes lógicos puede ser más sencillo que el redimensionamiento de las particiones porque LVM obvia la necesidad de dejar a un lado los conjuntos contiguos de los sectores numerados como particiones. El redimensionamiento del volumen lógico en sí mismo se logra por medio del comando lvresize. Este comando toma una cantidad de opciones (consulte su página man para obtener más detalles), pero el más importante es -L, el que toma un nuevo tamaño o cambia el tamaño, un cambio que es indicado por un signo más a la izquierda (+) o uno menos a la izquierda (-). Usted también debe ofrecer una ruta para el volumen lógico. Por ejemplo, suponga que desea agregar 5 gibibytes (GiB) al tamaño del volumen lógico usr en el grupo MyGroup. Podría hacerlo de la siguiente manera:

lvresize -L +5G /dev/mapper/MyGroup-usr

Este comando ajusta el tamaño del volumen lógico especificado. Sin embargo, recuerde que este cambio es como un cambio en una partición sola. Es decir, el tamaño del sistema de archivos contenido en el volumen lógico no es modificado. A fin de ajustar el sistema de archivos, usted debe utilizar una herramienta específica del sistema de archivos, tales como resize2fs, resizereiserfs, xfs_growfs o la opción de montaje resize al montar el Journaled File System (JFS). Cuando se utilizan sin las opciones de tamaño, todas estas herramientas redimensionan el sistema de archivos para completar el nuevo tamaño del volumen lógico, lo que es conveniente al aumentar dicho volumen.

Si desea disminuir el volumen lógico, la tarea es un poco más compleja. Primero debe redimensionar el sistema de archivos (utilizando resize2fs o herramientas similares) y luego disminuir el volumen lógico para hacer concordar el nuevo tamaño. Dada la posibilidad de un error que usted pudiera causar si accidentalmente definiera el tamaño del volumen demasiado pequeño, recomiendo primero achicar bastante el sistema de archivos de manera que sea más pequeño que el tamaño destino, luego redimensionar el volumen lógico al nuevo tamaño correcto, y luego redimensionar el sistema de archivos nuevamente para aumentar su tamaño basándose en el dispositivo de dimensionamiento automático a fin de hacer que el sistema de archivos complete exactamente el nuevo volumen lógico.

Recuerde también que, aunque usted pueda achicar muchos sistemas de archivos nativos de Linux, no podrá achicar XFS o JFS. Si necesita achicar un volumen lógicos que contiene uno de estos sistemas de archivos, es posible que tenga que crear un nuevo volumen lógico más pequeño, copiar el primer contenido de uno al nuevo volumen, reorganizar sus puntos de mo ntaje y luego eliminar el original. Si no tiene suficiente espacio libre para hacerlo se verá obligado a usar un backup como paso intermedio.

Uso de las herramientas GUI LVM

Aunque las herramientas de la modalidad de texto que acabamos de describir realicen el trabajo, pueden ser intimidantes. Si usted prefiere trabajar con las herramientas de graphical user interface (GUI), por lo menos dos están disponibles para las operaciones de LVM:

  • kvpm—Esta es una herramienta que se integra al K Desktop Environment (KDE) y les brinda acceso a las operaciones comunes de LVM, incluyendo las opciones de redimensionamiento del volumen lógico.
  • system-config-lvm—Este programa fue originado con Red Hat, pero está disponible en algunas otras distribuciones. Es similar a kvpm en que le brinda acceso "point-and-click" a la administración de LVM, incluyendo el redimensionamiento de las operaciones.

De las dos, system-config-lvm provee una interfaz más simple y más amigable para el usuario; sin embargo, cualquiera realizará el trabajo. La Figura 1 muestra la system-config-lvm en acción. Para redimensionar un volumen lógico cliquee su nombre en el panel izquierdo, luego haga clic en el botón Edit Properties que aparece en el panel medio. Entonces usted puede usar un deslizador para ajustar el tamaño del volumen.

Figura 1. Las herramientas de GUI facilitan relativamente el redimensionamiento de los volúmenes lógicos
Las herramientas de GUI facilitan relativamente el redimensionamiento de los volúmenes lógicos

Troubleshooting problems

Desafortunadamente, las operaciones de redimensionamiento de las particiones a veces no funcionan como se espera. Es muy común que el software de redimensionamiento informe un error, frecuentemente con un mensaje críptico. Aunque existen numerosas causas posibles de dichos problemas, usted puede superar una gran cantidad de ellos aplicando unas alternativas sencillas, tales como solucionar los problemas del sistema de archivos y dividir una operación de redimensionamiento compleja en varias partes.

Solucionar los problemas del sistema de archivos

Una causa común de las fallas del redimensionamiento es un sistema de archivos dañado. Todos los sistemas de archivos de producción incluyen las herramientas de recuperación del sistema de archivos que le permiten solucionar dichos problemas, entonces ejecutándolos en un sistema de archivos antes del redimensionamiento puede facilitar la operación de redimensionamiento.

En Linux, la herramienta de verificación del sistema de archivos se denomina fsck, y usted la llama pasándole el filename del dispositivo asociado con el sistema de archivos que desea verificar, como en fsck /dev/sda1 para verificar /dev/sda1. Sin embargo, el utilitario fsck es principalmente un front-end en cuanto a las herramientas específicas del sistema, tales como e2fsck (para ext2fs, ext3fs y ext4fs). Con frecuencia usted puede obtener acceso a las opciones más avanzadas llamando directamente a la herramienta específica del sistema de archivos. La opción -f para e2fsck, por ejemplo, la fuerza a verificar el dispositivo aun si el sistema de archivos estuviera aparentemente limpio. Esta opción puede ser necesaria para descubrir la corrupción que no es obvia en un examen superficial. Verifique la documentación sobre el programa ayudante de fsck a fin de conocer más detalles acerca de sus opciones.

En muchos casos es necesario ejecutar fsck o su programa ayudante en un sistema de archivo desmontado. Así, es posible que usted necesite hacerlo desde un disco de arranque de emergencia, según se describe en la Parte 1 de esta serie.

Si tuviera problemas con un sistema de archivos que no sea de Linux, usted puede usar fsck para verificarlo; sin embargo, también puede necesitar arrancar el sistema operativo nativo del sistema de archivos para realizar el trabajo apropiadamente. En particular, Microsoft® Windows® New Technology File System (NTFS) sólo tiene herramientas de mantenimiento rudimentarias en Linux. Usted debe utilizar el utilitario CHKDSK de Windows para realizar un buen trabajo de verificación de NTFS. Es posible que necesite ejecutar este utilitario varias veces, hasta que ya no informe problemas con el disco. El utilitario de Linux ntfsfix lleva a cabo las pocas verificaciones que son posibles en Linux y luego marca el sistema de archivos para la verificación automática la próxima vez que arranque Windows.

Aunque no se trate de un problema de la integridad del sistema de archivos per se, la fragmentación del disco es otro problema que podría requerir atención. Algunas veces usted puede eliminar los problemas realizando una operación de desfragmentación del disco antes de realizar la de redimensionamiento. Casi nunca es necesaria esta tarea (y generalmente no es posible) con los sistemas de archivos nativos de Linux; sin embargo, puede ayudar con File Allocation Table (FAT) o con las particiones NTFS.

Dividir la operación en partes

Si ingresa un número de operaciones de redimensionamiento y traslado a GParted y la operación fracasa, puede intentar ingresar sólo una operación a la vez y luego cliquear inmediatamente el botón Apply. Usted podría todavía tener problemas, pero será capaz, por lo menos, de realizar otras operaciones que no dependan de la que causa los problemas. Dependiendo de los detalles, es posible que usted pueda lograr por lo menos algunos de sus objetivos generales o encontrar alguna otra forma de solucionar el problema.

En algunos casos, es posible que sea capaz de dividir la operación de redimensionamiento en múltiple utilitarios. Por ejemplo, usted puede utilizar un utilitario Windows o Mac OS X para redimensionar las particiones FAT, NTFS o Hierarchical File System Plus (HFS+). Aunque GParted es la forma de redimensionar las particiones más amigable para el usuario en Linux, si sólo una operación es la que causa problemas, el uso de un utilitario subyacente en modalidad de texto, tal como resize2fs, puede brindarle un diagnóstico mejor o incluso puede triunfar en donde GParted fracasa. Sin embargo recuerde que muchas herramientas de modalidad de texto redimensionan ya sea particiones como los sistemas de archivos, pero no ambos; usted debe combinar ambos tipos de herramientas para redimensionar una partición y su sistema de archivos. El utilitario GNU Parted es una excepción a esta regla, como su primo GUI, GParted, Parted redimensiona las particiones y sus sistemas de archivos contenidos simultáneamente.


Plan B

A veces un intento de redimensionar sus particiones no funciona. Quizás un sistema de archivos tiene errores que no pueden ser fácilmente resueltos, o tal vez usted necesita achicar un sistema de archivos (tales como XFS o JFS) que no puede ser achicado. En estos casos, debe pasar a una alternativa, tal como reubicar los directorios en la partición existente de su estructura, realizando una operación de backup-repartición-restauración o agregando más espacio en el disco.

Reubicación de los directorios sin reparticionar

Algunas veces usted puede reubicar los directorios sin reparticionar realmente el disco. El truco consiste en utilizar vínculos simbólicos para indicar de un lugar a otro, aun en las particiones. Por ejemplo, suponga que está usando un sistema Gentoo, el que puede consumir grandes cantidades de espacio de disco en los directorios /usr/portage y /var/tmp/portage. Si no tiene en cuenta estas necesidades al configurar su sistema podría quedarse sin espacio. Sin embargo, podría tener espacio disponible en una partición aparte /home. A fin de usar este espacio para Portage, usted puede crear una o más particiones en /home, copiar el contenido de /usr/portage o /var/tmp/portage a los nuevos directorios, eliminar los directorios originales y crear vínculos simbólicos en lugar de los originales que indiquen los nuevos subdirectorios de /home.

Este enfoque puede ser efectivo y es conveniente en una pequeña escala; sin embargo, crea una especie de sistema no estándar y quita muchas de las ventajas de usar particiones por separado. De esta forma, recomiendo utilizar este enfoque con moderación y preferentemente sólo a corto plazo—por ejemplo, como una medida provisoria mientras espera un nuevo disco duro o un sistema que planifique retirar dentro de un mes o dos.

Realizar un back up, reparticionar y restaurar

Antes del desarrollo de las herramientas para el redimensionamiento del sistema de archivos, la única forma práctica de reparticionar un disco era realizar un back up de su contenido, repartición (creando nuevos sistemas de archivos vacíos) y restaurar el backup en el disco reparticionado. Este enfoque continúa funcionando, pero, por supuesto, es menos conveniente que utilizar GParted para reparticionar sin causar daño. Por otro lado, para mayor seguridad es mejor crear un backup antes de redimensionar las particiones. Para estar seguro, usted debe hacer la mitad de alguna forma.

En el mundo actual, una unidad de disco duro externa es, con frecuencia, usada como un medio de backup. Usted puede comprar discos externos de terabytes por menos de $100, y luego del manejo de las particiones usted puede utilizarlas para realizar un backup de sus archivos importantes para transferir grandes archivos entre sistemas, o de otras formas. En forma alternativa puede usar DVDs regrabables, unidades de cinta o servidores de redes como los sistemas de backup.

El software de backup puede incluir los antiguos standbys, tales como las herramientas tar o más nuevas, tal como Clonezilla. Los detalles operativos varían dependiendo del software y del medio de backup, de manera que usted debería consultar la documentación sobre el software de backup para obtener más detalles.

Si necesita modificar su partición de arranque de Linux o cualquier partición que sea requerida para el acceso básico al raíz (superuser), usted necesita realizar estas operaciones desde un sistema de arranque de emergencia. La Parte 1 de esta serie describió dichos sistemas.

Agregar espacio en disco

El hecho de agregar espacio en disco puede ser una alternativa viable para reparticionar y, en algunos casos, puede ser preferible. La capacidad en disco continúa aumentando y es probable que un disco más nuevo sea más confiable que uno que tenga varios años de antigüedad.

Si elige reemplazar el disco existente por uno más nuevo debería ser capaz de transferir su sistema existente al nuevo disco con una herramienta tal como Clonezilla o utilizando herramientas más antiguas, tales como fdisk y tar. Es probable que necesite reinstalar su "boot loader", y, para esta tarea, puede ser útil un arranque usando una herramienta como Super Grub Disk. Puede arrancar su sistema utilizando este boot loader basado en un CD, luego usar grub-install o una herramienta similar para reinstalar el GRand Unified Bootloader (GRUB) en su nuevo disco duro.

Si compra un nuevo disco para complementar en lugar de reemplazar su disco existente, necesita decidir qué datos, si los hubiera, deberá transferir al nuevo disco. Usted debería particionar el nuevo disco utilizando fdisk, GParted, o alguna otra herramienta, para transferir los archivos a las nuevas particiones, y luego montar permanentemente las particiones del nuevo disco a su árbol de directorios existente editando /etc/fstab de forma apropiada. Recuerde eliminar cualquier archivo que transfiera al nuevo disco desde el disco antiguo. De lo contrario, continuará consumiendo espacio del antiguo disco, aun cuando usted monte el nuevo disco para sustituir los directorios de los archivos originales.


Resumen

De la forma que lo haga, alterar una ubicación de disco del sistema en funcionamiento puede ser una tarea angustiosa, y con razón: Muchas cosas pueden ir mal. Sin embargo, si dichos cambios son necesarios, descubrirá que su sistema es más útil una vez realizadas sus modificaciones. Con un riesgo reducido en cuanto a los errores causados por el disco lleno, usted puede continuar usando realmente su sistema para la tarea asignada. El proceso de redimensionar sus particiones también puede ayudarlo a familiarizarse con GParted y con otros utilitarios de disco, así como también con los tamaños óptimos para las distintas particiones. Todo esto puede ser útil para la próxima vez que instale un nuevo sistema de Linux.

Recursos

Aprender

Obtener los productos y tecnologías

  • Descargue PartedMagic de su website.
  • Descargue SystemRescueCd de su website.
  • La herramienta más flexible para el redimensionamiento de particiones de Linux es GParted, la que está incluida en PartedMagic, SystemRescueCd y en muchas distribuciones de Linux.
  • GParted está basada en libparted, la que se envía como del paquete GNU Parted en modalidad de texto.
  • Clonezilla es una herramienta para clonar las particiones del disco duro o todos los discos duros.
  • El Super GRUB Disk es una herramienta para arrancar un sistema Linux que no arrancará debido a un boot loader faltante o a uno dañado.
  • Evaluate IBM products de una manera que mejor se adecue a usted: Descargue un trial, pruebe un producto en línea, use un producto en un entorno en nube o dedíquele unas pocas horas a SOA Sandbox aprendiendo cómo implementar eficientemente la Service Oriented Architecture.

Comentar

  • Involúcrese con la My developerWorks community. Conéctese con otros usuarios de developerWorks mientras explora los blogs, los foros, los grupos y los wikis basados en el desarrollador.

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Linux
ArticleID=619390
ArticleTitle=Redimensionamiento de las particiones de Linux, Parte 2: Redimensionamiento avanzado
publish-date=01212011