Оптимизация извлечения объектов из Snowball Edge
В итоге я купил устройство SnowballEdge и попытался скопировать файлы с устройства в свою систему.
На устройстве примерно 9 миллионов объектов по 9 ТБ.
Самая большая проблема:
Все локальные команды aws cli имеют ограничение в 1000 объектов, поэтому я могу только когда-либо
cp
,
mv
,
ls
, или же
sync
1000 объектов одновременно.
Текущее решение:
В настоящее время у меня есть 3 сценария:
Итерации через устройство Snowball Edge для имен объектов
- Я пытался сослаться на них с помощью
ls --recursive
но он всегда перечисляет только 1000 объектов за раз
- Я пытался сослаться на них с помощью
Создайте систему каталогов на моем локальном компьютере с той же системой каталогов, что и на устройстве Snowball Edge, используя файлы из # 1
Создайте сценарий python для вызова команд aws cli в итерации файлов с использованием файлов из #1. В настоящее время это многопоточный с 88 потоками:
-
aws s3 cp --bucket bucketname+/+filename ./filename
- Похоже, что у этого есть ограничения оборудования, поскольку он проходит через сетевую карту, которая имеет небольшой предел для операций записи.
- Мы включили
--quiet
чтобы выключить узкое место печати
-
Это решение обрабатывает примерно 9 ГБ за 1 минуту и оставляет мне около 120 часов на передачу.
Вопрос:
Есть ли способ оптимизировать передачу данных для AWS Snowball Edge обратно на локальное устройство?