SummArg | Cursos y recursos para webmasters

24/06/2013

Crear una partición con mas capacidad para /tmp en linux

Los archivos temporales de los webservers suelen almacenarse en una partición diferente al de nuestras aplicaciones para evitar que algún crecimiento inesperado de los mismos inhabiliten nuestro servicio.

DirectAdmin nos advierte de la siguiente manera que dicho directorio se encuentra al borde de su capacidad:

Subject: Warning: The disk usage for one or more of your partitions is running low
 This is an automated message notifying you that the following partition(s) have exceeded the 95% threshold:
 98% - /tmp

Podemos verificarlo abriendo la consola y tipeando:

# df

Lo que nos devolverá:

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 476482592 42494244 409784368 10% /
tmpfs 943960 0 943960 0% /dev/shm
/dev/sda1 198368 62996 125132 34% /boot
/home/tmpMnt 27917308 23883184 2615988 91% /tmp

Y para solucionarlo no hay modo de aumentar el tamaño de dicha partición, sino que debemos crear una nueva y montar la misma carpeta.

Primero debemos detener MySQL y Apache.

# service httpd stop
# service mysqld stop

Creamos un backup de la carpeta temporal.

# cp -rp /tmp /tmp.bak

Creamos una partición de 2GB (se aconseja que el tamaño de la partición sea por lo menos del doble del tamaño de RAM que manejemos).

# dd if=/dev/zero of=/usr/temp-disk bs=2M count=1024

Creamos un archivo de sistema.

# mke2fs -j /usr/temp-disk

Desmontamos la partición actual de /tmp.

# umount /tmp

Montamos el nuevo archivo de sistema.

# mount -t ext3 -o rw,noexec,nosuid,loop /usr/temp-disk /tmp

Le damos permisos de escritura.

# chmod 1777 /tmp

Verificamos que se haya creado y montado correctamente la partición.

# mount

Restauramos el backup de /tmp.

# cp -rp /tmp.bak/* /tmp

Iniciamos MySQL y Apache

# service httpd start
# service mysqld start

Para asegurarnos que la partición sea correctamente asignada, editamos el archivo /etc/fstab y reemplazamos la línea de /tmp por lo siguiente:

/usr/temp-disk /tmp ext3 rw,noexec,nosuid,loop 0 0

Para los usuarios de cPanel aquí hay un excelente artículo sobre como solucionar el problema.

Entradas Relacionadas

  • Sin entradas similares

Dejar un comentario