3

Пожалуйста, не спрашивайте меня, почему (они сделали меня), но я должен копировать 500 ГБ данных на локальный диск через каждые 200 узлов / экземпляров, которые я запускаю в EC2. По причинам, выходящим за рамки этого поста, эти данные должны храниться на локальном диске, а не на диске EBS, поэтому я не могу получить снимки.

Какой самый быстрый способ, которым я могу справиться с этим? Копирование с S3 на каждый узел занимает много времени. Я пытаюсь подключить том EBS к каждому узлу с данными, а затем скопировать данные из EBS на локальный диск, но это также занимает много времени (несколько часов_)

Теперь я также думаю использовать бит торрент, но не уверен, насколько хорошо это будет. Каков наилучший способ скопировать 500 ГБ статических данных на каждый локальный диск из 200 экземпляров ec2?

500 ГБ данных состоят из нескольких сотен файлов разного размера, но самый большой файл - 20 ГБ.

3 ответа3

4

Ваша причина отказа от использования EBS в том, что он работает медленно. Возможно, вы захотите протестировать оптимизированные экземпляры EBS, а также подготовленные тома IOPS EBS (которые даже могут быть RAID-массивами для более высоких IOPS). Это упростит доступ к данным для новых экземпляров.

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

Вот статья, которую я написал, в которой рассказывается об этом процессе, в том числе об одном способе определить, когда том EBS завершил инициализацию из моментального снимка (хотя в любом случае он в основном включает в себя передачу всего тома через сеть):

http://alestic.com/2010/03/ebs-volume-initialization-from-snapshot

Если ваше приложение хочет запустить сразу за счет некоторой медлительности, когда ему требуется доступ к ранее непрочитанным данным, я бы порекомендовал оптимизированные экземпляры EBS плюс подготовленные тома IOPS EBS, возможно, в RAID-0. После заполнения тома скорость приложения должна значительно возрасти.

В противном случае название игры при загрузке данных из S3 - распараллеливание. У вас может быть сотня одновременных соединений, загружающих фрагменты данных из супермасштабируемой службы S3, если вы используете тип экземпляра с достаточно высоким IO.

Однако даже при использовании интерфейса 1 Гбит / с загрузка 500 ГБ займет более часа.

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

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

0

Раскрытие: Я с Задар Хранилище

Я предлагаю вам взглянуть на Zadara Storage. С Zadara Storage вы можете иметь центральный репозиторий в монтировании NFS, который будет доступен со всех компьютеров EC2. Задра имеет очень высокую пропускную способность и низкую задержку по сравнению с S3, и вы можете копировать на локальные диски каждый раз. (или даже использовать напрямую из Zadara Storage) Вы можете смонтировать Zadara Storage из EC2 через простой NFS или iSCSI, если вам нужно блочное устройство.

Вы можете получить бесплатную пробную версию на http://www.zadarastorage.com

0

Это очень старый вопрос, но для тех, у кого похожая проблема, самый быстрый способ сделать это - скопировать его на один том EBS, сделать снимок этого тома, а затем создать тома по мере необходимости из этого одного снимка и прикрепить их к вашему. экземпляров. Вероятно, это хороший вариант использования чего-то, что почти никто не использует - группы размещения. Группы размещения ограничены одним AZ, но помещают вас в сеть 10G, что означает, что ваша копия файла объемом 500 ГБ будет значительно увеличена.

Или вы можете сбросить его в S3 и скопировать оттуда.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .