На одном из серверов с Windows Server 2016 после каждой перезагрузки сервера отключается дополнительный диск (не системный), подключенный в виде LUN с SAN хранилища по FC. Если открыть консоль управления дисками diskmgmt.msc, можно увидеть, что данный диск находится в автономном режиме Offline.
Чтобы сделать этот диск доступным в Windows нужно щелкнуть по нему ПКМ и перевести в режим Online. Это придется делать при каждой перезагрузке сервера. Сомнительная перспектива.
Сначала были подозрения, что при отключении питания в серверной СХД загружалась позже, чем сервер. Однако при штатной перезагрузке диск все равно отключался.
Обратите внимание на всплывающую надпись у отключённого диска в консоли управления дисками:
Как оказалось, такая проблема может наблюдаться в кластерах или на виртуальных машинах с Windows, на которых общие диски могут быть доступны нескольким операционным системам. Это связано с наличием специальной политики SAN Policy, которая впервые появилась в Windows Server 2008. Эта политика управляет автоматическим монтированием внешних дисков и используется для защиты общих дисков, которые доступны нескольким серверам одновременно. По умолчанию в Windows Server для всех SAN дисков, кроме загрузочного, используется политика Offline Shared (VDS_SP_OFFLINE_SHARED). Вы можете изменить SAN Policy на OnlineAll с помощью Diskpart.
Отройте командную строку с правами администратора и выполните команду
diskpart
. В контексте diskpart выведите текущую политику SAN:
DISKPART>san
SAN Policy : Offline Shared
Измените политику SAN Policy:
DISKPART> san policy=OnlineAll
DiskPart successfully changed the SAN policy for the current operating system.
Еще раз проверим текущую политику:
DISKPART>
san
SAN Policy : Online All
Выберите ваш диск (в нашем примере индекс диска 2):
DISKPART>select disk 2
Можете проверить его атрибуты:
DISKPART>attributes disk
Проверьте, не включен ли атрибут Read-Only, если да, снимите его, иначе при записи на диск будет появляться надпись The disk is write protected:
DISKPART>attributes disk clear readonly
Переведите диск в online режим:
DISKPART>online disk
DiskPart successfully onlined the selected disk
Set-Disk 2 -IsOffline 0
Закройте diskpart, перезагрузите сервер и проверьте, что диск доступен после загрузки.
Как оказалась, проблема с недоступностью подключенных дисков характерна не только для Windows Server, но и для десктопных версий Windows. Например, в Windows 10 при подключении внешнего диска по USB или SSD диска в диспетчере устройства вы также можете видеть статус диска:
В Windows 10 проблема с отключающийся Offline дисками исправляется аналогично: изменением политики SAN policy. Если диск новый, возможно понадобится инициализировать его и создать на нем разделы с файловой системой.
Странно. Винда10 включая все обновления (есть 2019 и 2016 сервер, да 2008 был даже, за самый каефный 2012 молчу он основа основ у меня) и нет проблем. Ни с подключаемыми ssd, ни с просто usb drive. Было нечто подобное с 2008 давно, он действительно выставлял оффлайн для внешних хдд. Но там 100% было натыкано изначально с политиками.
Веселая проблемка. Респект за подсказку.
Очень помогло (Win2016Standart версия 1607 сборка 14393.3808). Спасибо.
У меня похожая проблема. Есть полка, подключена по FC к 2-м хостам, оба сервера (2016) видят диск (пишут и читают). Но при запуске валидации, перед созданием кластера, на сервере 1 диск с полки мгновенно уходит в оффлайн и тест проваливается. До этого был собран кластер на vmware и всё работало. Есть идеи?
Эммм, разобрался сам. На общем диске, если он размечен в GPT, нужно создать скрытый MSR раздел для служебных данных. Теперь валидация проходит и диск не отваливается.
«Отройте командную строку с правами администратора». Лучше бы «откройте».
Спасибо за статью. Как всегда, четко, кратко, всё в тему и по делу.
Вы гении спасибо вам
К сожалению данный способ не сработал. После команды перевода в онлайн сообщение: «Ошибка службы виртуальных дисков:Объект не найден.»
Помог способ с использованием PowerShell: set-disk x -isoffline $false