2

У меня есть два жестких диска (одинакового размера, одинаковых разделов, одинаковой модели), которые были синхронизированы с помощью FreeFileSync. Они используются для хранения данных, а не системы. После синхронизации диски должны сообщать о том же свободном и занятом дисковом пространстве, но это не так.

Первый диск (используемый для хранения) сообщает о 781 ГБ используемого дискового пространства, в то время как второй диск (резервный) сообщает только 778 ГБ. Чтобы получить эту информацию, я щелкнул правой кнопкой мыши на диске и выбрал свойства.

Во-первых, я подумал, что инструмент синхронизации не выполняет работу (исключая некоторые файлы), но использование других инструментов синхронизации файлов (таких как SyncToy или DirSyncPro) дает мне тот же результат (никакие различия в файлах не приводят к разнице в 2 ГБ).

Кроме того: если я зайду в корневую папку диска, выберите все (все файлы и папки) и щелкните правой кнопкой мыши, затем выберите свойства, общий размер сообщаемых файлов составляет 778 ГБ на обоих дисках. Если я посмотрю поближе на цифры, между двумя дисками будет небольшая разница в несколько мегабайт.

Заметки :

  • Компьютер был перезагружен несколько раз.

  • Корзина была очищена на обоих дисках (если я перехожу в папку $RECYCLE.BIN , оба они почти пусты (всего несколько КБ).

  • Теневое копирование отключено. vssadmin list shadows ничего не сообщает.

  • Настройки папки Windows Explorer были изменены для отображения системных файлов и скрытых файлов.

  • Я запустил инструмент "Проверка ошибок" (с включенной "Автоматически исправлять файловую систему") на обоих дисках.

Почему разница между используемым и свободным пространством между двумя дисками? Как я могу решить это?

2 ответа2

4

Альтернативные потоки данных

Ваши исходные файлы могут иметь альтернативные потоки данных NTFS. Если ваше программное обеспечение для резервного копирования / синхронизации не знает о них, они не будут скопированы в целевой объект. Есть много инструментов, которые могут отображать их, и, начиная с Windows Vista, вы можете использовать dir /r , который отображает не только файлы, но и их альтернативные потоки данных.

Различный размер кластера файловой системы

Дисковое пространство, занимаемое файлом, округляется, поскольку файл занимает целое число кластеров файловой системы. Например, если размер вашего файла составляет 3000 байт, а размер кластера файловой системы равен 4 КБ, тогда файл будет занимать ровно 4 КБ. Если ваши две файловые системы используют разные размеры кластера, то объем дискового пространства, потраченного таким образом, будет разным.

Другие редко используемые функции NTFS

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

  • Сжатие. Если сжатые файлы не будут сжаты во время копирования, они займут больше места.
  • Разреженные файлы: при копировании необходимо соблюдать особую осторожность, иначе они будут "взорваться", например, займут гораздо больше места и больше не будут свободными.
  • Точки повторной обработки, жесткие ссылки и многие другие функции, которые могут запутать ваше программное обеспечение для резервного копирования.

вывод представляется

Не полагайтесь на итоги файловой системы. Используйте какой-то вид аудита, чтобы убедиться, что ваши файлы скопированы правильно. Например, вы можете попробовать md5deep для вычисления хешей и сравнения файлов.

1

Эта проблема связана с обратной совместимостью Windows Vista и более поздних версий. В этих системах некоторые папки с "известными" именами в Windows XP сопоставляются с новыми местоположениями с помощью точек соединения каталогов NTFS.

Пример такого сопоставления:\Documents and Settings\<username>\Application Data , сопоставленные с \Users\<username>\AppData\Roaming .

Возможно, у вас есть некоторые данные приложения в %appdata% которые дважды учитываются инструментами использования дискового пространства Windows. Или, возможно, существуют другие точки соединения или символические ссылки на файлы, которые влияют на это измерение.

Чтобы проверить, содержит ли резервный диск точки соединения, используйте dir /A:L /S в своем корневом каталоге и сравните его с тем, что он возвращает на исходном диске. Если они одинаковы, то ваша проблема лежит в другом месте.

Если они не совпадают, то для правильного копирования ваших данных вы должны использовать программу, которая понимает точки соединения каталогов NTFS и может также копировать их, одна из таких программ - Microsoft Robocopy или обычный xcopy.

Другой возможностью являются используемые файлы, в Windows только VSS может копировать используемые файлы.

Я бы лично использовал Robocopy со следующими параметрами:

  • /COPYALL - COPY ALL информация о файле
  • /B - копировать файлы в режиме резервного копирования
  • /SEC - копировать файлы с помощью SECurity
  • /MIR - MIRror дерево каталогов
  • /R:n - количество попыток
  • /W:n - Время ожидания между попытками
  • /LOG - выходной файл журнала
  • /NFL - Нет регистрации файлов
  • /NDL - Нет регистрации журнала

ROBOCOPY source destination /COPYALL /B /SEC /MIR /R:0 /W:0 /LOG:log.txt /NFL /NDL

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

Вы также можете использовать xcopy с /B который Copies the Symbolic Link itself versus the target of the link.

Но, как правило, выполнение копии онлайновой файловой системы, используемой в настоящее время работающей ОС, является непростым делом, если вы не хотите использовать VSS.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .