Shared VHDX для бедных

У Microsoft есть замечательная штука — shared vhdx. Это возможность использовать общий виртуальный жесткий диск для нескольких машин с целью создания кластера из виртуалок.
Однако, и тут не обошлось без ложки дегтя — не смотря на то, что официально поддерживается SMB 3.0 хранилище для размещения общих дисков, есть одно маленькое, но злое требование — это обязательно должен быть SoFS.
Тем не менее есть хитрый обходной путь, который естественно не поддерживается официально, но, как говорится, если нельзя, но очень хочется нужно, то можно 🙂

Он описан в блоге Айдана Финна здесь, а та кже на виндовситпро здесь, и сводится к тому, чтобы просто всех обмануть — добавить роль отказоустойчивого кластера и вручную добавить необходимый файловый фильтр. То есть фактически, необходимо выполнить всего две команды:

Install-WindowsFeature Failover-Clustering
FLTMC.EXE attach svhdxflt <volume>:

Естественно, что никакой отказоустойчивости с одним сервером не будет 🙂

Реклама

Hyper-V и SMB3. The system cannot find the path specified

Июльские обновления безопасности для Hyper-V (MS15-068) имеют неприятный побочный эффект. После установки KB3046339 и KB3046359, виртуальные машины, расположенные на SMB3 общем ресурсе могут перестать запускаться (вероятность очень маленькая, но тем не менее, такие случаи замечены).

Симптоматика простая — при попытке запуска машины выдается сообщение о том, что виртальный диск не может быть обнаружен, не смотря на то, что он вполне доступе по этому пути.

В журналах событий операционной системы при этом появляются события вида:

Hyper-V-Worker

12240

‘<SERVER>’: Attachment ‘\\<SERVER>\<SHARE>\<VM>\<DISK>.vhdx’ not found. Error: ‘The system cannot find the path specified.’ (0x80070003).

Попытки просмотреть свойства диска (Inspect в настройках виртуальной машины) также завершаются ошибкой вида:

The storage where the virtual hard disk is located does not support virtual hard disk sharing.

Из дополнительных симптомов, также можно отметить наличие прав доступа на файлы виртуальной машины для учетной записи сервера Hyper-V с областью действия «This folder only». Правда изменение прав доступа на правильные само по себе ничего не дает.

Как оказалось, данная ошибка связана с обновлениями KB3046339 и KB3046359. Если их удалить, то виртуальные машины начинают работать корректно.

Повторная поэтапная установка этих обновлений (сначала KB3046339, а потом KB3046359) не приводит к проявлению ошибки.

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

P.S. Проверить наличие обновление на сервере можно с помощью команды:

C:\Users\******>systeminfo | find «30463»
[103]: KB3046339
[104]: KB3046359