Corregir el error «Date: cannot set date; Operation not permitted (OpenVZ)» en una VM Open VZ (09/04/2014)

Una vez que tenemos instalado un contenedor OpenVZ (Entorno Virtual / EV) no se puede modificar la fecha/hora del mismo y la zona horaria no es la correcta (al menos para el caso nuestro). Intentar modificar estos datos da como resultado el siguiente error:

# date -s «hh:mm:ss»

date: cannot set date: Operation not permitted

Para corregir este problema, se debe salir del contenedor y ejecutar los siguientes comandos:

# vzctl stop <veid>

# vzctl set <veid> –save –capability sys_time:on

# vzctl start <veid>

Donde <veid> es el ID del entorno virtual en cuestión. Luego, entrar en dicho entorno virtual y ejecutar los siguientes comandos para modificar apropiadamente la zona horaria del mismo:

# vzctl enter <veid>

# mv /etc/localtime /etc/localtime.old

# ln -s /usr/share/zoneinfo/America/Havana /etc/localtime

Ahora ya se puede modificar la fecha y la hora del sistema en el entorno virtual sin problemas.

 

Acerca de Hector Suarez Planas

Es Licenciado en Ciencia de la Computación (3 de julio de 2002). Ha sido Administrador de Red en varias organizaciones, Programador y Analista de Sistemas. Actualmente se desempeña como Administrador de Red del Telecentro Tele Turquino de Santiago de Cuba. Tiene experiencia con sistemas Windows y GNU/Linux, Infraestructura de Redes (Cisco, AlliedTelesis, Netgear y HP ProCurve, Vyatta/VyOS), Servidores tanto físicos como virtuales (plataformas VMWare, Proxmox VE y Xen), Sistemas de Seguridad Informática (Snort/Suricata IDS, appliances AlienVault OSSIM), programador (Delphi, C++ Builder, Perl [poco], Python [algo]), entre otras cosas. Actualmente estoy incursionando en todo lo que tiene relación con Cloud Computing (OpenStack) y Centros de Datos. :-)
Esta entrada fue publicada en OpenVZ, Proxmox VE. Guarda el enlace permanente.

10 respuestas a Corregir el error «Date: cannot set date; Operation not permitted (OpenVZ)» en una VM Open VZ (09/04/2014)

  1. jose dijo:

    buen tutorial sin embargo, a mi no me funciono, pero en cambio si me di cuenta que la vz o plantilla se sincroniza en hora y dia con proxmox, para resolver el problema, basta cambiar la hora en proxmox..saludos colega

    • Hector Suarez Planas dijo:

      Saludos, José.

      Primero que todo, gracias por su comentario.

      ¿Y qué haría si tuviese un servidor NTP que sincroniza con los pools NTP mundiales? Aún se le escapa la zona horaria, así que, obligatoriamente, debe cambiarla.

      No obstante, la configuración correcta de los NTP clientes, tanto de los contenedores como del nodo, es fundamental. Eso por un problema de sincronización y de que todos los logs coincidan en tiempo en casos de realizar análisis forense. 🙂

      • Alejo dijo:

        Hector en caso de Proxmox 4.2 como se haría??

        Saludos

        • Hector Suarez Planas dijo:

          Saludos, Alejo.

          Como le dije en el comentario anterior:

          A partir de la rama 4.x, el soporte a OpenVZ cesó y pasaron a usar contenedores LXC. La utilidad para gestionar los CT ahora es pct.

          Espero le sirva. 🙂

  2. Alejo dijo:

    Hector en el caso de Proxmox 4.2.2 que ya no se usa el comando vzctl
    como seria ???

    saludos

    • Hector Suarez Planas dijo:

      Saludos, Alejo.

      Primero que todo ,gracias por su comentario.

      A partir de la rama 4.x, el soporte a OpenVZ cesó y pasaron a usar contenedores LXC. La utilidad para gestionar los CT ahora es pct.

      Espero le sirva. 🙂

  3. maria dijo:

    Hola necesito ayuda uso la versi’on 5.2 de proxmox y un contenedor no se porque no se sincroniza la hora con el servidor proxmox y he tratado con esta opci’on ke da pero luego de parar el contenedor t ejecutar la l’inea siguiente que propone me da el siguiente error pct set 107 –save –capability sys_time:on
    400 too many arguments
    pct set [OPTIONS]

    he provado cambiando los argumentos y nada. Podría decirme si ha visto algo parecido. Saludos.

    • Hector Suarez Planas dijo:

      Saludos, María.

      A ver, no hay que tocar para nada el contenedor. Es solamente un «dpkg-reconfigure tzdata» y especificar America/Havana.

      🙂

  4. CPollanE dijo:

    Buen tutorial. A mi, por alguna razón, el comando vzctl stop más el ID del contenedor, no me funcionó (vzctl) esta instalado, la solución fue, desde la consola del mismo contenedor ejecutar:
    # mv /etc/localtime /etc/localtime.old
    # ln -s /usr/share/zoneinfo/America/Havana /etc/localtime

    y listo, al instante se cambió la fecha.
    Salu2

    • Hector Suarez Planas dijo:

      Saludos, CPollanE.

      Primero que todo, gracias por su comentario.

      El problema está en que esta solución era para OpenVZ, no para LXC. Otra manera de resolverlo es ejecutando el comando dpkg-reconfigure tzdata, y de ahí seleccionar America/Havana. En esencia lo que hace es lo mismo.

      Espero les sirva. 😀

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *