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

Вопрос или проблема

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

Но разве это не уничтожает резервную копию? В истории отсутствует резервная копия. Как Time Machine справляется с этим? Что я упускаю?

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

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

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

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

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

Time Machine работает немного по-другому. Вот как та же последовательность сработает в Time Machine при резервном копировании на диск формата HFS+ (Обновление: Начиная с macOS 11.0 Big Sur, Time Machine предпочитает создавать резервные копии на объемах формата APFS, что достигает аналогичных эффектов другим механизмом.):

  • В первоначальной резервной копии копируются все файлы из источника (в директорию со снимком с временной меткой на целевом накопителе).

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

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

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

В новом формате резервного копирования APFS снимки являются псевдо-томами, а не директориями, и эквивалент жесткого связывания файлов осуществляется на более низком уровне, с тем, что неизмененные файлы/директории в разных снимках хранятся в одних и тех же блоках памяти на реальном диске. Более подробную информацию можно найти в статье Ховарда Оукли “Time Machine создает резервные копии различных файловых систем”.

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

Если вы удалите первую резервную копию из резервной копии HFS+, то все файлы и директории в ней отвязаны от этой директории снимка. Но это не обязательно означает удаление, это происходит только тогда, когда последняя ссылка удаляется. Следовательно, все файлы (версии файлов), которые были только в этом снимке, будут удалены, но те, которые все еще существовали, когда создавались более поздние резервные копии, все еще остаются и по-прежнему находятся в других снимках, для которых они действительны.

С новым форматом резервного копирования APFS он делает по существу то же самое, но по сути удаляет ссылки на уровне блоков, а не на уровне директории/файла. Но аналогично, место не освобождается, пока последняя ссылка не будет удалена.

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

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

Ответ или решение

Как работает удаление старых резервных копий в Time Machine: Подробное объяснение

Time Machine — это встроенная система резервного копирования в macOS, которая использует инкрементные резервные копии для эффективного хранения и восстановления данных. Вопрос, который многие пользователи задают, заключается в том, как именно удаление старых резервных копий при нехватке пространства влияет на целостность резервных данных и как система управляет этими процессами.

Принцип работы инкрементных резервных копий

Для начала, давайте рассмотрим, как функционирует система инкрементных резервных копий. Когда Time Machine создает резервные копии, происходит следующее:

  1. Изначальная резервная копия: При первом запуске резервного копирования Time Machine копирует все файлы с источника в специальную директорию-снимок на целевом диске с отметкой времени.

  2. Первичная инкрементная копия: При создании первой инкрементной резервной копии Time Machine копирует лишь те файлы, которые изменились с момента первоначальной резервной копии. Однако, файлы и директории, которые не изменились, не копируются заново, вместо этого используются жёсткие ссылки на них.

  3. Вторая инкрементная копия: В рамках второго инкрементального резервного копирования, процесс повторяется: копируются только измененные файлы с добавлением жёстких ссылок на неизменные файлы и директории.

Удаление резервных копий в Time Machine

Когда место на резервном диске заканчивается, Time Machine автоматически удаляет старые резервные копии. Это может вызвать опасения у пользователей — не исчезнут ли данные, которые им могут понадобиться в будущем? Тем не менее, благодаря механизму жёстких ссылок, ситуация управляется следующим образом:

  • Жесткие ссылки: Если резервная копия удаляется, Time Machine не удаляет фактические файлы, а лишь удаляет ссылки на них. Это означает, что файлы, которые были доступны в более поздних резервных копиях, остаются доступными, поскольку на них всё еще существуют ссылки в следующих инкрементных копиях.

  • Файловая система HFS+ и APFS: Изменение файловой системы на APFS в macOS Big Sur улучшило этот процесс. APFS использует механизмы управления данными на более низком уровне, что позволяет более эффективно освобождать пространство и управлять резервными копиями.

Восстановление данных и управление версиями

Восстановление данных из резервных копий Time Machine становится более понятным благодаря тому, что вся информация сохраняется в актуальных снимках. Пользователи могут в любое время открыть последнюю резервную копию в Finder и получить доступ ко всем файлам и версиям, которые в ней хранятся.

Заключение

Time Machine обеспечивает надежное управление резервными копиями без потери данных, благодаря уникальным механизмам, таким как жёсткие ссылки и оптимизация файловой системы. Процессы удаления старых резервных копий реализованы так, что пользователи не сталкиваются с "пробелами" в резервных данных, что делает Time Machine надежным инструментом для резервного копирования и восстановления информации. Пользователям следует избегать внесения изменений в сами директории резервных копий, чтобы не нарушить интеграцию данных.

Если вы хотите получить больше информации о Time Machine, механизмах ее работы или процессе восстановления данных, пожалуйста, оставьте свои вопросы в комментариях.

Оцените материал
Добавить комментарий

Капча загружается...