Ошибка оснастки FSRM "File Server Resource Manager could not load WMI objects"

FSRM MMC snap-in error "File Server Resource Manager could not load WMI objects"В инструментарии первичной настройки файлового кластера на базе Windows Server 2022 мы зачастую используем механизм управления дисковыми квотами, реализуемый на базе службы "File Server Resource Manager" (FSRM). И вот, в очередном из развёртываний, мы столкнулись с одной странной проблемой, которая воспроизвелась сразу на двух узлах кластера. При попытке открытия оснастки "File Server Resource Manager" (%windir%\system32\fsrm.msc) на обоих узлах кластера получили сообщение об ошибке "File Server Resource Manager could not load WMI objects…".

FSRM Console Error - File Server Resource Manager could not load WMI objects

Выяснилось, что одной из причин такой проблемы может быть то, что системная служба "File Server Resource Manager" (SrmSvc) в ходе загрузки ОС запускается раньше службы "Windows Management Instrumentation" (Winmgmt). То есть, первичным решением проблемы может быть банальный перезапуск службы FSRM и консоль управления снова должна "ожить".

И судя по статье "KB2831687 - File Server Resource Manager could not load WMI objects in Windows Server" об этой проблеме известно давно.

Проверка текущих настроек зависимостей службы FSRM показала, что в них действительно нет связи со службой WMI.

File Server Resource Manager Windows Service - Default Dependencies

В этой связи возникает пара вопросов. Почему MS не внесли в дефолтную конфигурацию службы FSRM зависимость от службы WMI и почему мы раньше не сталкивались с подобной ошибкой при работе с FSRM на старых Windows Server 2012 R2/2016 и даже на других новых кластерных развёртываниях Windows Server 2022? На первый вопрос у меня ответа нет, а на второй вопрос есть некоторое предположение.

По всей видимости, в большинстве ситуаций служба FSRM стартует позже, чем WMI и проблема себя никак не проявляет. Но возможны "вспышки на солнце" при которых WMI запустится позже, чем FSRM, и проблема снова воспроизведётся.

Чтобы исключить возможность возникновения проблемы в дальнейшем, настроим зависимости для службы FSRM.

Изменить зависимость служб Windows можно разными способами, например с помощью прямой правки реестра утилитой regedit, как описано в вышеупомянутой статье KB2831687, или с помощью утилиты sc, как мы рассматривали в примере ранее. В данном случае мы сделаем это с помощью PowerShell.

Чтобы запросить информацию о текущих зависимостях службы, выполним:

Get-Service "File Server Resource Manager" -RequiredServices

Чтобы изменить перечень служб, от которых зависит данная служба, используем команду следующего вида:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\SrmSvc" -Name DependOnService -Value @("RPCSS","Winmgmt")

Check and edit Windows Service Dependencies via PowerShell

Теперь снова можем заглянуть в оснастку управления службами Windows и убедиться в том, что в свойствах службы "File Server Resource Manager" теперь отображается информация о зависимости от службы "Windows Management Instrumentation".

File Server Resource Manager Windows Service - Dependencies with WMI Service

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

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