ВМ GCP последовательно выключается без предупреждения - PullRequest
1 голос
/ 06 октября 2019

В течение нескольких месяцев без проблем использовалась виртуальная машина с вытеснением GCP, но за последние 4 недели мои экземпляры постоянно отключались от 10 минут до 20 минут.

Я буду в середине тренировки, и мой ноутбук внезапно отключится. Терминал покажет эту ошибку:

jupyter@fastai-instance:~$ Connection to 104.154.142.171 closed by remote host.
Connection to 104.154.142.171 closed.
ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].

Затем я проверяю состояние моей виртуальной машины, чтобы убедиться, что она выключена.

Я искал трассировку терминала и нашел этот поток, который показалсяобещание: ОШИБКА: (gcloud.compute.ssh) [/ usr / bin / ssh] вышла с кодом возврата [255]

Когда я запускал sudo gcloud compute config-ssh, моя виртуальная машина работала намного дольшечем обычно, до выключения, но выключается таким же образом примерно через час. С тех пор вернемся к тому же поведению.

Я знаю, что приоритетные экземпляры могут быть закрыты, когда платформе требуются ресурсы, но я понимаю, что это сопровождается неким предупреждением. Я проверил состояние серверов GCP после выключений, и они, кажется, в порядке. Это также происходит каждый раз, когда я включаю свою виртуальную машину, что кажется слишком частым для прерывания.

Я не уверен, где искать какие-либо подсказки - у кого-нибудь еще была такая проблема? Что меня особенно озадачивает, так это то, что если это действительно проблема SSH, то почему это приводит к отключению самой виртуальной машины, а не просто к разрыву соединения?

Большое спасибо за любую помощь!

Ответы [ 2 ]

2 голосов
/ 06 октября 2019

Если виртуальная машина останавливается и у вас есть активное SSH-соединение с этой виртуальной машиной (через gcloud compute ssh), то это нормально, что вы получаете сообщение об ошибке. Поскольку виртуальная машина отключается, все соединения закрываются, равно как и ваше соединение SSH (вы не можете подключиться к остановленному экземпляру). Завершение работы виртуальной машины вызывает ошибку SSH, а не наоборот.

При использовании вытесняемых экземпляров Google может вернуть экземпляр в любое время, когда это необходимо. Обратите внимание, что ( из документов об ограничениях вытесняемых экземпляров ):

Compute Engine может прервать вытесняемые экземпляры в любое время из-за системных событий. Вероятность того, что Compute Engine прекратит вытесняемый экземпляр для системного события, как правило, низкая, но может варьироваться от дня к дню и от зоны к зоне в зависимости от текущих условий.

Это означает, что один день,ваш экземпляр может работать в течение 24 часов без остановки, но в другой день ваш экземпляр может быть остановлен через 30 минут после запуска, если Compute Engine потребуется вернуть некоторые ресурсы.

1 голос
/ 06 октября 2019

Вы пытались установить сценарий выключения и распечатать что-нибудь в файле для проверки состояния виртуальной машины при ее отключении?

Попробуйте это как сценарий выключения

#!/bin/bash

curl "http://metadata.google.internal/computeMetadata/v1/instance/preempted" -H "Metadata-Flavor: Google" > /tmp/preempted.log

Если в файле есть TRUE, это потому, что виртуальная машина была выгружена.

...