bug systemd-timesyncd no contêiner OpenVZ

0

Existe um bug no Ubuntu 16.04 com o systemd-timesyncd. Em primeiro lugar, o problema é porque o systemd-timesyncd.service tem um parâmetro que impede a inicialização no OpenVZ (dependendo do homem, isso deve funcionar sem problemas, mas isso não é verdade):

ConditionVirtualization=!container

A solução para essa parte do problema está aqui: systemd -timesyncd.service inativo no Arch no VMWare . No entanto, isso ainda não resolve o problema, porque ao tentar iniciá-lo com ...

sudo systemctl start systemd-timesyncd

... resulta em algo parecido com isto:

Aug 01 10:31:02 ingarill systemd[1]: systemd-timesyncd.service: Unit entered failed state.
Aug 01 10:31:02 ingarill systemd[1]: systemd-timesyncd.service: Failed with result 'exit-code'.
Aug 01 10:31:02 ingarill systemd[1]: systemd-timesyncd.service: Service has no hold-off time, scheduling restart.
Aug 01 10:31:02 ingarill systemd[1]: systemd-timesyncd.service: Start request repeated too quickly.

Eu copiei esta parte do "erro" do link / onde um erro semelhante é descrito (I não acho que está ligado a este em tudo). Depois que o estado systemd-timesyncd estiver inativo e o último estado for descrito como "Encerrado".

Então foi o que eu descobri até agora, espero que tenha me ajudado a resolver o problema. Obrigado antecipadamente!

    
por user1257255 03.01.2017 / 23:05

3 respostas

0

O problema, neste caso, é o uso do OpenVZ e as permissões definidas nos contêineres. Se o seu provedor habilitou a permissão sys_time, você pode definir a hora do VPS como quiser, caso contrário você não terá permissões / capatabilidades suficientes para alterá-lo e deverá sincronizar pela máquina principal onde o OpenVZ está configurado.

Como eu li o tempo neste caso (se você não tiver capacidade de sys_time) só pode ser definido pelo provedor VPS em sua máquina principal OpenVZ e é sincronizado com todos os nós.

    
por 19.01.2017 / 09:44
1

Funciona para mim no VirtualBox.

sudo mkdir /etc/systemd/system/systemd-timesyncd.service.d/

Em seguida, sudo -s Com o sudo, o seguinte não funcionou. echo -e "[Unit]\nConditionVirtualization=yes" > /etc/systemd/system/systemd-timesyncd.service.d/enable-with-daemon.conf

Diga ao systemd para recarregar sudo systemctl daemon-reload

Em seguida, inicie a unidade sudo systemctl start systemd-timesyncd

    
por 10.01.2017 / 20:20
1

Eu suponho que você está perdendo o executável. Q : qual é o resultado de sudo /usr/lib/systemd/systemd-timesyncd A : Não existe tal executável, apenas pastas de inicialização, catálogo, rede, usuário e geradores de usuário .

   cat /usr/lib/systemd/system/systemd-timesyncd.service
   ...
   [Service]
   Type=notify
   Restart=always
   RestartSec=0
   ExecStart=/usr/lib/systemd/systemd-timesyncd
   ...

Este serviço começa com /usr/lib/systemd/systemd-timesyncd

file /usr/lib/systemd/systemd-timesyncd
/usr/lib/systemd/systemd-timesyncd: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=b64971999784b0c648889f282e346d8902e8c1a3, stripped

que é um executável

sudo pkgfile /usr/lib/systemd/systemd-timesyncd                                                                  
core/systemd

que vem com o pacote systemd.

O início deve ser assim:

sudo /usr/lib/systemd/systemd-timesyncd
Synchronized to time server 85.214.194.162:123 (0.arch.pool.ntp.org).

Reinstale a verificação do pacote systemd para esse executável. Contanto que você não o tenha em seu sistema, o serviço falhará.

    
por 14.01.2017 / 11:54