Solucionar vzquota : (error) Quota on syscall for 101: Device or resource busy

Primero debemos de comprobar que procesos son los que se han quedado zombies al intentar parar la máquina virtual. Para ello utilizaremos la siguiente linea, para ello solo deberemos cambiar dónde pone <VMID> por el id de nuestra máquina. La linia que hay que ejecutar es la siguiente:

lsof 2> /dev/null | egrep '/vz/root/101|/vz/private/<VMID>'

Este comando nos mostrará los archivos, directorios y procesos que hay activos y que deberemos de cerrar utilizando el comando kill. Por ejemplo:

file 10754 root cwd DIR 8,7 4096 2195493 /vz/private/vmid/home/coremail

Debemos fijarnos en la segunda columna del ejemplo, allí se mostrará el identificador del proceso (pid) que es el que utilizaremos
para cerrar el proceso con lo siguiente:

kill -9 10754

Una vez matados todos los procesos ya podremos arranzar de nuevo la máquina

Error al arrancar máquina virtual (vzquota failed)

Si cuando intentamos arrancar una máquina virtual y nos aparece un error cómo el que vamos a ver a continuación debemos de hacer dos cosas muy fáciles que ahora os vamos a explicar:

El error en cuestión es el siguiente:

vzquota : (warning) Incorrect quota shutdown for id VEID, recalculating disk usage

Y para solucionarlo y arrancar la máquina virtual debemos de hacer lo siguiente:

Desactivamos las quotas de la máquina escribiendo el id de nuestra máquina en vez de <VMID>

vzquota off VMID

Activamos las quotas de nuevo en la máquina para poder arrancar la máquina

vzquota on VMID

Una vez activadas de nuevo las quotas ya podrás arrancar de nuevo tu servidor virtual sin ningún problema!

vzctl start VMID

Cambiar contraseña a un servidor virtual

Si somos administradores de un servidor con OpenVZ o Proxmox instalado y queremos cambiar la contraseña de acceso de un usuario a un servidor virtual instalado deberemos utilizar el comando vzctl set con la opción userpasswd de la siguiente forma:

vzctl set <VMID> –userpasswd <USUARIO>:<CONTRASEÑA>

Por ejemplo, vamos a cambiar la contraseña al usuario “root” de la máquina virtualizada con ID 100, la nueva contraseña será “12345678″. El comando quedaría de la siguiente forma:

vzctl set 100 --userpasswd root:12345678

Una vez realizado los cambios ya podrá entrar a su servidor virtual con la nueva contraseña.

Ver el estado de una máquina virtual en OpenVZ o Proxmox

Para conocer el estado de una máquina virtualizada en Proxmox o en OpenVZ tenemos que utilizar el comando vzctl con la opción status, de la siguiente forma:

vzctl status <VMID>

Vamos a coger como ejemplo una máquina que tenemos con el ID 100, por lo que el comando quedaría así:

vzctl status 100

Vamos a ver que posibles resultados nos puede ofrecer el siguiente comando.

En estos momentos, tenemos la máquina online, por lo que lo comprobamos y nos devuelve lo siguiente:

CTID 100 exist mounted running

Si tuvieramos la máquina parada tendríamos esto:

CTID 100 exist unmounted down

Si por ejemplo, el servidor virtual estuviera parado pero se hubiera quedado montado, estaría así:

CTID 100 exist mounted down

Y por último, imaginate que te equivocas con el identificador de la máquina virtualizada y realmente el ID que le has pasado no existe, nos devolvería lo siguiente:

CTID 100 deleted unmounted down

Con la palabra deleted nos indica que esa máquina no existe.

Detener una máquina con OpenVz o Proxmox

Para poder detener una máquina virtual desde la linea de comandos de nuestro servidor con Proxmox o OpenVZ tenemos que utilizar el comando vzctl con la opción stop. El comando quedaría de la siguiente forma:

vzctl stop <VMID>

El <VMID> es el identificador del contenedor o máquina virtualizada de su sistema. Cogiendo como ejemplo que nuestra máquina tiene el identificador 100, el comando a ejecutar quedaría de la siguiente forma:

vzctl stop 100

Una vez ejecutado el comando, nos devolvería algo como esto, si es así, todo ha ido bien.

Stopping container ...
Container was stopped
Container is unmounted
También podemos comprobar que se ha realizado correctamente el apagado de la máquina comprobando el estado de ella con el siguiente comando:
vzctl status <VMID>
Por ejemplo:
vzctl status 100
Nos devolvería algo como esto:
CTID 100 exist unmounted down
Con la palabra down nos indican que el servidor virtual está parado y con la palabra unmounted que la máquina se ha desmontado correctamente, si estas dos palabras aparecen es que su máquina se ha parado correctamente.
También existe otra forma de apagar un contenedor virtual de una forma más rápida aunque no recomendable porque puede afectar a su sistema, lo podemos considerar como un apagado por hardware o como se suele llamar “de botón” como si apagaramos el ordenador de la oficina pulsando el botón.
La utilización es fácil, quedaría así:
vzctl stop <VMID> --fast
Utilizando como ejemplo nuestro contenedor con ID 100 sería así:
vzctl stop 100 --fast
El resultado es el mismo sólo cambia que el apagado de la máquina es mucho más rápido.