Синхронизация времени виртуальной машины GCP c проблема после выхода из приостановки (как в linux, так и windows) - PullRequest
0 голосов
/ 06 августа 2020

Виртуальная машина GCP не обновляет системную дату и время после выхода из приостановки.

Она сохраняет системную дату и время такими же, какими они были при приостановке. Из-за этого мои скрипты для получения ресурсов gcloud не работают, как и в случае с ошибкой истечения срока действия токена авторизации. Согласно документации Google https://cloud.google.com/compute/docs/instances/managing-instances#linux_1, NTP уже настроен, но для моих виртуальных машин я получаю ошибку «команда не найдена» для ntpq -p.

$ sudo timedatectl status
               Local time: Wed 2020-08-05 15:31:34 EDT
           Universal time: Wed 2020-08-05 19:31:34 UTC
                 RTC time: Wed 2020-08-05 19:31:34
                Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
              NTP service: inactive
          RTC in local TZ: no

gcloud auth activate-service-account в мой скрипт не работает с ошибкой ниже

(gcloud.compute.instances.describe) There was a problem refreshing your current auth tokens: invalid_grant: Invalid JWT: Token must be a short-lived token (60 minutes) and in a reasonable timeframe. Check your iat and exp values in the JWT claim.

OS - Windows / Linux

1 Ответ

0 голосов
/ 06 августа 2020

После возобновления аппаратные часы экземпляра виртуальной машины устанавливаются правильно, поскольку он получает время от гипервизора. Вы можете проверить это с помощью sudo hwclock.

Проблема связана со службой времени операционной системы.

Для Windows синхронизация c системного времени может занять несколько минут. с источником времени. Если вы не можете дождаться завершения цикла временной синхронизации c, вы можете войти в систему в Windows и принудительно выполнить синхронизацию времени вручную:

net stop W32Time 
net start W32Time 
w32tm /resync /force

В Linux NTP не может обрабатывать временное смещение на более 1000 секунд (см. http://doc.ntp.org/4.1.0/ntpd.htm. Поэтому вам нужно принудительно синхронизировать время вручную. Есть разные способы сделать это (некоторые из них устарели, но все еще могут работать):

netdate timeserver1
ntpdate -u -s timeserver1
hwclock --hctosys
service ntp restart
systemctl restart ntp.service
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...