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

У меня есть несколько серверов 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 
  • Не удалось заблокировать попытки входа в сервер после настройки fail2ban
  • Ubuntu не удалось загрузить после того, как я удалил 2 раздела
  • Почему «xdg-open» терпит неудачу, хотя «xdg-mime query defaut» преуспевает в Ubuntu 10.10?
  • Почему в modules.dep так много записей?
  • Как запустить скрипт в Linux при запуске
  • Gnome-терминал медленно запускается с запуска, быстро при запуске с терминала
  • Как ограничить пользователя одной папкой и не разрешать им перемещать свою папку
  • Загрузка Ubuntu с USB на Mac
  • Как контролировать блокировку / разблокировку экрана в Ubuntu 14.04
  • Как установить определенную версию reiserfsprogs?
  • Безопасно ли делиться / дома между Ubuntu и Fedora?
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.