У меня есть небольшой домашний сервер (Ubuntu Server 17.10), и я хотел бы настроить для него несколько резервных копий. Мои основные моменты:
Сервер имеет два жестких диска. Первый (SSD) разделен на раздел EFI и пространство LVM; внутри есть два тома LVM, и я хочу сделать резервную копию одного из них. Я оставил достаточно места, чтобы сделать том снимка при необходимости. Второй имеет два раздела, и я хочу смонтировать второй, когда это необходимо для хранения резервных копий. Эти два раздела на втором жестком диске не являются частью пространства LVM
Сервер не работает 24/7
Я хотел бы иметь резервную копию, как это:
Каждый день в 1.00 * выполняйте инкрементное резервное копирование; если резервное копирование не выполняется из-за того, что компьютер выключен, выполните его, когда будете готовы
Храните не более 5 * ежедневных инкрементных резервных копий. Если однажды резервное копирование не было выполнено из-за того, что компьютер был выключен весь день, всегда должно быть 5 * резервных копий.
Каждый месяц должна быть одна полная резервная копия (т.е. не инкрементная) для защиты от повреждения данных.
Храните не более 3 * ежемесячных полных резервных копий. Применяется та же концепция, которая описана в пункте 2 (резервные копии 3 *, а не резервные копии последних 3 * месяцев)
Примечание: время и количество резервных копий (отмеченных *) могут быть изменены.
Например, сегодня 14/03. 11/03 ПК был выключен весь день, поэтому в базе данных должно быть:
Инкрементные резервные копии: 14/03, 13/03, 12/03, 10/03, 09/03 (при необходимости можно также выполнить 09/03). Полные резервные копии: 01/03, 01/02, 01/01
Теперь я совершенно новичок в этом, поэтому я начал осматриваться и нашел Чердак, а затем Борга. Но я не могу понять, выполнимо ли то, чего я хочу достичь, с помощью borg или нет, или есть ли более простые способы сделать это, чем использовать эту программу (учитывая, что я нахожусь на LVM, поэтому, возможно, я могу использовать снимок для " отслеживать "изменения или .. что угодно).
Итак ... Может ли то, что я описал, быть реализовано в одном (или двойном) скрипте borg? Вы рекомендуете другие инструменты (или обычную копию)? Или вы думаете, что описанная мною стратегия бесполезна / недостаточна?
Спасибо
ПРИМЕЧАНИЕ: я по ошибке открыл это при сбое сервера, и, поскольку я не мог переместить его, и там не было ни комментариев, ни ответов, я предпочел удалить старый и заново открыть его здесь, чтобы ускорить переход и избежать передачи этой задачи модераторы
РЕДАКТИРОВАТЬ: Может быть, я объяснил не правильно, поэтому я делаю еще несколько строк в этом вопросе.
Мой опыт работы с «инкрементными» снимками происходит из Virtualbox. В этом случае при удалении снимка изменения будут объединены.
Чтобы не писать слишком много, я делаю пример, используя не более трех ежедневных резервных копий.
Предположим, что мы находимся в состоянии
Ежедневное резервное копирование 12/03 - полная копия файловой системы 12/03
Ежедневное резервное копирование 13/03 - изменения между 12/03 и 13/03
Ежедневное резервное копирование 14/03 - изменения между 13/03 и 14/03
Сегодня новый день, поэтому начинается резервное копирование. Но уже есть 3 ежедневные резервные копии. Таким образом, резервная копия 12/03 и 13/03 объединяются (различия 13/03 применяются к базовой версии), и создается новая инкрементная резервная копия. Таким образом вы потеряете разницу между 12 и 13, но резервная копия остается «полной»:
Ежедневное резервное копирование 13/03 - полная копия файловой системы 13/03
Ежедневное резервное копирование 14/03 - изменения между 13/03 и 14/03
Ежедневное резервное копирование 15/03 - изменения между 14/03 и 15/03
Я думаю, что это нормальное поведение чернослива Борга (поправьте меня, если я ошибаюсь, пожалуйста)
Другой вариант (который, на мой взгляд, более желателен) - объединить добавочные резервные копии с ежемесячными. Я имею в виду что-то вроде:
Ежемесячное резервное копирование 01/03 - полная копия файловой системы 01/03
Ежедневное резервное копирование 12/03 - изменения между 01/03 и 12/03
Ежедневное резервное копирование 13/03 - изменения между 12/03 и 13/03
Ежедневное резервное копирование 14/03 - изменения между 13/03 и 14/03
При сокращении слияния 12 и 13 объединяются (таким образом, это становится ежедневным резервным копированием 13/03 - изменения между 01/03 и 13/03), и создается новый.
Последний вариант, на мой взгляд, менее желательный (но если вы считаете, что это лучше, вы можете аргументировать это), это сохранять ежедневные резервные копии относительно ежемесячных.
Ежемесячное резервное копирование 01/03 - полная копия файловой системы 01/03
Ежедневное резервное копирование 12/03 - изменения между 01/03 и 12/03
Ежедневное резервное копирование 13/03 - изменения между 01/03 и 13/03
Ежедневное резервное копирование 14/03 - изменения между 01/03 и 14/03
В этом случае все проще: просто удалите ежедневную резервную копию, не оглядываясь назад.
Обычно, когда люди говорят о полном резервном копировании один раз в месяц, а затем о инкрементном резервном копировании каждый день, каждое из них относится к предыдущему дню, поэтому, если вы сохраняете только самые последние 5, после 5-го дня у вас будут резервные копии данных, которые вы не больше резервной копии и потеряет, если вам придется восстановить. Или вы имели в виду, что добавочные резервные копии должны относиться к самой последней полной резервной копии, а не к последней добавочной?
psusi 6 лет назад
0
@psusi На данный момент единственными «инкрементными» вещами, с которыми у меня есть небольшой опыт, являются снимки Virtualbox. В любом случае, нет, я не имею в виду способ резервного копирования с потерями. Я редактирую вопрос, чтобы объяснить это
frarugi87 6 лет назад
0
1 ответ на вопрос
0
psusi
Вы не можете «объединить» резервные копии. Это не совсем то, что вы просили, но это может соответствовать вашим потребностям. Система резервного копирования, которую я использую, представляет собой cronмногоуровневую работу dumpв виде башни Ханнои. Я полагаю, что вы можете использовать, anacronчтобы убедиться, что запланированные запуски, когда система выключена, выполняются при следующем включении.
dumpимеет понятие уровней. Дамп уровня 0 содержит все. Дамп уровня 1 содержит все, что изменилось с последнего уровня 0. На уровне 2 есть все, начиная с последнего уровня 0 или уровня 1, в зависимости от того, что является более новым, и так далее. Выполняя перечисленные дампы уровня в каждый день месяца, вы получаете уровень 1 1-го и 17-го числа месяца. Они содержат все, начиная с последнего уровня 0, что я делаю вручную каждые пару месяцев. В остальные дни месяца вы используете уровни 2-5. Это означает, что в любое время у вас есть 3 уровня резервных копий, которые содержат изменения с 1-го или 17-го числа месяца, и часто изменяемые файлы будут иметь несколько версий, к которым вы можете вернуться в каждой из этих резервных копий, в возрасте от 1 до несколько дней.