Выполнение точного моментального снимка и инкрементного резервного копирования на удаленный сервер

У меня есть несколько серверов Ubuntu (и, возможно, RHEL), которые я хотел бы сделать резервным копированием на центральный сервер резервного копирования (через rsh / SSH). Я хотел бы сделать как моментальные снимки, так и инкрементные резервные копии. Цель состоит в том, что если один из резервных серверов внезапно умрет, я смогу установить образ начальной загрузки, восстановить из резервной копии и, в идеале, сразу же запустить и запустить.

Эти серверы имеют уникальные пользователи и группы, а также разные гиды и uids для тех же имен. Я рассматривал rsync (локальные резервные копии работают нормально, и у меня есть мелкомасштабный элемент управления, поэтому я могу создавать резервные копии xattrs и ACL), но затем я понял, что rsync на удаленном сервере, вероятно, не сохранит эти нюансы, как ожидалось.

Итак, что лучше для этого? Существует ли пакет, который обычно используется для этой цели?

3 Solutions collect form web for “Выполнение точного моментального снимка и инкрементного резервного копирования на удаленный сервер”

Да rsync имеет опции для сохранения ACL, расширенного атрибута, атрибутов ext2, жестких ссылок, числовых идентификаторов пользователей, разреженности …

Раньше у меня была система, которая rsynced filesystems на резервный сервер с файловой системой btrfs (чтобы делать снимки на сервере резервного копирования), и из-за проблем со стабильностью перемещалась в zfs-on-linux (что, к сожалению, не поддерживает ACL POSIX все же, но есть работа вокруг).

--archive --one-file-system --xattrs --hard-links --delete --numeric-ids --sparse --acls rsync , которые могут вас заинтересовать: --archive --one-file-system --xattrs --hard-links --delete --numeric-ids --sparse --acls и, возможно, те, которые используются для синхронизации на месте.

Одна вещь, которую rsync не делает, это обнаружить переименования (хотя для этого есть патч, но я не уверен, насколько это можно доверять, и он обнаруживает только имена файлов).

zfs zfs send для отправки только изменений, сделанных с момента создания моментального снимка (в другой zfs zpool с использованием zfs receive ). Если я правильно понял, эта функция была добавлена ​​совсем недавно в btrfs . Поэтому, если резервное копирование btrfs FS на другой btrfs FS на последнем ядре, это может быть вариант.

Посмотрите на rsnapshot , который является оболочкой perl вокруг утилиты командной строки rsync . Rsnapshot добавляет дополнительный конфигурационный уровень для rsync, который упрощает инкрементное резервное копирование. (Старые версии файла жестко связаны с текущей версией, когда они не изменяются. Поэтому каждая инкрементная версия вашей резервной файловой системы выглядит как полная копия.)

Другой подобной возможностью является двуличие , которое основано на librsync . Я понимаю, что у этого есть более полированный пользовательский интерфейс, но я его не использовал. Или rdiff-backup , который я думаю от одного и того же разработчика, или, во всяком случае, когда-то это было правдой.

Конечно, есть много и много резервных систем. Вот список доступных на FreeBSD, большинство из которых также будут доступны в Linux. Но я думаю, что три, упомянутых выше, являются естественными, если вы привыкли к rsync . (Замечательный инструмент.)

Редактировать: Спасибо всем! Теперь я знаю некоторые другие пакеты, чтобы выполнить эту работу, и я знаю гораздо больше о внутренностях rsync. Для тех, кто может также задаться этим вопросом, если вы rsync на другой машине с параметром –numeric_ids, он не будет пытаться отображать или создавать UID / GID, он просто передает их как есть. Право собственности на элементы в каталоге резервного копирования может выглядеть нечетным, но оно будет соответствовать 1: 1 при восстановлении (при условии, что часть того, что вы восстанавливаете, включает исходные файлы сопоставления, если вы восстанавливаете новую машину).

Ниже приведен исчерпывающий список параметров, которые я использую для полного резервного копирования системы (как root через sudo). Обратите внимание, что {{my_exclusions}} – упражнение для читателя (у меня все еще есть проблемы с тем, чтобы работать так, как должно). Также обратите внимание на использование -link-dest … если этот каталог существует в целевом объекте, жесткие ссылки будут делаться там, где есть файлы, уже присутствующие в предыдущей резервной копии, которые не изменяются в текущем.

 rsync \ --recursive \ --links \ --hard-links \ --perms \ --acls \ --xattrs \ --owner \ --group \ --devices \ --specials \ --times \ --one-file-system \ --partial \ --numeric-ids \ --compress \ --delete-during \ --stats \ --human-readable \ --progress \ --verbose \ --super \ --log-file=/tmp/my.log \ --link-dest=/backup/latest_backup \ --exclude={{my_exclusions}} \ --link-dest=/backup/latest \ / \ {{remote_hostname_or_ip}}:/backup/new_backup 
  • Как настроить движение для доступа к моему скопированному файлу конфигурации?
  • Использование разрешений Drush
  • Есть ли он-лайн / веб-интерфейс для поиска и списка пакетов apt-get и см. Резюме и рекомендации?
  • Инструмент сетевого мониторинга для Linux
  • Шифрование домашнего раздела
  • Минимальная демонстрация VLC с HIP для Linux (HIPL)
  • Отсутствие выхода при использовании winFF
  • pam-auth-update не отображает экран подсказки или не регистрирует никаких сбоев
  • Как добавить компонент в существующий LibreOffice?
  • Отладка cuda nvidia driver crashiness
  • Резервное копирование Windows-ПК на Linux-машину
  • Xvfb -screen -> (EE) Невозможно установить слуховые сокеты
  • Interesting Posts

    Может ли эмулятор терминала быть таким же быстрым, как TTY 1-6?

    Как объединить два файла с различным количеством строк в оболочке?

    Как я могу передать только stderr в zsh?

    Разделить видеофайл на части с помощью ffmpeg

    Копирование файлов, содержащих определенную структуру сохранения текста

    Как создать псевдоним, но поэтому я могу ввести в другую информацию команду

    Каков наилучший способ восстановить стрелки в моих полосах прокрутки?

    Выдача команд с опциями, определяемыми условием

    Dell XPS 13 9350 wifi умирает с ядрами Broadcom BCM4350 и 4.8

    Почему «~» выбрали для представления домашнего каталога?

    Как установить библиотеку pylzma python в Linux?

    Есть ли у Linux эквивалент платформы фильтрации Windows?

    sshpass с SSH работает, но sshpass с SCP не

    Crontab не запускает сценарий оболочки

    Каков механизм моего скрипта, который потерял исполняемый бит после добавления к нему скрипта?

    Linux и Unix - лучшая ОС в мире.