Я собираюсь использовать S3 в качестве внешнего хранилища резервных копий для моей базы данных Subversion. Когда я сбрасываю свою базу данных SVN, это около 10 гигабайт. Я хотел бы избежать обвинений в повторной загрузке этих данных.
Анатомия этого большого файла такова, что новые изменения в Subversion изменяют конец файла, а все остальное остается прежним. Поскольку Amazon S3 не позволяет «патчить» файлы изменениями, мне придется загружать десять гигабайт каждый раз, когда я создаю резервную копию после простой отправки в Subversion.
Вот варианты, которые я вижу:
Опция 1 Я смотрю на двуличие, которое --volsize
который разбивает данные на несколько мегабайт. Можно ли разделить дампы Subversion, используя это, чтобы дальнейшие инкрементные резервные копии измерялись в мегабайтах?
Вариант 2 Могу я просто сделать резервную копию репозитория hot subversion? Это кажется плохой идеей, если он находится в процессе написания отправки. Однако у меня есть возможность отключить репо в период с полуночи до 4 часов утра. Каждая ревизия в моей Berkeley DB использует файл в качестве записи.
Почему бы не преобразовать ваше репо для использования Формат FSFS вместо BDB?
Таким образом, каждая ревизия будет храниться в отдельном файле, поэтому при инкрементальном резервном копировании будут отправлены только те ревизии, которые были зафиксированы с момента последнего резервного копирования.
Вы можете установить небольшой инстанс Amazon EC2 и сделать резервную копию тома Elastic Block Store (EBS) с помощью rsync или любого другого инструмента, который вам больше нравится. После завершения резервного копирования сделайте снимок, который будет сохранен на S3.
В некоторых отношениях это несколько более сложное решение, но оно компенсирует некоторые ограничения / сложности с S3.
Я знаю, что на самом деле это не ответ, но почему бы не использовать поставщика SVN и не беспокоиться об этом?
Другое решение - использовать git, где у каждого пользователя есть полная копия всех дельт, чтобы вы могли восстановиться после сбоя сервера (поскольку все равны).
Поскольку мне пришлось сделать это недавно, я хотел бы добавить, что диспетчер резервного копирования помог. Он может архивировать дамп и вращать его на s3. я использовал этот для справки.