Есть ли способ предотвратить автоматическое добавление дисков в Storage Spaces Direct?

Возникла проблема на отказоустойчивом кластере Windows Server 2016 (WSFC), на котором размещен экземпляр отказоустойчивого кластера SQL (FCI), использующий Storage Spaces Direct (S2D). На каждом сервере после успешного первоначального создания S2D автоматически добавляет неиспользуемый RAID-том в пул хранения (хотя S2D не может быть создан на RAID-томах и абсолютно настаивает на неиспользуемых дисках). Теперь он сломан именно из-за - насколько я мог понять - именно из-за этого. Как следствие, виртуальный диск отключен, забрав с собой весь кластер. Он не вернется в оперативный режим из-за отсутствия сетевого ресурса кластера. Рассматриваемые диски могут быть изъяты из обращения, но не удалены. Восстановление виртуального диска не выполняется, тест совместимости кластера утверждает, что конфигурация неверна.

Это новая установка. Так что я мог просто удалить виртуальный диск, кластер или даже серверы и начать заново. Но прежде чем мы начнем продуктивно, мне нужно убедиться, что это больше не повторится. Система выстреливает в виртуальное колено и останавливается просто из-за ненужного и ошибочного добавления неподдерживаемого диска - это не платформа, которую мы можем развернуть. Поэтому в первую очередь мне нужен способ предотвратить это, а не ремонтировать это сейчас. Я предполагаю, что предотвращение захвата конфигурации S2D большего количества дисков, чем было создано, поможет. Стоимость потенциально большего ручного взаимодействия во время реальной замены диска незначительна для кластера, который мы здесь имеем. Однако, сколько бы я ни просматривал документацию, я не могу найти никакого способа контролировать это. Если я чего-то не упускаю, ни Set-StoragePool, Set-VirtualDisk, ни Set-Volume не предлагают никаких параметров в этом отношении.

Любая помощь или подсказка будут очень благодарны.

Ниже приведены лишь более подробные сведения о вышеизложенном: У нас есть 2 серверных машины HPE DL380 Gen9, дважды подключенных друг к другу через RDMA 10 ГБ Ethernet и через 1 ГБ к клиентской сети. Каждая особенность RAID-контроллера HP ??? а простой HBA-контроллер HP ??? (поскольку S2D абсолютно требует и работает только с напрямую подключенными, необработанными дисками). Конфигурация хранилища включает в себя OS-RAID на RAID-контроллере, Files-RAID на RAID-контроллере, и набор непосредственно подключаемых дисков на HBA, предназначенный для S2D.

Я установил 2 Windows Server 2016 для центра обработки данных на OS-RAID, установил функцию WSFC, запустил и прошел тест на совместимость кластера, включая вариант S2D, создал кластер без хранилища, добавил файловый ресурс-свидетель (на отдельной машине) , включил S2D в пуле хранилищ, который автоматически состоял из всех нерассматриваемых дисков, и поверх этого пула создал виртуальный диск зеркального типа и использовал NTFS в качестве файловой системы, поскольку предполагается, что это ФС выбора для установка SQL FCI.

Затем я установил стандартную версию SQL 2016 в качестве FCI в этом кластере, импортировал базу данных и все это протестировал. Все было отлично. База данных была здесь и быстрее, чем когда-либо. Принудительное, а также автоматическое переключение при отказе было проще простого. Все выглядело хорошо.

На следующий день мы попытались использовать оставшийся Files-RAID. Первым делом нужно было изменить уровень RAID, так как предварительная конфигурация нам не понравилась. Вскоре после удаления предварительно настроенного тома RAID и создания нового (на каждом сервере) мы обнаружили, что кластер не работает. Из того, что я смог выяснить до сих пор, предварительно настроенный том Files-RAID был тем временем автоматически добавлен в пул, и, поскольку мы только что удалили его, теперь он отсутствовал в пуле. Пока я проверял, я обнаружил, что новый Files-RAID, который все еще создается, уже показан как физический диск пула. Таким образом, пул теперь включал по 2 тома RAID на каждом сервере, один из которых даже не существовал. Эти тома (но не их диски) перечислены Get-PhysicalDisk вместе с фактически физическими дисками на HBA, не уверен, что это обычные. Сам пул все еще в сети и не жалуется, однако виртуальный диск не просто деградирует из-за отсутствия дисков, а полностью отключен (и, как следствие, весь кластер).

Мне удалось удалить эти физические диски (т.е. те, которые на самом деле являются томами RAID), и теперь они помечены как списанные. Но они все еще в пуле, и я не могу удалить их сейчас, попытка сделать это не удалась. Repair-VirtualDisk должен восстановить виртуальный диск до надлежащего состояния только на оставшихся дисках (я сказал это: https://social.technet.microsoft.com/Forums/windows/en-US/dbbf317b-80d2 -4992-b5a9-20b83526a9c2 / storage-space-remove-physical-disk? Forum = winserver8gen ), но эта работа немедленно завершена, "успешно", конечно, без какого-либо эффекта.

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

Я не могу найти ни одной оставшейся части, которая сдвинулась бы еще на дюйм, все это выглядит тупиковым. Есть идеи о том, как предотвратить такой ... работающий WSFC?

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

Большое спасибо за ваше время, ребята!

Карстен

Обновление по просьбе господина enter image description here

8
задан 18 May 2017 в 20:50
2 ответа

Да, вы можете отключить автоматическое объединение в пул. Опыт невысокий, но, безусловно, выполнимый и поддерживаемый. Имя параметра и пример синтаксиса командлета находятся в разделе «Параметры» этого общедоступного документа:

https://technet.microsoft.com/en-us/windows-server-docs/failover-clustering/health-service- обзор

По сути, запустите это от имени администратора:

Get-StorageSubSystem Cluster * | Set-StorageHealthSetting -Name "System.Storage.PhysicalDisk.AutoPool.Enabled" -Value False

Надеюсь, это поможет! - Cosmos (@cosmosdarwin), Microsoft PM

5
ответ дан 2 December 2019 в 23:04

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

Вам нужно будет идентифицировать драйвер контроллера из диспетчера устройств, а затем зайти в реестр и найти имя драйвера в расположении ниже.

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ SmartPqi \ Parameters

В моем случае я изменил ключ реестра, соответствующий SAS, на RAID

«BusType» = 0x00000008 (RAID) (вместо из 0x0000000a) (SAS)

перезагрузите компьютер

После этого изменения вы можете использовать пул хранения в подсистеме хранилища Windows вместо кластерных дисковых пространств

. Будьте осторожны, если вы хотите применить этот тип обходного пути, поскольку он не проверенное решение и может подвергнуть вашу производственную среду высокому риску.

1
ответ дан 2 December 2019 в 23:04

Теги

Похожие вопросы