Уменьшение экземпляра Amazon Linux EC2 xvda

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

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

У меня есть том на 96 ГБ, на котором находятся загрузка и данные (да… я знаю… моя ошибка, что я их не разделил), и я переместил все свои изображения на CDN.

Теперь я пытаюсь сжать диск, чтобы снизить затраты, и использую cp для клонирования старого 8 ГБ диска с файлами с моего текущего, и он загружается, но постоянно требует другой комбинации privatekey/user для SSH.

Я попробовал сделать блочное копирование из сжатой копии тома на новый 8 ГБ том, и это не загрузилось.

Попытка rsync с основного раздела на новый диск не загрузилась.

Я постоянно оказываюсь в ситуации, когда мне нужно снова подключить большой том к инстансу и оставить его работать, иначе он не загрузится или я не смогу зайти в SSH (потому что подозреваю, что ключ основан на комбинации оригинального приватного ключа и id тома в xvda?)

Мне действительно нужна помощь, а не ответ “Вам нужно создать новый и переустановить все”.

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

Чтобы уменьшить размер экземпляра Amazon EC2 с операционной системой Amazon Linux и корневым диском xvda, нужно выполнить несколько шагов. Здесь описан процесс, который вы можете использовать, чтобы сократить объем вашей настройки с минимальными потерями данных и без необходимости полной переустановки.

Предварительные шаги: Резервное копирование данных

Перед началом любых действий с образами дисков всегда важно создать резервные копии ваших данных.

  1. Создайте снимок текущего тома:
    • В AWS Management Console перейдите к EC2.
    • Выберите ваш экземпляр и в разделе "Volumes" выберите xvda, затем выполните "Create Snapshot".

Шаг 1: Убедитесь, что система очищена

Убедитесь, что ваш экземпляр использует как можно меньше места на диске:

  1. Удалите ненужные файлы:

    • Удалите временные файлы:
      sudo yum clean all
      sudo rm -rf /var/tmp/*
      sudo rm -rf /tmp/*
  2. Очистите пакеты:

    • Используйте sudo yum autoremove, чтобы удалить ненужные пакеты.

Шаг 2: Подготовка к созданию меньшего тома

  1. Сжать файловую систему:
    • Если у вас есть возможность, уменьшите размер файловой системы (например, с помощью resize2fs или xfs_growfs в зависимости от вашей системы).
    • Для ext файловой системы:
      sudo resize2fs /dev/xvda1 8G  # Замените на нужный размер

Шаг 3: Клонирование на новый том

  1. Создайте новый том размером 8 ГБ:

    • В AWS Management Console создайте новый EBS-том, указывая нужный размер.
  2. Присоедините новый том к экземпляру:

    • Присоедините созданный том как дополнительный том, например /dev/xvdf.
  3. Скопируйте данные с оригинального тома с помощью dd:

    sudo dd if=/dev/xvda of=/dev/xvdf bs=64K conv=noerror,sync

Шаг 4: Корректировка конфигурации

  1. Измените конфигурацию загрузчика:

    • После копирования данных, вам нужно обновить fstab, чтобы новый том распознавался правильно.
    • Отмонтируйте и монтируйте новый том, чтобы внести изменения.
  2. Обновите настройки SSH:

    • Убедитесь, что ваш файл ~/.ssh/authorized_keys и привилегии SSH настроены правильно.
    • Если вы использовали различные ключи, убедитесь, что добавили необходимые ключи в новом экземпляре.

Шаг 5: Загрузка и финальные настройки

  1. Отключите старый том и присоедините новый:

    • Отключите старый том и присоедините новый как /dev/xvda.
  2. Перезагрузите экземпляр:

    sudo reboot

Шаг 6: Проверка работоспособности

  1. Подключитесь через SSH:

    • После перезагрузки попробуйте войти в систему с использованием установленного ключа.
  2. Проверьте работу сервиса:

    • Убедитесь, что все сервисы работают корректно, и корректно ли загружается операционная система.

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

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

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