У меня есть сервер Windows 2012 R2, работающий как виртуальная машина (поверх KVM / Libvirt). У него есть дополнительный «внутренний» диск, определяемый как F:
Если я сделаю снимок логического тома хоста на базе Linux, представляющего F:
и смонтировать его на хосте, я получаю много файлов, помеченных как неподдерживаемая точка повторной обработки.
Я хочу сделать резервную копию файловой системы с хоста, поэтому я начал отсюда.
Вот пример с точки зрения ведущего
lvcreate --name shares-snap --size 10G --snapshot /dev/crypt_md3/shares
mount -o ro,offset=$((129*1024*1024)) /dev/crypt_md3/shares-snap /mnt/dsk
ls -l /mnt/dsk/mfc70.dll
lrwxrwxrwx 1 root root 26 Jan 5 2002 /mnt/dsk/mfc70.dll -> unsupported reparse point
В гостевой системе Windows в диалоговом окне свойств файла отображается его размер 952 КБ, а размер на диске равен 0 байтам. Это классика для повторной обработки. Расширенные атрибуты APL
, с L
подтверждая, что файл действительно является точкой повторной обработки.
Копирование файла удаляет P
и L
атрибуты из копии.
Поиски вокруг привели меня к Как найти цель символической ссылки, созданной с помощью mklink и это принятый ответ. Я скачал оба соединение 1.06 и NTFSLinksView.
Бег junction
не дает мне ничего полезного:
F:\> c:\local\bin\junction mfc70.dll
Junction v1.06 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2010 Mark Russinovich
Sysinternals - www.sysinternals.com
F:\mfc70.dll: UNKNOWN MICROSOFT REPARSE POINT
Бег dir /L
тоже не приносит мне ничего полезного:
F:\>dir /L mfc70.dll
Volume in drive F is Folder shares
Volume Serial Number is B600-69DE
Directory of F:\
05/01/2002 04:48 974,848 mfc70.dll
1 File(s) 974,848 bytes
0 Dir(s) 233,785,053,184 bytes free
Бег dir /A:L
включает файл, так что это определенно какая-то точка повторной обработки.
NTFSLinksView
просто не перечисляет файл.
После всей этой справочной информации вопрос действительно довольно прост:
ntfs-3g
на хосте, чтобы переназначить точки соединения, чтобы они разрешились?Вероятно, это файлы без дублирования. Они реализованы с помощью соединений на диске, а драйвер файловой системы выполняет повторную сборку. Я сомневаюсь, что вы найдете инструмент Linux, который сможет с ними справиться. И другие утилиты Windows для соединений не поймут их, потому что они были разработаны для обычных соединений, а не для дедупликационных соединений.