Назад | Перейти на главную страницу

Снимок Amazon EC2 поврежден

Моментальные снимки для одного из наших томов AWS повреждены. Мы используем эти снимки в качестве резервных копий, и в прошлом они нам очень помогали. (NB: это не единственный наш метод резервного копирования!) Однако поврежденный снимок бесполезен.

Интересно, как с этим справиться, как это заранее определить и т. Д.

Ситуация

У нас есть веб-сервер AWS с одним большим томом ext3 (DATA) с множеством изображений в одной папке. Мы делаем ежедневные снимки всех томов, и, поскольку мы храним их в течение четырех недель, это слишком дорого. Мне нужен только один снимок изображений на случай чрезвычайной ситуации, а для остального тома я хочу нормальное количество. Вот что я хотел сделать:

  1. Создать снимок из тома DATA
  2. Создать новые ОБРАЗЫ тома ext4 из снимка
  3. Смонтируйте тома ОБРАЗЫ, удалите все файлы и папки, кроме папки изображений
  4. Переместите исходную папку в корень тома DATA
  5. Символическая ссылка на папку новых изображений на ИЗОБРАЖЕНИЯХ из исходного местоположения на ДАННЫХ
  6. Выполните синхронизацию всех остальных данных с новым томом ext4 меньшего размера: ВЕБ-САЙТ
  7. Замените том DATA на том WEBSITE со ссылкой на том IMAGES.

Шаг 3 не сработал. Получила следующую ошибку:

sudo mount / dev / xvdf / images
mount: mount / dev / xvdf on / images failed: структура нуждается в очистке

Погуглил для этой ошибки, я нашел совет сделать xfs_check, но файловая система - ext3, поэтому я попробовал e2fsck. Это привело к бесконечным ошибкам и исправлениям, которые, казалось, не работали.

sudo xfs_check /dev/xvdf
sudo e2fsck -f /dev/xvdf

Я создал новый том, ИЗОБРАЖЕНИЯ, и использовал rsync, чтобы скопировать все, так как cp приводил к сбою. Я немедленно создал снимок нового тома и восстановил его, чтобы проверить, работает ли он нормально, что и произошло.

Затем я разделил том и заменил старый том двумя новыми. Все это работает, и проблемы решены.

Поддержка Amazon

Тем не менее я хочу знать, что здесь произошло, и как предотвратить это в будущем, поэтому я обратился в службу поддержки Amazon. Они сказали мне, что снимки были повреждены, вероятно, потому, что снимки были сделаны во время использования тома. Мы делаем это постоянно, выполняли много операций восстановления с этими снимками (но не с этим томом), никогда не было проблем. Этот том был присоединен, но на момент создания снимка не выполнял никаких операций записи.

Я решил последовать совету, отсоединить том, сделать снимок и посмотреть, что произошло. После отсоединения исходный том DATA больше не может быть присоединен. Поскольку я уже заменил этот том, это не имеет никаких последствий, так что это не большая проблема, но очевидно, что это не работает как adv (ert) ised.

Снимок можно прикрепить и смонтировать, и я могу открывать открытые папки и т. Д. Когда я выполняю e2fsck, я снова получаю ошибки. Оглядываясь назад, я забыл сделать этот e2fsck на исходном томе DATA, что очень жаль. Я думаю, это тоже сообщило бы об ошибках.

На этот раз уровень поддержки Amazon был ниже среднего, и это очень жаль.

Вопросы

  1. Как я могу обнаружить подобные проблемы, не проверяя время от времени каждый том / моментальный снимок вручную?
  2. Могу ли я временно установить громкость только на запись? Как я могу это сделать?
  3. Я читал о badblocks для подобных проблем (требуется очистка структуры). Когда я восстанавливаю моментальный снимок на новый (виртуальный) том, проверка этого тома кажется бесполезной, поскольку он находится в другом физическом месте. Полезны ли плохие блоки в таком случае?
  4. Кажется, что Fsck меняет содержимое диска. Как можно безопасно протестировать такой проблемный диск?

Снимок не поврежден. Файловая система, содержащаяся в снимке, повреждена. Есть разница.

Файловая система в моментальном снимке может быть повреждена, если вы сделаете снимок, когда файловая система находится в процессе записи данных. Это может произойти, если при создании моментального снимка были записаны только некоторые из группы блоков «все или ничего».

Раньше, если ваши старые моментальные снимки были сделаны во время использования тома и восстановление было нормальным, это просто неудача: в момент создания моментального снимка запись в файловую систему не производилась. Ваша удача закончилась, и вы столкнулись с возможными последствиями этого сценария.

1. Предотвращение проблемы

Самый простой способ справиться с этой проблемой - просто предотвратить ее возникновение. Чтобы избежать подобных проблем, AWS рекомендует:

  • приостановка файловой системы (например, fsfreeze),
  • размонтирование файловой системы (например, umount), или
  • остановка экземпляра EC2 (например, aws ec2 stop-instances).

Видеть: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html

2. Устранение проблемы

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

  • Используйте инструменты Linux, такие как xfs_check или e2fsck чтобы исправить любые поврежденные блоки в вашей файловой системе.
  • Создайте новый том EBS и попробуйте скопировать на него файлы.

Как только ваша файловая система будет исправлена, примите меры для предотвращения проблемы (см. Раздел 1).

Дополнительные замечания

  • Файловая система активного тома EBS не может быть повреждена при создании моментального снимка. Только когда вы восстановите том из моментального снимка, который был инициирован во время записи, вы получите поврежденную файловую систему.
  • Файловая система могла быть повреждена, когда вы создавали снимок на шаге 1. Или она могла быть повреждена уже, если ваш том был восстановлен из более старого снимка.