Возникла проблема здесь на отказоустойчивом кластере Windows Server 2016 (WSFC), на котором размещен экземпляр отказоустойчивого кластера SQL (FCI) с использованием Storage Spaces Direct (S2D). На каждом сервере после успешного первоначального создания S2D автоматически добавлял неиспользуемый в противном случае RAID-том в пул хранения (хотя S2D не может быть создан на RAID-томах и абсолютно настаивает на неразделенных дисках). Теперь это сломано, из-за - насколько я мог понять - именно это. Как следствие, виртуальный диск находится в автономном режиме, уничтожая весь кластер. Он не вернется в оперативный режим из-за отсутствия ресурсов кластерной сети. Диски, о которых идет речь, могут быть удалены, но не удалены. Восстановление виртуального диска не выполняется, проверка совместимости кластера указывает на неверную конфигурацию.
Это новая настройка. Поэтому я мог просто удалить виртуальный диск, кластер или даже серверы и начать все сначала. Но прежде чем мы начнем работать продуктивно, я должен убедиться, что это никогда не повторится. Система, стреляющая в себя в виртуальном колене и приводящая к краху, просто без необходимости и ошибочно добавляя неподдерживаемый диск, не является платформой, которую мы можем развернуть. Поэтому в первую очередь мне нужен способ предотвратить это, а не ремонтировать его сейчас. Я предполагаю, что предотвращение захвата S2D установки большего количества дисков, чем было создано, поможет. Стоимость потенциально большего количества ручного взаимодействия при замене реального диска незначительна для кластера ... у нас есть здесь. Однако, пока я просматривал документацию, я не могу найти способ контролировать это. Если я не пропустил что-то, ни Set-StoragePool,
Любая помощь или подсказка будет принята с благодарностью.
Ниже приведено лишь несколько подробностей о вышеперечисленном: у нас есть 2 сервера HPE DL380 Gen9, дважды подключенные друг к другу через 10 ГБ Ethernet с поддержкой RDMA и через 1 ГБ к клиентской сети. Каждая особенность RAID-контроллера HP ??? а простой HBA контроллер HP ??? (поскольку S2D абсолютно необходим и работает только на непосредственно подключенных, неразделанных дисках). Конфигурация хранилища включает в себя OS-RAID на RAID-контроллере, Files-RAID на RAID-контроллере и набор напрямую подключенных дисков на HBA, предназначенных для S2D.
Я установил 2 версии Windows Server 2016 datacenter на OS-RAID, установил функцию WSFC, запустил и прошел тест на совместимость кластера, включая опцию S2D, создал кластер без хранилища, добавил свидетеля общего файлового ресурса (на отдельном компьютере), включил S2D в пуле хранения, который автоматически состоит из всех неразделенных дисков, и поверх этого пула создал виртуальный диск зеркального типа и использовал NTFS в качестве файловой системы, поскольку предполагается, что это предпочтительная FS для SQL FCI установка.
Затем я установил стандартную версию SQL 2016 в качестве FCI в этом кластере, импортировал базу данных и протестировал все это. Все было отлично. База данных была тут же и быстрее, чем когда-либо. Принудительное, а также автоматическое аварийное переключение было на одном дыхании. Все выглядело хорошо.
На следующий день мы попытались использовать оставшиеся файлы-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-Spaces-Remove-Physical-disk? forum = winserver8gen ), но эта работа немедленно завершена, «успешно», конечно, без какого-либо эффекта.
Попытка переключить виртуальный диск обратно в онлайн не удалась, заявив, что сетевой ресурс кластера недоступен. Насколько я понимаю, это может относиться только к (доступному) пулу хранения, поскольку отсутствующие диски не являются кластерными ресурсами. В пуле нет ошибок, которые нужно исправить. Запуск теста совместимости кластера требует конфигурации, не подходящей для кластера.
Я не могу найти ни одной детали, которая могла бы сдвинуться с места на дюйм, все это навсегда выглядит заблокированным. Любые идеи о том, как предотвратить запуск WSFC таким образом?
Я не сталкивался с сообщениями об ошибках, которые мне показались особенно поучительными, и я не хотел больше бомбить страницу, публикуя их все. Если кто-то хочет иметь какие-то конкретные детали, просто дайте мне знать.
Большое спасибо за ваше время, ребята!
Карстен
источник
Get-PhysicalDisk -CanPool $true | Sort Model | ft FriendlyName, BusType, CanPool, OperationalStatus, HealthStatus, Usage, Size
есть ли вероятность того, что вы допустили ошибку, когда перенастроили File-RAID, назначив диск S2D новому RAID?Ответы:
Да, вы можете отключить режим автоматического пула. Опыт не очень хороший, но, безусловно, выполнимый и поддерживаемый. Имя параметра и пример синтаксиса командлета находятся в разделе «Настройки» этого открытого документа:
https://technet.microsoft.com/en-us/windows-server-docs/failover-clustering/health-service-overview
По сути, запустите это как администратор:
Get-StorageSubSystem Cluster * | Set-StorageHealthSetting -Name "System.Storage.PhysicalDisk.AutoPool.Enabled" -Value False
Надеюсь это поможет! - Космос (@cosmosdarwin), Microsoft PM
источник
Обходной путь, который я нашел к этой проблеме, состоит в том, чтобы изменить тип шины томов или дисков RAID, изменив его с одного из поддерживаемых типов на неподдерживаемые.
Вам нужно будет идентифицировать драйвер контроллера из диспетчера устройств, после чего зайдите в реестр и найдите имя драйвера в расположении ниже.
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ SmartPqi \ Parameters
В моем случае я изменил раздел реестра, который соответствует SAS на RAID
«BusType» = 0x00000008 (RAID) (вместо 0x0000000a) (SAS)
перезагрузите машину
После этого изменения вы можете использовать пул хранения в подсистеме хранения Windows вместо кластерных пространств хранения.
Пожалуйста, будьте осторожны, если вы хотите применить этот тип обходного решения, поскольку это не проверенное решение и может подвергнуть вашу производственную среду высокому риску.
источник