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

322
Lithilion

Машина времени использует инкрементные резервные копии, поэтому для восстановления резервной копии необходимы все резервные копии. Time Machine также имеет функцию удаления самой старой резервной копии, когда свободного места больше нет.
Но не разрушает ли это резервную копию? В истории отсутствует резервная копия. Как машина времени справляется с этим? Что мне не хватает?

2

1 ответ на вопрос

3
Gordon Davisson

Короткий ответ: он работает отлично благодаря странной магии файловой системы.

Длинный ответ: ну, во-первых, давайте рассмотрим, как работает нормальная система инкрементного резервного копирования (я думаю, что вы уже знаете это, но просто для установки сцены ...) Предположим, что вы делаете первоначальное резервное копирование и два инкрементальных файла на его основе:

  • При первоначальном резервном копировании копирует все файлы из источника
  • В первом инкременте он копирует только файлы, которые изменились с момента первоначального резервного копирования
  • Во втором инкрементном копировании копируются только файлы, которые изменились с первого инкрементного

Чтобы восстановить кучу файлов из «последней резервной копии», вам нужно объединить файлы из всех трех, в зависимости от того, когда каждый файл был последний раз изменен.

Если вы удалите первую резервную копию, то все файлы, которые не изменились с момента создания этой резервной копии (и, следовательно, будут сохранены в одном из инкрементальных копий) , исчезнут . Это ситуация, которую вы предполагаете в вопросе.

Машина времени работает немного по-другому. Вот как та же последовательность будет работать с Time Machine:

  • При первоначальном резервном копировании он копирует все файлы из источника (в каталог моментальных снимков с метками времени на целевом объекте резервного копирования).
  • В первом инкременте он копирует только файлы, которые изменились с момента первоначального резервного копирования (в новый каталог моментальных снимков), и добавляет жесткие ссылки на файлы и каталоги, которые не изменились (кроме тех, которые были удалены между резервными копиями).

    Жесткие ссылки - это дополнительные записи каталога, которые указывают на тот же файл, что и оригинальная запись. Стандартные файловые системы Unix позволяют жестко связывать файлы, но не каталоги; Apple выяснила, как разрешить это и для каталогов в файловой системе MacOS Extended. В любом случае, чистый результат заключается в том, что второй каталог моментальных снимков фактически содержит все файлы, которые существовали на момент создания второй резервной копии.

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

Чтобы восстановить несколько файлов из «последней резервной копии», не требуется никакого объединения, так как все файлы уже находятся в каталоге последней копии. На самом деле, вы можете просто открыть папку моментальных снимков в Finder и просмотреть все файлы, которые являются частью этого снимка. Но, пожалуйста, не вносите изменения, иначе вы можете испортить не только этот снимок, но и все остальные, с которыми он связан.

Если вы удалите первую резервную копию, то все файлы и каталоги в ней будут удалены из этого каталога моментальных снимков. Но не обязательно удаляется, это происходит только при удалении последней ссылки. Таким образом, все файлы (/ версии файлов), которые были только в этом снимке, удаляются, но те, которые были еще во время создания более поздних резервных копий, все еще существуют и все еще находятся в других снимках, которые они ' действителен для.

Фактически, вы (или система резервного копирования Time Machine) можете удалять снимки в любом порядке, не создавая пробелов в последующих резервных копиях. TM использует это как часть стандартного расписания резервного копирования: создает новый снимок один раз в час, но через 24 часа начинает удалять большинство из них, оставляя только один снимок в день. Через месяц он начинает удалять большинство ежедневных газет, оставляя только одну в неделю. Из-за жесткой ссылки это не приводит к отсутствующим файлам в моментальных снимках, которые сохраняются.

(Но опять же: не вносите изменения в каталоги резервных копий, иначе вы можете что-то сломать. У TM есть опции для удаления определенных снимков или удаления определенных файлов из всех снимков, в которых они появляются, и они безопасны. Другие изменения ... нет так безопасно.)