У меня есть большое приложение с изображениями, загруженными пользователем. Хранилище увеличивается на ~ 1 ГБ каждый день.
Мне нужно как-то сделать резервную копию всех образов. Ежедневное резервное копирование всех изображений может стать большой проблемой (большой объем, сетевой трафик и т. Д.).
Как лучше всего сделать резервную копию таких данных? Какие хранилища предпочтительнее (FTP, S3, локальный сервер и т. Д.)? Какие стратегии резервного копирования лучше всего?
Пара указателей:
Во-первых, снимки. Любая операция резервного копирования (даже, вероятно, инкрементная) займет значительное время. Если вы не можете заблокировать хранилище во время резервного копирования, у вас, вероятно, возникнут проблемы с несогласованными данными. Предлагаю вам изучить возможности вашей фс и системы для создания снимков. Вы блокируете магазин, делаете снимок (который должен быть очень и очень быстрым) и разблокируете магазин. Теперь ваш снимок содержит согласованную копию вашего магазина, которую можно поддерживать в любом нужном вам темпе. Ищите теневые копии томов в Windows, снимки LVM в Linux и т. Д.
Во-вторых, репликация. Опять же, любое задание резервного копирования, вероятно, отнимет приличный кусок производительности ввода-вывода и процессора из хранилища. Это либо повлияет на производительность вашего основного приложения, либо для выполнения резервного копирования потребуется много времени. Если вы можете поддерживать непрерывную репликацию вашей системы хранения во вторую систему, вы сможете выполнять резервное копирование, не беспокоясь о том, что это повлияет на вашу действующую производственную систему. Эта реплика также может быть полезна для предотвращения простоев (в случае отказа основного хранилища переключитесь на реплику). При использовании репликации вы делаете снимки в реплицированной системе, для чего требуется только приостановить репликацию на время создания резервной копии.
В-третьих, когда у вас есть репликация и моментальные снимки, вам просто нужно найти метод резервного копирования, который имеет смысл. к пропускной способности, хранилищу и вашим требованиям. Прежде всего, выясните, как вы хотите вернуться на восстановление. Вам нужна только копия вашего хранилища, как это было вчера? 8 часов назад? Вам нужно вернуться и восстановить файлы с прошлой недели? Прошлый месяц? В прошлом году?
Сколько времени занимает полная копия вашего хранилища? Сколько времени занимает копирование ежедневного прироста? Это ограничивает частоту создания полных и инкрементных резервных копий. Если вы не удаляете данные из своего магазина, может быть достаточно реплики.
Наконец, если вы перемещаете огромные объемы данных, вы, вероятно, используете SAN. И иметь контракт на обслуживание. В вашем SAN, вероятно, есть что-то встроенное для обработки резервных копий, или, по крайней мере, ребята, которые его поддерживают, должны дать вам более конкретные идеи ...
Вы хотите программно удалить старые версии активов?
Если это так, вы можете создать механизм, который архивирует старые изображения на основе определенных параметров. Эти файлы, возможно, будут сжаты в архивы, которые будут удалены с компьютеров. Более старые версии могут быть помечены как заархивированные с некоторой ссылкой на то, где они будут храниться удаленно / физически на диске / ленте и т. Д. Для последующего извлечения.