Amazon S3 и история проблемы

Сергей Покоев

Я думаю, многие из читающих данную статью знают что такое Amazon S3 ?

Для остальных кратко поясню: это такая система, которая позволяет вам хранить не ограниченные объемы информации за весьма небольшие деньги.

Вы можете использовать S3 для хранения своих личных данных, бэкапов, видео, фото, контента, загруженного пользователями вашего сайтов и т. д. Это очень удобно и ряд CMS, например 1С-Битрикс , имеют встроенные средства работы с Amazon S3. При этом надежность хранения данных на амазоне очень высока (как они же сами заявляют: 99,99%. Ну и сама облачная технология хранения данных к этому предрасполагает).

Правда есть нюанс: Amazon S3 - это не обычный удаленный диск или сервер, с удаленным доступом.. Это даже не Яндекс.Диск или dropbox, к которым многие привыкли. К Amazon S3 нельзя подключиться классическими ftp, sftp или подобными способоми. У Amazon S3 есть свое API для управления данными, которое при этом имеет ряд ограничений. Например, там нельзя изменить файл. Ну вот в классическом виде это сделать нельзя. Только скачав весь и загрузив обратно. Хотя API постоянно развивается, появляются новые возможности. Но при этом, работать как с удаленным дисков в вашем любимом фтп клиенте не получится. Работа с файлами в Amazon S3 строится по совсем другим принципам, нежели работа на уровне файловой системы. Нет классических “папок”, а все файлы вы можете разбить по, так называемым, bucket, что на русский переводится, как “ведро”.

В свое время у нас уже был опыт работы с Amazon S3: мы подключали bucket для хранения большого объема данных нашего корпоративного портала, с помощью специальных приемов монтировали на нашем debian сервере и с помощью штатного механизма бэкапирования панели управления хостингом, хранили там сотни гигабайт бэкапов.

Поэтому, само собой, для хранения бэкапов в рамках нашей услуги “комфорт” мы выбрали Amazon S3.

Бэкапы скачивались на локальное хранилище, а потом заливались в два разных bucket, которые были географически очень сильно разнесены (надежность превыше всего!). Для работы с амазоном мы использовали программу DragonDisk (программ много, но найти стоящую не так уж и легко).

  phoca_thumb_l_accounts.png

К сожалению, когда мы переехали в новый офис, пришел конец и нашему каналу в 100 мб/c. В замен пришлось довольствоваться каналом всего в 20 мб/c. Вот тут то и начались и проблемы с закачиванием бэкапов на Amazon S3. Часть файлов не закачивались, “отваливаясь” с ошибками. Приходилось раз за разом повторять загрузку ошибочных файлов. При этом в каждый новый запуск количество ошибочных файлов уменьшалось, но очень медленно. А так как как файлов обычно было около сотни и их общий объем был 30 и больше гигабайт, то все это становилось большой проблемой и нашей головной болью. Мы уже отказались от заливки в каждый bucket с локального хранилища. Заливали в одно, а потом средствами панели управления Amazon S3 копировали в другой. Но это было не решение проблемы, а обходной маневр, который не очень то и помогал. Зачастую к следующей неделе мы не успевали выгружать еще прошлой недели бэкапы (при этом повторный запуск проблемных файлов на загрузку в день производился раза два-три).

Было принято решение примонтировать, как на старом добром debian сервере, хранилище Amazon S3. Но проблема оставалась, только тут мы даже не имели “живого” списка неудавшихся попыток загрузки и не могли легко перезапустить выгрузку.

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

Было понимание того, что необходима система, программа, которая бы очень деликатно работала с Amazon S3 и имела очень хорошую систему коррекции ошибок. 

cloudberry_explorer_3.png

После долгих поисков, проб и ошибок нами была найдена программа CloudBerry Explorer for Amazon S3 . Программа имеет платную и бесплатную версию. Основное отличие платной версии: возможность загрузки файлов больше 5 гб (ограничение S3 - один файл не может весить больше 5 гб), что тоже полезный и нужный функционал (бэкапы зачастую превышали эти 5 гб, а использование многотомных архивов сопряжено со своими сложностями).

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

Комментарии (0)