У меня проблемы с доступом к одной из моих виртуальных машин (здесь она называется myvm1) после восстановления диска из моментального снимка. Вот что я сделал вчера (который работал просто отлично):
- Я сделал снимок диска 1.
- Я создал новый диск с именем disk2, используя созданный выше снимок.
- Я подключил диск к myvm1 через консоль Google.
- Я размонтировал диск1 и смонтировал диск2.
- Я удалил диск1.
Все работало нормально, и данные базы данных на disk2 были доступны по желанию. На этом диске больше ничего нет.
Сегодня я хотел «переименовать» диск2 в диск1 (чтобы избежать будущих проблем с нашими настройками Terraform). Я сделал это, выполнив следующее:
- Я сделал снимок диска 2.
- Я создал новый диск, назвав его disk1, используя снимок выше.
- Я подключил диск к myvm1 с помощью терминала:
gcloud compute --project=myproject instances attach-disk myvm1 --disk disk1
После этого, когда я попытался выполнить ssh в myvm1 (для размонтирования и монтирования), я получил
ssh: подключение к хосту myvm1, порт 22: соединение отклонено
Я попытался выполнить следующее / расследовать следующее:
- многократная остановка и запуск виртуальной машины (занимает значительно больше времени, чем у других виртуальных машин в том же проекте)
- отсоединение диска1 (и его повторное подключение)
Другая информация:
- другие виртуальные машины в том же проекте по-прежнему доступны через ssh.
- Вчера или сегодня я больше ничего не делал с ВМ, кроме того, что я написал выше. Система не использовалась между вчера и сейчас (она была закрыта на ночь, чтобы сэкономить деньги).
- Использование Google Console SSH не работает, НО не работает и для других виртуальных машин, так как мы подключаемся с помощью закрытых ключей.
- "Экземпляр загружается, а sshd еще не запущен." - Он указан как RUNNING.
- "Экземпляр не работает sshd." Я не отключил вручную sshd.
- "sshd прослушивает порт, отличный от того, к которому вы подключаетесь." Я не сделал никаких изменений в портах.
- «Нет правила брандмауэра, разрешающего SSH-доступ к порту». Кроме того, в разделе «Правила межсетевого экрана и сведения о маршрутах» включен порт 22. Кроме того, правила брандмауэра идентичны другим виртуальным машинам в том же проекте.
- «Правило брандмауэра, разрешающее доступ по SSH, включено, но не настроено для разрешения подключений из служб консоли GCP». Мы не хотим иметь возможность подключаться через консоль GCP, чтобы это не имело значения.
- "Экземпляр закрыт." - Это работает.
Отладочная информация для ssh-вызова:
me@mycomputer:~/project$ ssh myvm1 -vvv
OpenSSH_7.2p2 Ubuntu-4ubuntu2.4, OpenSSL 1.0.2g 1 Mar 2016
debug1: Reading configuration data /home/me/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "myvm1" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to myvm1 [10.23.0.3] port 22.
debug1: connect to address 10.23.0.3 port 22: Connection refused
ssh: connect to host myvm1 port 22: Connection refused
Я посмотрел на решение, упомянутое здесь
Почему после перезапуска экземпляр Google Cloud Compute Engine отказывает в ssh-соединении?
но так как я еще не смонтировал / размонтировал ни один из дисков, я не понимаю, как это может быть той же проблемой.
Я был бы очень признателен за любую помощь, которую вы мне могли бы оказать. Решения, связанные с созданием нового экземпляра, не актуальны, так как я хочу знать, что в первую очередь пошло не так, чтобы этого не произошло в производственной среде. К счастью, myvm1 - это просто система песочницы.