System Center 2012 R2 Configuration Manager - Import failed as \\FS\Share\DriverSources\* is a Reparse Point that SMS does not support via downloads - 0x80004005

imageВ очередном развёртывании System Center 2012 R2 Configuration Manager (SCCM) при попытке добавления драйвера, исходные файлы которого размещены на файловом кластере на Windows Server 2012 R2 (на томе с включенной дедупликацией файлов) в пакет драйверов получили ошибку… 

image

При этом на SCCM сервере в логе \\SCCMServer\SMS_<site code>\Logs\DriverCatalog.log были зафиксированы ошибки обработки исходных файлов добавляемого драйвера, говорящие о невозможности обработать эти файлы

CreateFromINF("\\holding.com\DriverSources\Audio\Realtek High Definition Audio Driver\6.0.1.6662", "HDXSRSL.INF")    DriverCatalog    18.03.2014 10:29:03    5052 (0x13BC)
HashFile failed as \\holding.com\DriverSources\Audio\Realtek High Definition Audio Driver\6.0.1.6662\alcmtr.exe is a Reparse Point that SMS does not support via downloads, -1    DriverCatalog    18.03.2014 10:29:03    5052 (0x13BC…)Import failed as \\holding.com\DriverSources\Audio\Realtek High Definition Audio Driver\6.0.1.6662\* is a Reparse Point that SMS does not support via downloads.    DriverCatalog    18.03.2014 10:29:03    5052 (0x13BC)
Failed to build driver content information for "\\holding.com\DriverSources\Audio\Realtek High Definition Audio Driver\6.0.1.6662".  Code 0x80004005    DriverCatalog    18.03.2014 10:29:03    5052 (0x13BC)

 

Судя по содержимому ошибок в данной ситуации SCCM не в состоянии обработать файлы расположенные на дисковом томе подверженном дедупликации. О том, что эта проблема имеет давние корни, свидетельствуют также записи типа Importing Drivers Fails in ConfigMgr 2007

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

image

Чтобы обойти вышеописанную проблему с SCCM не отключая при этом дедупликацию на весь том файлового сервера, настроим каталоги исходных файлов драйверов SCCM как исключаемые из механизмов дедупликации. Через графический интерфейс сделать это можно выбрав в Server Manager\File and Storage Services\Volumes для дискового тома в контекстном меню пункт Configure Data Deduplication и в открывшемся окне настроек дедупликации тома добавить исключаемый каталог…

image

Изменить список исключаемых каталогов можно также через командлеты PowerShell:

Import-Module ServerManager
Set-DedupVolume -Volume S: -ExcludeFolder 'S:\system-center-cm\driversources'

image

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

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

Set-DedupVolume -Volume S: -MinimumFileAgeDays 0
Start-DedupJob -Type Optimization -Volume S:

Наблюдаем за ходом выполнения:

Get-DedupJob

image

Получить дополнительные сведения о выполнении действий дедупликции можно в эвент-логах Application and Services Logs > Microsoft > Windows > Deduplication а также с помощью командлета обновления и отображения статистики:

Update-DedupStatus –Volume S:
Get-DedupStatus

В результате после выполнения полной оптимизации мы должны убедиться в том, что размер исключаемой папки не “усох” а остался на прежнем уровне, и это значит, что наше исключение работает.

image

После не забываем вернуть обратно значение MinimumFileAgeDays на то, которое было установлено ранее:

Set-DedupVolume -Volume S: -MinimumFileAgeDays 3

Ну и теперь всё, что нам остается сделать, это проверить то, что SCCM без ошибок выполняет загрузку драйверов из указанной папки…

image

Дополнительная информация по теме:

SCCM Team Blog - Configuration Manager Distribution Points and Windows Server 2012 Data Deduplication
WMUG - Robert - ConfigMgr - Windows 2012 Server Deduplication and ConfigMgr 2012
Pipe2Text.com - Using PowerShell to Install and Configure Deduplication in Windows Server 2012
TechNet Library - Deduplication Cmdlets in Windows PowerShell

Только один комментарий Комментировать

  1. ser /

    Спасибо

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