Назад |
Перейти на главную страницу
Зависание кластера SQL Server 2008
Мы столкнулись с странной ситуацией, когда одноузловой кластер SQL Server 2008 зависает. В качестве фона мы перестраиваем двухузловой кластер Windows Server 2003 / SQL Server 2005 с использованием Windows 2008 и SQL Server 2008. Вот временная шкала:
- Исключил пассивный узел (сервер B) из кластера Windows 2003 / SQL 2005. Активный узел теперь без проблем функционирует как одноузловой кластер.
- Очистил диски сервера B и установил Windows 2008 и SQL Server 2008 как одноузловой кластер. Поскольку мы пока не хотим, чтобы два кластера обменивались данными, мы оставили адаптер «пульса» частной сети кластера ненастроенным. Кластер подходит и функционирует нормально.
- Все базы данных перемещены в новый кластер. Кластер продолжает нормально функционировать.
- Выключил сервер A (старый кластер) при подготовке к перестройке в качестве второго узла нового кластера.
- Экземпляр SQL Server на сервере B (новый кластер) блокируется, даже если он не должен знать или взаимодействовать с сервером A.
- Перезапускаемый сервер A. Экземпляр SQL Server на сервере B (новый кластер) немедленно снова начинает работать.
Что мы пробовали:
- Имя нового кластера отвечает на запросы ping и NETBIOS, даже когда SQL Server завис.
- Мы подтвердили, что старому адаптеру пульса не назначен IP-адрес, и он не извлекает IP-адрес из DHCP.
- Отключение сетевой карты пульса имеет тот же эффект.
- Никаких ошибок не было ни в каких логах - Windows или SQL.
- Когда ошибка возникла впервые, он некоторое время находился в зависшем состоянии (более 10 минут), прежде чем кто-либо понял, что происходит. Казалось бы, это устраняет любой тип обычного тайм-аута кластера, в течение которого он будет искать другой узел (даже если он был настроен).
Сервер B работает под управлением Windows 2008 SP2 с полностью исправленными обновлениями и SQL Server 2008 SP1 CU7 (10.0.2775).