Для тренировки и самообучения провожу установку кластера ms sql 2008 r2 на кластер windows 2012 r2 (все это на виртуальных машинах).
Имеется следующее:
- 2 виртуальные машины на hyper-v;
- iscsi хранилища (кворум-диск, диск для базы данных, диск для службы распределенных транзакций). iscsi настроен на хост сервере;
- контроллер домена на хост машине;
- служба отказоусточивого кластера поднята на виртуалках и на хост-машине. Виртуалки объединены в кластер.
Проверка кластера, в дистпетчере отказоустойчивого кластера, проходит замечательно и не выдает никаких замечаний и ошибок.
При установке кластера ms sql на виртуалку, установщик запускает свои проверки, и находит следующие ошибки:
1. Cluster_IsOnline не пройдено (Службы кластера отработки отказа SQL Server находятся вне сети, или не удается получить доступ к кластеру с одного из его узлов)
2. Cluster_SharedDiskFacet не пройдено (Для кластера на этом компьютере не доступен ни один общий диск)
3. Cluster_VerifyForErrors не пройдено (Кластер не проверялся, либо в отчете проверки присутствуют сообщения об ошибках или сбоях)
На все сервера установлены последние обновления. Перезагружался много раз. Framework установлен на всех узлах кластера.
Вот куски из логов с ошибками:
2015-12-15 14:24:00 Slp: Initializing rule : Проверка службы кластеров
2015-12-15 14:24:00 Slp: Rule applied features : ALL
2015-12-15 14:24:00 Slp: Rule is will be executed : True
2015-12-15 14:24:00 Slp: Init rule target object: Microsoft.SqlServer.Configuration.Cluster.Rules.ClusterServiceFacet
2015-12-15 14:24:00 Slp: Данный ключ отсутствует в словаре.
2015-12-15 14:24:00 Slp: в Microsoft.SqlServer.Chainer.Infrastructure.ServiceContainer.GetService(Type serviceType)
в Microsoft.SqlServer.Chainer.Infrastructure.ServiceContainer.GetService[T]()
в Microsoft.SqlServer.Chainer.Infrastructure.ServiceContainer.get_Cluster()
в Microsoft.SqlServer.Configuration.Cluster.Rules.ClusterServiceFacet.Microsoft.SqlServer.Configuration.RulesEngineExtension.IRuleInitialize.Init(String ruleId)
в Microsoft.SqlServer.Configuration.RulesEngineExtension.RulesEngine.Execute(Boolean stopOnFailure)
2015-12-15 14:24:00 Slp: Rule initialization failed - hence the rule result is assigned as Failed
2015-12-15 14:24:01 Slp: Evaluating rule : Cluster_SharedDiskFacet
2015-12-15 14:24:01 Slp: Rule running on machine: DELO-DB1
2015-12-15 14:24:01 Slp: Rule evaluation done : Failed
2015-12-15 14:24:01 Slp: Rule evaluation message: Для кластера на этом компьютере не доступен ни один общий диск. Чтобы продолжить, необходимо сделать доступным по крайней мере один общий диск.