Hyper-V Constrained Delegation of Authority — или как подключить образы компакт-диска с другого сервера или разместить виртуальные диски на сетевом ресурсе

Я думаю, что многие из вас уже пробовали подключить к виртуальному компакт-диску ВМ образ в формате ISO, который лежит на неком файловом сервере. Или может вы пробовали подключить к виртуальный диск в формате VHD, находящийся на удаленном сервере, а не локальном диске? Ведь благодаря SMB 2.0 производительность сети в Windows Server 2008 значительно увеличилась — и особенно это заметно при доступе к крупным файлам. Так или иначе, вне зависимости от того, используете вы Hyper-V, Virtual Server 2005 или даже какое-то стороннее решение виртуализации (при условии, что оно запускается не как приложение пользователя, а как служба ОС), задачу подключения дисков к ВМ по сети вы сразу выполнить не сможете. Причина конечно же известна — службы работают в контексте учетной записи «Local System», которая не всегда имеет права доступа к сетевым ресурсам. В Базе знаний Microsoft есть несколько статьей, посвященных этой проблеме. Сегодня мы детально разберемся в нем, чтобы более вопросов не возникало. Я буду описывать подход для Windows Server 2008 и Hyper-V — но имейте в виду, что для Windows XP/2003/Vista и Virtual Server 2005 все делается аналогично. Причем оговорюсь сразу — я описываю только поддерживаемый Microsoft способ с использованием Constrained Delegation, а не манипуляции с выдачей прав на различные объекты учетным записям компьютеров.

Итак, формулировка проблемы следующая: я запускаю консоль Hyper-V Manager и в настройках ВМ подключаю образ компакт-диска, расположенный на сетевом ресурсе. Задать эту настройку и даже сохранить конфигурацию я могу без проблем, поскольку консоль запускается в контексте моей собственной учетной записи пользователя. Далее я пытаюсь включить виртуальную машину — и получаю ошибку. (То же произойдет, если я попытаюсь подключить диск к уже запущенной ВМ).

Чтобы решить такую проблему, следует выполнить несколько несложных шагов. Однако, вам потребуются некоторые права в домене. Откройте консоль «Active Directory Users and Computers» (Пользователи и компьютеры Active Directory), найдите учетную запись сервера с ролью Hyper-V, в его контекстном меню выберите «Properties» (Свойства) и откройте закладку «Delegation» (Делегирование).

Выберите пункт «Trust this computer for delegation to specified services only»  (Этот компьютер доверенный для делегирования указанных служб) и «Use any authentication protocol» (Использовать любой протокол проверки подлинности).  Затем нажмите «Add» (Добавить) и укажите службу, для которой вы разрешаете передавать ваши учетные данные.

Для этого сначала нажмите «Users or Computers» (Пользователи и компьютеры)  и найдите (или выберите в списке) имена серверов, которым вы разрешаете передавать свои учетные данные (например, ваши файловые серверы).

А затем в качестве типа службы укажите CIFS — и дважды нажмите OK. Для того, чтобы информация об этих настройках в Active Directory дошла до самого сервера, потребуется несколько минут. После чего вы сможете подключать к виртуальным машинам образы компакт-дисков в формате ISO и виртукальные диски, хранящиеся на тех виртуальных серверах, для которых вы разрешили делегирование.