AWS – Изменение коркового тома EC2 на другой корковый том

Вопрос или проблема

  1. У меня есть экземпляр AWS EC2, развернутый с помощью Laravel Forge. Этот экземпляр был создан около 5 лет назад. Недавно мое приложение упало, и Forge начал говорить, что на этом устройстве больше нет места. Я увеличил размер диска в консоли AWS. У меня нет моего приватного ключа Forge для SSH-доступа к этому серверу, чтобы выполнить раздел “sudo growpart”. Я добавил новые пары ключей, но при попытке подключиться через SSH в терминале продолжает возникать ошибка отказа в доступе.

  2. Я думал, что могу создать другой экземпляр и использовать этот объем EBS в качестве корневого, но это не сработало. Соединение SSH истекает по времени. Без успеха.

  3. Третье, что я попробовал, это прикрепить этот объем к другому экземпляру в качестве дополнительного диска. На этот раз я смог выполнить Sudo lsblk и growpart, так как у меня есть доступ по SSH.

Я в затруднении. Есть ли способ восстановить этот основной корневой объем на новом экземпляре или даже на оригинальном экземпляре? Если нет, могу ли я получить доступ к данным на этом объеме, я не хочу потерять данные приложения (базу данных MySQL). Что мне делать?

Ответ или решение

Решение проблемы с корневым томом EC2 в AWS

Если вы столкнулись с проблемой переполнения диска в EC2 инстансе, вот подробное руководство по восстановлению доступа к вашему корневому тому и последующему восстановлению работы вашего приложения.

1. Анализ ситуации

Вы находитесь в сложной ситуации: ваш EC2 инстанс, созданный 5 лет назад и развернутый с помощью Laravel Forge, столкнулся с нехваткой места на корневом томе. Кроме того, отсутствие доступа через SSH из-за утраты приватного ключа создает дополнительные трудности.

Несмотря на то, что вы увеличили объем диска в консоли AWS, без доступа к инстансу вы не можете выполнить необходимые действия для увеличения доступного пространства. Вы попытались создать новый инстанс и прикрепить существующий EBS том, но сталкиваетесь с тайм-аутами при подключении по SSH.

2. Решение проблемы с корневым томом

Существуют несколько способов решения данной проблемы:

2.1 Подключение EBS тома к новому инстансу

Если вы хотите сохранить данные на существующем EBS томе и не потерять базу данных MySQL, рекомендую выполнить следующие действия:

  1. Создание временного инстанса: Создайте новый EC2 инстанс с использованием той же операционной системы, что и у вашего текущего инстанса. Это обеспечит совместимость.

  2. Отключение корневого тома: В AWS Management Console откройте EC2 Dashboard и отключите корневой EBS том от оригинального инстанса. Для этого перейдите в раздел "Volumes", выберите нужный том и выберите "Detach Volume".

  3. Прикрепите EBS том к новому инстансу: Вернитесь в EC2 Dashboard, выберите новый инстанс и прикрепите EBS том как дополнительный диск (например, /dev/sdf).

2.2 Доступ к файловой системе

Теперь вы можете подключиться к новому инстансу через SSH (если у вас есть доступ) и выполнить следующие шаги:

  1. Просмотр доступных устройств: Используйте команду lsblk, чтобы отобразить список доступных дисков и томов.

  2. Расширение раздела: После того, как вы идентифицируете диск (например, /dev/xvdf), выполните команду sudo growpart /dev/xvdf 1, чтобы расширить первый раздел на этом диске.

  3. Расширение файловой системы: Затем выполните команду sudo resize2fs /dev/xvdf1, чтобы увеличить файловую систему.

2.3 Восстановление доступа к оригинальному инстансу

После выполнения всех действий:

  1. Отключите EBS том от нового инстанса.
  2. Прикрепите его обратно к оригинальному инстансу.
  3. Запустите инстанс и проверьте, доступен ли SSH.

Можно также рассмотреть возможность создания нового ключа SSH, доступного через IAM, если вы все еще сталкиваетесь с проблемами доступа.

3. Резервные копии и дальнейшие шаги

Для предотвращения подобных ситуаций в будущем рекомендую внедрить процесс регулярного выполнения резервных копий вашей базы данных и файлов:

  • Используйте Amazon RDS для управления базами данных и лёгкого масштабирования.
  • Настройте автоматическое создание снимков (snapshots) EBS томов.

Регулярное создание снимков и резервное копирование обеспечит сохранность данных и упрощение восстановления в случае катастроф.

Заключение

Следуя предложенным шагам, вы сможете восстановить доступ к вашему EC2 инстансу и корневому тому, а также обеспечить сохранность ваших данных. Поскольку проблема с доступом по SSH может потребовать дополнительного внимания, я рекомендую пересмотреть управление ключами и IAM политики, чтобы избежать подобных ситуаций в будущем.

Оцените материал
Добавить комментарий

Капча загружается...