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

Я думаю, что продолжается, то, что vnstat сообщает о трафике на уровне Ethernet. Каждый пакет Ethernet содержит немного служебные для указания, куда на канале Ethernet пакет должен пойти. Эти издержки 42 байта длиной. Полезная нагрузка Ethernet обычно состоит из 16 байтов заголовка IP, 20 байтов заголовка TCP и наконец некоторых данных (полезная нагрузка).

Если Ваш средний размер полезной нагрузки является N (в байтах), то издержки TCP по IP по Ethernet являются N+78. Я подозреваю, что фигура 100Mb/s от ISP считает размер пакета IP, который является N+36. Наблюдение 125Mb/s Ethernet для 100Mb/s IP имеет смысл если N≈132.

7
26.10.2012, 20:02
3 ответа

Править: Спасибо все! Я теперь знаю о некоторых других пакетах, чтобы сделать задание, и я знаю намного больше о rsync внутренностях. Для тех, кто может также задаться вопросом это, если Вы rsync к другой машине с - numeric_ids опция, это не попытается отобразить или создать UIDs/GIDs, это просто передаст их как есть. Владение объектов в резервном каталоге может выглядеть нечетным, но это будет соответствовать 1:1 на восстановлении (принимающий часть того, что Вы восстанавливаете, включает исходные файлы отображения, если Вы восстанавливаете к новой машине).

Вот исчерпывающий список опций, которые я теперь использую для полного системного резервного копирования (как корень через sudo). Обратите внимание, что {{my_exclusions}} является осуществлением для читателя (я все еще испытываю некоторые затруднения, заставляя это работать, как это должно). Также отметьте использование - ссылка-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
3
27.01.2020, 20:16

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

Я раньше имел систему что rsynced файловые системы на сервер резервного копирования с a btrfs файловая система (чтобы сделать снимки на сервере резервного копирования), и из-за проблем устойчивости, перемещенных к zfs-Linux (который, к сожалению, еще не поддерживает POSIX ACLs, но существует работа arounds).

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

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

zfs имеет zfs send отправить только модификации, сделанные начиная с данного снимка (к другому использованию шпульки zfs zfs receive). Если я понимаю правильно, та опция была добавлена совсем недавно к btrfs также. Таким образом, при резервном копировании a btrfs FS на другого btrfs FS на последнем ядре, которое могло быть опцией.

4
27.01.2020, 20:16
  • 1
    я заявил некоторые rsync опции сам в исходном вопросе, используя их во время локальных резервных копий (к другому разделу/диску в той же системе). Но UIDs, ЦЕНУРОЗЫ, ACLs и так далее сохранены при резервном копировании через SSH к другому полю полностью, то, которое не может иметь групп или пользователей, которых делает исходная машина? Архитектурно ответ, кажется, "нет", таким образом, я спросил, что такое более оптимальный вариант (тот, который будет работать над больше, чем просто Ubuntu, и с ext3, ext4, xfs, и т.д.)? –  MartyMacGyver 25.10.2012, 12:10
  • 2
    файловая система не заботится о пользовательской базе данных системы. Все, о чем это заботится, является идентификаторами пользователей. Таким образом с - числовой идентификатор, нет никакой проблемы, отправляющей данные на другую машину, не имеет значения, существуют ли пользователи с теми uids или нет. То же для ACLs (которые на самом деле хранятся как расширенные атрибуты). Единственные проблемы, которые можно найти, - когда целевой FS не поддерживает тот же набор функций как источник один (как POSIX ACLs для ZFS) –  Stéphane Chazelas 25.10.2012, 12:48
  • 3
    Можно также попробовать --fake-super опция на удаленном rsync. Пример из страницы справочника: rsync -av --rsync-path="rsync --fake-super" /src/ host:/dest/ –  derobert 25.10.2012, 17:36
  • 4
    я изучу эту опцию и запущу некоторые тесты для наблюдения то, что происходит на цели (и во время восстановления). –  MartyMacGyver 25.10.2012, 20:40

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

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

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

4
27.01.2020, 20:16
  • 1
    Они сохранят надлежащие метаданные, ЦЕНУРОЗЫ, UIDs и так далее, даже если целевой узел будет не знать о тех группах и пользователях? –  MartyMacGyver 25.10.2012, 20:39
  • 2
    я знаю, что rsync будет с правильными параметрами командной строки, и что rsnapshot может быть настроен для передачи любых пользовательских аргументов rsync, что Вы хотите. (Если это уже правильно не настроено из поля.) я использовал бы аргументы rsync -a --delete (они, конечно, будут там по умолчанию) плюс, возможно, --numeric-ids, возможно, --hard-links, возможно, --xattrs или --acls если необходимо сохранить их. Настоятельно рекомендуйте ознакомление себя с man rsync. –  dubiousjim 25.10.2012, 21:32
  • 3
    у меня были они и больше уже, но что я не знал, был, будет ли это работать хорошо или плохо с этой целью. Оказывается, что они работали хорошо (хотя было бы хорошо смочь заархивировать это полностью с такими опциями, вместо того, чтобы иметь его живой как плоская файловая система с числовыми идентификаторами и таким..., к сожалению, tar, AFAIK не до задачи). –  MartyMacGyver 27.10.2012, 12:11
  • 4
    я не уверен, что Вы имеете в виду здесь "плоским". Относительно представления резервного копирования, поскольку живая файловая система, iirc rdiff-резервное-копирование не делает этого, и вероятно двуличность не делает ни одного, так как это использует подобный базовый механизм. –  dubiousjim 28.10.2012, 10:42
  • 5
    , Плоское как в моем резервном копировании, является набором файлов и папок на диске, по сравнению с блобом (блобами), которые содержат данные во многом как tarball, мог бы. –  MartyMacGyver 28.10.2012, 12:23

Теги

Похожие вопросы