Gentoo Logo

Renuncia de responsabilidad: La versión original de este artículo fue publicada por IBM developerWorks y es propiedad de Westtech Information Services. Este documento es una versión actualizada del artículo original y contiene mejoras introducidas por el Equipo de Documentación de Gentoo.
Este documento carece de soporte activo.


Particionamiento en acción, Parte 2

Contenido:

1.  Consolidación de datos

Introducción

En mi anterior consejo, movimos apropiadamente /home a una nueva partición. Ahora, es el momento de aprender cómo consolidar archivos modificados frecuentemente en una nueva partición. ¿Por qué queremos hacer esto? He aquí un ejemplo. Los archivos modificados frecuentemente contribuyen extraordinariamente a la fragmentación. Una de las mejores formas de minimizar su efecto, es almacenar los archivos modificados frecuentemente en su propia partición. De esta forma, las otras particiones no se verán afectadas por la fragmentación de los archivos modificados muy a menudo. El concepto es fácil de entender, pero ¿como podemos hacerlo?

Primero, debemos crear una nueva partición para el propósito concreto de almacenar todos los archivos modificados muy a menudo. Se puede querer usar otro disco duro separado para incrementar el rendimiento. Entonces, seguimos los pasos para mover tanto /tmp como /var a una nueva partición.

Aviso: La siguiente técnica describe cómo mover partición(es). Aunque esta técnica está diseñada para que uno pueda regresar sobre sus pasos de un fallo al moverla, no protege de errores de usuario. En otras palabras, siempre que uno formatea particiones o se copia gran número de archivos, existe la posibilidad de teclear un comando equivocadamente y causar la pérdida de muchos datos. Por esta razón, se recomienda encarecidamente tomar todos pasos necesarios adecuadamente para hacer una copia de seguridad de todos los archivos importantes antes de proceder.

Crear un sistema de ficheros en la nueva partición

El primer paso de este procedimiento es crear una nueva partición lo suficientemente grande como para alojar /var y /tmp, con algo de espacio adicional. Se necesita o bien una unidad libre o bien otra partición no usada que contendrá los archivos modificados frecuentemente. De resultar necesario usar fdisk o cfdisk para crear la nueva partición, se necesitará reiniciar el sistema una vez. Entonces, es el momento de formatear la nueva partición como indicamos (no hay problema si se está en modo multi-usuario mientras se hace esto; (indicaré cuándo es necesario pasar a modo mono-usuario):

Listado de Código 1.1: Creación del sistema de ficheros

# mkfs.ext2 /dev/???

2.  La Montamos en /mnt/variable

Como en mi anterior consejo, debe reemplazarse ??? por el nombre del dispositivo para la nueva partición vacía que estamos creando. Teclear accidentalmente el número de partición equivocado, provocará que perdamos todos los datos en esa otra partición, ¡hay que tener mucho cuidado! Después de teclear este comando tendremos un sistema de ficheros ext2 completamente nuevo en la recién creada partición. Estamos casi listos para montarla, pero primero, vamos a crear un nuevo punto de montaje.

Listado de Código 2.1: Creación de un punto de montaje

# mkdir /mnt/variable

He elegido el nombre variable para recordarnos que esta partición en concreto va a ser usada específicamente para contener ficheros de los que se va a leer y en los que se va a escribir frecuentemente. Para montar la partición tecleamos:

Listado de Código 2.2: Montar la partición

# mount /dev/??? /mnt/variable

3.  Creación de un nuevo /tmp

La partición está montada y estamos listos para crear nuestro nuevo directorio /tmp:

Listado de Código 3.1: Creación del nuevo /tmp

# cd /mnt/variable
# mkdir tmp
# chmod 1777 tmp

4.  Pasar a modo mono-usuario

Nuestro nuevo directorio en /mnt/variable/tmp tiene los permisos correctos para un directorio temporal. Ahora, se pasa a modo de usuario único, dado que debemos copiar desde /var. Como siempre, hemos retrasado este paso lo máximo posible. Ahora, no podemos permitir que ningún programa lea o escriba datos en /var, así que debemos detener todos los demonios, desconectar a todos los usuarios y hacer algo de mantenimiento tecleando:

Listado de Código 4.1: Entrar en modo mono-usuario

# init 1

Si se nos pregunta, debemos entrar la contraseña de root para realizar el mantenimiento del sistema. Deberíamos tener un intérprete de comandos root ahora y se detendrán todos los demonios innecesarios. Creamos una nueva localización para los archivos de /var tecleando:

Listado de Código 4.2: Creación del nuevo directorio

# cd /mnt/variable
# mkdir var

5.  Copiar /var

Los permisos por defecto en nuestro nuevo directorio /mnt/variable/var deberían ser correctos, así pues, estamos listos para copiar el contenido de /var en la nueva partición::

Listado de Código 5.1: Copiado de datos

# cd /var 
# cp -ax * /mnt/variable/var

6.  Copia de seguridad y creación de enlaces simbólicos

Cuando este comando concluya, tendremos una copia exacta de /var en /mnt/variable/var. Ahora, nos estaremos preguntando cómo hacer que Linux use /mnt/variable/var y /mnt/variable/tmp en lugar de los que hay por defecto en el sistema de ficheros raíz. Puede hacerse fácilmente mediante el uso de enlaces simbólicos -- crearemos los nuevos enlaces simbólicos, /tmp y /var, que apuntarán a los directorios correspondientes en /mnt/variable. Primero, crearemos una copia de seguridad de los directorios originales:

Listado de Código 6.1: Copia de seguridad de los directorios

# cd /
# mv var var.old
# mv tmp tmp.old

El último comando será probablemente innecesario, dado que es muy probable que no se tenga nada importante en /tmp, pero vamos a hacerlo de la forma más segura posible. Ahora, se crean los enlaces simbólicos:

Listado de Código 6.2: Creación de los enlaces simbólicos

# cd /
# ln -s /mnt/variable/var /var
# ln -s /mnt/variable/tmp /tmp

7.  Toques finales en /etc/fstab

Ahora, cuando cualquier usuario o programa use /var, se redirigirá automáticamente a /mnt/variable/var, al igual que con /tmp . Aún nos queda un paso más, pero puede ser realizado de forma segura en modo multi-usuario nuevamente. Es el momento de poner Apache en funcionamiento de nuevo y de permitir a todos los usuarios que puedan entrar de nuevo al sistema. Salimos del nivel de ejecución 1 presionando CTRL-D. El sistema debería iniciarse normalmente. Entramos como root.

El último paso que debemos dar consiste en configurar /etc/fstab para que monte /dev/??? en /mnt/variable. Se debe añadir una línea como la siguiente en /etc/fstab:

Listado de Código 7.1: Configuración de fstab

/dev/???   /mnt/variable   ext2   defaults   1   2

Importante: Si se tiene un kernel del rango 2.3+, es muy probable que se tenga una línea como la siguiente en /etc/fstab:

Listado de Código 7.2: Memoria compartida

none   /var/shm   shm   defaults   0   0

Esta línea habilita la memoria compartida en el sistema, y se monta por defecto en /var. Para que este parámetro funcione correctamente, debe aparecer justo después de la línea que acabamos de añadir. De esta forma, cuando se inicia Linux, /mnt/variable se montará primero (habilitando /var). Entonces, y sólo entonces, el dispositivo de memoria compartida shm se montará en /var/shm, aunque en realidad sea /mnt/variable/var/shm. Hay que asegurarse de que las líneas están en este orden:

Listado de Código 7.3: Habilitar la memoria compartida

/dev/???        /mnt/variable   ext2    defaults       1     2
none            /var/shm        shm     defaults       0     0

Después de guardar los cambios en /etc/fstab, ¡el sistema se habrá actualizado correctamente! Después de verificar que todo está funcionando correctamente, se podrán eliminar los directorios de las copias de seguridad /tmp.anterior y /var.anterior. Enhorabuena -- se han reconfigurado las particiones del sistema para alcanzar un rendimiento óptimo.

Recursos

Acerca del autor

Daniel Robbins vive en Albuquerque, New Mexico. Él fue el Presidente/CEO de Gentoo Technologies Inc., el Arquitecto Jefe del Proyecto Gentoo y contribuye como autor de varios libros publicados por MacMillan: Caldera OpenLinux Unleashed, SuSE Linux Unleashed y Samba Unleashed. Daniel se ha visto involucrado en el mundo de las computadoras de algún modo desde segundo grado cuando se expuso al lenguaje de programación Logo y a una potencialmente letal dosis de Pac Man. Ésto probablemente explica porqué ha sido un artista de gráficos en SONY Electronic Publishing/Psygnosis. Daniel disfruta pasando el tiempo con su mujer Mary y con su hija, Hadassah. Se puede contactar con Daniel en Daniel Robbins.



Imprimir

Página actualizada 2 de marzo, 2010

Sumario: En este segundo consejo acerca de cómo cambiar el entramado de particiones en un sistema en funcionamiento, Daniel Robbins muestra cómo mover /tmp y /var a otra partición compartida por ambos. También cubre algunos trucos para evitar caídas y evitar cometer costosos errores.

Daniel Robbins
Autor

Fernando M. Bueno
Traductor

José María Alonso
Traductor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.