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

Amazon AWS - экспорт снимка состояния EBS на внешнее хранилище

На платформе Amazon AWS есть способ экспортировать том EBS на внешний диск?

Т.е. резервное копирование вне инфраструктуры Amazon?

Из того, что я прочитал до сих пор:

  1. Сервис Amazon «Импорт / экспорт (диск)» поддерживает экспорт данных из корзин S3.

  2. Моментальные снимки EBS неявно хранятся в непрозрачной корзине S3, но эта корзина не видна администраторам AWS.

Похоже, что нет возможности экспортировать снимки EBS. Кому-нибудь повезло с этим?

Спасибо,

РЕДАКТИРОВАТЬ: У меня есть ~ 2,5 ТБ данных mongodb, из которых мне нужно сделать локальную копию (т. Е. 2,5-дюймовую внешнюю). Загрузка этих данных будет стоить ~ 220 долларов США (0,09 доллара США / ГБ) и займет ~ 10 дней при 3 МБ / s (не говоря уже о проблемах с сетью). Вот почему я пытаюсь отказаться от процесса импорта / экспорта Amazon. Мои экземпляры mongo используют LVM / XFS, поэтому у меня есть возможность создавать снимки.

Моментальные снимки EBS хранятся в S3, но они управляются EBS и в сегментах, к которым у вас нет доступа.

Хотя это звучит запутанно, этому есть хорошее объяснение.

Снимки EBS не хранятся по отдельности. Они полагаются на информацию, предоставляемую инфраструктурой EBS, поэтому они фиксируют только те блоки, которые были изменены с момента создания предыдущего снимка. (Сделайте два последовательных снимка одного и того же тома, и по этой причине почти неизбежно второй будет завершен быстрее, чем первый.) Подсистема снимков затем выполняет резервное копирование только этих измененных блоков и создает логические ссылки на блоки в предыдущих снимках, которые являются необходимо восстановить весь объем. Позже, если эти предыдущие снимки будут удалены, будут очищены только те блоки, которые не связаны ни с какими более поздними снимками. Это обеспечивает преимущества более быстрого создания моментальных снимков и возможность очищать старые моментальные снимки, не беспокоясь о последующих «инкрементных» резервных копиях, которые зависят от предыдущих резервных копий. EBS управляет этим аспектом, сохраняя то, что необходимо, и удаляя ненужное (и не выставляя вам счет за удаление ненужных данных).

Такая установка приводит к значительной эффективности хранения и экономии средств, поскольку вы платите только за хранение различий. Сравнивая общий размер ваших снимков и количество ГБ хранилища снимков, за которое вы платите, общая сумма должна быть меньше, и чем больше снимков тех же томов у вас будет, общая сумма может быть существенно меньше.

Если бы снимки хранились в S3 по отдельности, стоимость была бы намного выше.

Однако ... есть способ экспортировать снимок EBS за пределы сайта, но это ручной процесс.

Для этого вам понадобится запасной экземпляр linux EC2. Упрощенная версия процесса:

  • Загрузите экземпляр
  • Создайте том EBS из снимка
  • Присоедините новый том к экземпляру, но не монтируйте его
  • Доступ к необработанным данным на томе с помощью назначенного файла блочного устройства, например /dev/xvdf.

Отсюда вы можете использовать стандартные инструменты, например dd или pv чтобы прочитать поток необработанных данных с устройства и отправить его туда, куда вы хотите. Например, предположим, что у вас есть внешний SSH-сервер, доступный из экземпляра.

$ sudo pv -pterab /dev/xvzf | \
  pbzip2 -9 | \
  ssh user@offsite.example.com \
  'cat > /some/large/disk/my-snapshot.bz2'

Строка 1 считывается с блочного устройства и показывает индикатор выполнения.

Строка 2 сжимает необработанные данные с помощью многоядерного bzip2 при максимальном сжатии.

Строка 3 устанавливает SSH-соединение с внешним сервером, передавая сжатый вывод по конвейеру.

Строка 4 записывает сжатый файл образа диска в файл на удаленном компьютере.

Возврат тома обратно в AWS потребует создания пустого тома и реверсирования процесса, передачи файла по конвейеру, его распаковки и записи на блочное устройство.

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

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

В это время EBS экспорт не поддерживается. Вы можете просмотреть Документ AWS Import / Export по этой теме. Импорт к EBS поддерживаются, но только экспорт из S3 поддерживаются.

Вы можете сначала экспортировать свои данные в S3, но это может быть не идеально для ваших нужд.