No space left on device: mod_rewrite… Solución para servidor web Apache

servidor apache

servidor apache

En alguna ocasión me he topado con que al reiniciar Apache después de matar todos los procesos con killall -9 httpd el servidor Apache no quiere arrancar, Apache start [FALLA], dando en el log el error de más arriba. Se trata de que Apache no ha liberado recursos del sistema y debemos hacerlo nosotros. En concreto se trata de semáforos. Linux tiene dos comandos que me ayudan a hacer esto (ipcs e ipcrm). Por si acaso antes vamos a eliminar los procesos zoombie:

Ver procesos zoombie:

# ps -A -ostat,ppid,pid,cmd | grep -e ‘^[Zz]’

Matar procesos zoombie (tardará un poco):

# kill -HUP `ps -A -ostat,ppid,pid,cmd | grep -e ‘^[Zz]’ | awk ‘{print $2}’`

Este es el error al reiniciar o arrancar Apache:

[crit] (28) No space left on device: mod_rewrite: could not create rewrite_log_lock Configuration Failed

Solución:

Revisar los semáforos de Apache

# ipcs -s | grep apache

Eliminamos todos los semáforos de los procesos de Apache

# ipcs -s | grep apache | perl -e ‘while () { @a=split(/\s+/); print `ipcrm sem $a[1]`}’

Iniciar Apache

# service httpd start

Cambiar el UUID de un disco virtual en VirtualBox

Hace 3 días, pretendía hacer una prueba con VirtualBox y una máquina virtual donde tengo instalado Ubuntu. Como no quería alterar la máquina virtual, pensé que el camino más fácil consistía en hacer una copia del archivo con extensión .vdi (el archivo que contiene el disco duro virtual donde tengo instalado el sistema) y crear una máquina virtual nueva que, en realidad, seria una copia de la que ya tenía. Si, ya sé que las máquinas virtuales se pueden exportar, pero ¿qué es la vida si no se hacen experimentos?

Por supuesto, tuve la precaución de hacer la copia con la máquina virtual apagada (no vale cerrar guardando el estado).

Todo parecía ir bien hasta que intenté asignar el disco copiado a la nueva máquina. En ese momento, recibí un error como este:

error_uuid_01 virtualbox
error_uuid_01 virtualbox

El motivo es que ha detectado que existen dos discos con el mismo identificador (el original y la copia).

Si alguna vez te ocurre lo mismo, la solución es tan sencilla como decirle a VirtualBox que cree un identificador nuevo para el disco que acabas de crear. ¿Que cómo lo haces?, pues abre una ventana de Consola (Aplicaciones > Accesorios > Terminal) y dirígete al directorio donde tienes los discos duros virtuales para VirtualBox. Normalmente, la orden necesaria será esta (puedes copiar y pegar si te resulta más sencillo):

cd ~/.VirtualBox/HardDisks

A continuación, sólo tendrás que escribir (o copiar y pegar de nuevo) la siguiente orden:

VBoxManage internalcommands setvdiuuid "Ubuntu (copy).vdi"

… donde, lógicamente, tendrás que cambiar el nombre Ubuntu (copy).vdi por el que le hayas dado tú al archivo que has copiado (a la copia, no al original)

Después de esto, ya puedes crear una nueva máquina, que utilice el disco duro virtual que has duplicado, y tendrás un clon perfecto de la máquina original.

Espero que te resulte útil.

fuente: sliceoflinux.com