SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Microsoft SQL Server » Апгрейд кластера с 2012, 2017 до 2022 (Апгрейд кластера с 2012, 2017 до 2022 с переустановкой ОС с 2012 на 2022)
Апгрейд кластера с 2012, 2017 до 2022 [сообщение #6007] Tue, 08 April 2025 11:11 Переход к следующему сообщению
keepermode в настоящее время не в онлайне  keepermode
Сообщений: 36
Зарегистрирован: May 2023
Member
Добрый день! Подскажите (проверьте) вкраце общую схему апгрейда и возможные нюансы.
Требуется Апгрейд Кластера из двух нодов с MSSQL (на 1 ноде 2017 RTM-CU31 Ent, на 2 ноде 2012 SP4-GDR Std) до версии SQLServer2022
с переустановкой ОС WinSrv2012R2 (на обоих нодах) на WinSrv2022 - до MSQSL 2022
Предположительная план-схема действий:
1. Начать со 2 ноды на которой SQL2012. Перекинуть все инстансы на ноду 1 (актив)
2. Отключить ноду 2 от кластера - pause, EVICT. Проверить успешную работу 1 ноды.
3. Переустановить на 2 ноде ОС на Win 2022.
4. Установка MSSQLServer 2022 с образа - выбрать ADD node to FCluster (добавить к существующему кластерй на 1 ноде SQL2017)
5. ...
Хотелось бы точно знать, что версия SQL 2022 успешно добавится к Кластеру на 1 ноде с версией SQL 2017 RTM-CU31 Ent ?
Подскажите, пожалуйста, у кого был такой опыт )
Re: Апгрейд кластера с 2012, 2017 до 2022 [сообщение #6008 является ответом на сообщение #6007] Tue, 08 April 2025 21:41 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время в онлайне  BlackEric
Сообщений: 378
Зарегистрирован: June 2022
Senior Member
Опыта не было. Я бы проверил это на паре виртуалок. Для проверки хватит любого ноутбука.
Заодно еще неучтенные грабли отловите.
А так все логично.
Re: Апгрейд кластера с 2012, 2017 до 2022 [сообщение #6009 является ответом на сообщение #6008] Wed, 09 April 2025 21:31 Переход к предыдущему сообщениюПереход к следующему сообщению
flexgen в настоящее время не в онлайне  flexgen
Сообщений: 23
Зарегистрирован: July 2022
Junior Member
Я не понял, у тебя в кластере один инстанс, который на одной ноде работает под SQL2012, а на второй - под SQL2017? Или у тебя два инстанса, две разных cluster roles, одна под SQL2012, вторая - под SQL2017? Думаю, что все же второй вариант, потому что я не очень понимаю, как ты сумел поставить кластер на разных версиях SQL, и как у тебя работает failover со старшей версии в младшую.

У тебя проблема в том, что Windows Server 2012 R2 не поддерживает SQL2022.
Но Windows Server 2022 поддерживает и SQL 2017 и SQL 2022.

В этой ситуации я бы сделал следующее:

1. Апгрейд Windows Server 2012 R2 до Windows Server 2016 или Windows Server 2019 , обе версии поддерживают SQL версий от 2012 SP4 до 2022.  Кроме того прямой апгрейд  Windows Server 2012 R2 до Windows Server 2022  не сработает, в любом случае нужен промежуточный апгрейд.
2. Апгрейд  SQL 2012 до SQL 2017.
3. Апгрейд Windows Server 2016 (или 2019) до Windows Server 2022   
3. Апгрейд всех инстансов  SQL 2017 до SQL 2022.

Посмотри здесь - Version requirements for SQL Server in Windows operating system
и здесь - Upgrading Windows Server 2012 to 2022
матрицы совместимости SQL и ОС.
Re: Апгрейд кластера с 2012, 2017 до 2022 [сообщение #6013 является ответом на сообщение #6009] Thu, 10 April 2025 17:23 Переход к предыдущему сообщениюПереход к следующему сообщению
keepermode в настоящее время не в онлайне  keepermode
Сообщений: 36
Зарегистрирован: May 2023
Member
Спасибо за ответ. На кластере 5 истансов, 3 шт.на 1-й ноде (SQL2017), 2 шт. на второй ноде (SQL2012 SP4). Историю установки этого всего не знаю, но они 2012 и 2017 в паре работают!
Если Windows Server 2022 поддерживает и SQL 2017 и SQL 2022, то первое что приходит на ум - избавиться от SQL2012. Логично же? Я уже перевел все инстансы в настройках на 1-ю ноду, 2-ю поставил на паузу. 1-я осталась без пары, работает.
Завтра выведу из кластера 2-ю ноду и переставлю систему с 2012R2 на 2012.
Далее планирую как я писал:
4. Установка MSSQLServer 2022 с образа - выбрать ADD node to FCluster (добавить к существующему кластеру на 1 ноде SQL2017)
Правильно выглядит пока этот мой план?
Re: Апгрейд кластера с 2012, 2017 до 2022 [сообщение #6014 является ответом на сообщение #6013] Thu, 10 April 2025 17:35 Переход к предыдущему сообщениюПереход к следующему сообщению
keepermode в настоящее время не в онлайне  keepermode
Сообщений: 36
Зарегистрирован: May 2023
Member
keepermode писал(а) Thu, 10 April 2025 17:23
исправление ...и переставлю систему с 2012R2 на 2012.
правильно - с 2012R2 на 2022 !!!  Должно получиться?
Re: Апгрейд кластера с 2012, 2017 до 2022 [сообщение #6015 является ответом на сообщение #6014] Thu, 10 April 2025 18:35 Переход к предыдущему сообщениюПереход к следующему сообщению
flexgen в настоящее время не в онлайне  flexgen
Сообщений: 23
Зарегистрирован: July 2022
Junior Member
Тебе BlackEric правильно сказал - сначала попробуй отработать сценарий где-нибудь в сторонке, не трогая production. А то мы тебе тут насоветуем, и ты без проверки угробишь свою систему.
Re: Апгрейд кластера с 2012, 2017 до 2022 [сообщение #6016 является ответом на сообщение #6014] Thu, 10 April 2025 18:46 Переход к предыдущему сообщениюПереход к следующему сообщению
flexgen в настоящее время не в онлайне  flexgen
Сообщений: 23
Зарегистрирован: July 2022
Junior Member
keepermode писал(а) Thu, 10 April 2025 17:35
keepermode писал(а) Thu, 10 April 2025 17:23
исправление ...и переставлю систему с 2012R2 на 2012.
правильно - с 2012R2 на 2022 !!!  Должно получиться?
Мне кажется ты невнимательно прочитал то, что я тебе написал.
Ты перебросил все инстансы на 1 ноду, ладно, допустим.
Теперь смотри, чтобы перейти на SQL 2022 у тебя должен быть Windows Server 2016 или 2019 как минимум. Т.е. по идее ты должен сначала проапгрейдить сам сервер, а потом уже апгрейдить SQL. Посмотри еще раз что я написал:
Цитата:
1. Апгрейд Windows Server 2012 R2 до Windows Server 2016 или Windows Server 2019 , обе версии поддерживают SQL версий от 2012 SP4 до 2022.  Кроме того прямой апгрейд  Windows Server 2012 R2 до Windows Server 2022  не сработает, в любом случае нужен промежуточный апгрейд.
2. Апгрейд  SQL 2012 до SQL 2017.
3. Апгрейд Windows Server 2016 (или 2019) до Windows Server 2022   
3. Апгрейд всех инстансов  SQL 2017 до SQL 2022.
И прежде чем делать что-то на production проверь весь сценарий где-нибудь в сторонке. Ничего не трогай на production пока не убедишься, что ты все делаешь правильно!
Re: Апгрейд кластера с 2012, 2017 до 2022 [сообщение #6017 является ответом на сообщение #6016] Fri, 11 April 2025 11:59 Переход к предыдущему сообщениюПереход к следующему сообщению
keepermode в настоящее время не в онлайне  keepermode
Сообщений: 36
Зарегистрирован: May 2023
Member
По поводу "ты должен сначала проапгрейдить сам сервер, а потом уже апгрейдить SQL"
Мы не будем ничего апгрейдить, установим с нуля систему WinSrv2022 и с нуля MSSQL 2022 c с присоединением к существующему Кластеру на 1-й ноде SQL2017 Ent на системе WinSrv2012R2.
Да, в реальности "апгрейд" это цель, но ставить решили с нуля ) и конфликтов версий не должно же быть?    
Или что то здесь не так?

[Обновления: Fri, 11 April 2025 12:10]

Известить модератора

Re: Апгрейд кластера с 2012, 2017 до 2022 [сообщение #6020 является ответом на сообщение #6017] Sat, 12 April 2025 11:02 Переход к предыдущему сообщениюПереход к следующему сообщению
flexgen в настоящее время не в онлайне  flexgen
Сообщений: 23
Зарегистрирован: July 2022
Junior Member
keepermode писал(а) Fri, 11 April 2025 11:59
По поводу "ты должен сначала проапгрейдить сам сервер, а потом уже апгрейдить SQL"
Мы не будем ничего апгрейдить, установим с нуля систему WinSrv2022 и с нуля MSSQL 2022 c с присоединением к существующему Кластеру на 1-й ноде SQL2017 Ent на системе WinSrv2012R2.
Да, в реальности "апгрейд" это цель, но ставить решили с нуля ) и конфликтов версий не должно же быть?    
Или что то здесь не так?
Я не уверен что в MS Windows Cluster допускается наличие серверов с разными версиями операционной системы. Мы знаем что прямой апгрейд с WinSrv2012R2 на WinSrv2022 невозможен, значит, можно предположить, что нельзя добавить в кластер на WinSrv2012R2 сервер с WinSrv2022.
Если поискать вот такую фразу "windows cluster with different os" то можно найти достаточно ответов, и все они говорят о том, что mixed OS mode поддерживается только во время rolling upgrade кластера. Так что если уж принято решение поднимать WinSrv2022 с SQL2022 то поднимайте уже новый кластер, поднимайте новые инстансы и перетаскивайте туда все базы. Да, в аппликациях придется менять connection string, но это проще, чем все танцы с бубном вокруг апгрейдов.   
Re: Апгрейд кластера с 2012, 2017 до 2022 [сообщение #6037 является ответом на сообщение #6020] Fri, 25 April 2025 14:21 Переход к предыдущему сообщениюПереход к следующему сообщению
keepermode в настоящее время не в онлайне  keepermode
Сообщений: 36
Зарегистрирован: May 2023
Member
Продолжаем) апгрейд кластера с Win2012R2 MSSQL 2012SP4.
На второй ноде установили чистый  Win2016, подняли роль FC, в FC успешно добавили ноду 2, затем из образа MSSQL 2012 успешно добавили к существующему Кластеру (Add to Cluster) 4 инстанса,
но пятого инстанса в выборе не оказалось. В ошибках был упомянут Analysis Servica (этот инстанс его использует, на ноде 1 установлен MSSAS), установил
из образа 2012 отдельно MSSAS, не помогло, затем из образа 2017 (на 1 ноде MSSAS 2017). На Analysis больше ошибок нет. Но не помогло - в выборе Add to Cluster этого Инстанса нет. Как его добавить?

ERRORS:

Службе кластеров не удалось полностью подключить или отключить кластеризованную роль "SQL Server (Role01)". Возможно, один или несколько ресурсов находятся в состоянии сбоя. Это может повлиять на доступность кластеризованной роли.

Сбой в работе кластерного ресурса "SQL Server" типа "SQL Server" в кластерной роли "SQL Server (Role01)".

Основываясь на политиках сбоев для ресурса и роли, служба кластеров может попытаться подключить ресурс к сети на этом узле или переместить группу на другой узел кластера, а затем перезапустить его. Проверьте состояние ресурсов и групп с помощью диспетчера отказоустойчивых кластеров или командлета Get-ClusterResource Windows PowerShell.

  При попытке открыть службу не удалось подключить к сети универсальную службу "SQL Server Analysis Services CEIP" (с ошибкой "1060"). Возможные причины: служба либо не установлена, либо указанное имя службы неверно.



Внимание:

Обратите внимание, что "Nod2" (начисто установленная Win2016) установил связь с узлом "Nod1" (Win2012) и обнаружил, что на нем установлена другая, но совместимая версия операционной системы. Рекомендуется, чтобы на всех узлах была установлена одна и та же версия операционной системы. После обновления всех узлов запустите командлет Windows PowerShell Update-ClusterFunctionalLevel, чтобы завершить обновление кластера.
 
Re: Апгрейд кластера с 2012, 2017 до 2022 [сообщение #6042 является ответом на сообщение #6037] Fri, 25 April 2025 22:48 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время в онлайне  BlackEric
Сообщений: 378
Зарегистрирован: June 2022
Senior Member
Get-ClusterResource что выдает?
Но версии ОС лучше сделать одинаковые, раз такое началось.
Re: Апгрейд кластера с 2012, 2017 до 2022 [сообщение #6046 является ответом на сообщение #6042] Mon, 28 April 2025 11:31 Переход к предыдущему сообщениюПереход к следующему сообщению
keepermode в настоящее время не в онлайне  keepermode
Сообщений: 36
Зарегистрирован: May 2023
Member
Посмотрел getckusterresource.
Поставил на ноду 2 последние обновления KB-шки.
Add to Cluster остановился на ошибке НеХватаетОбнолений, но Инстанс в кластер таки добавил.
Теперь повышаю инстансы 2012 до 2017 на обоих нодах.
Затем думаю на обеих нодах выполнить  PS ClusterFunctionalLevel чтобы завершить повышение версии.
Re: Апгрейд кластера с 2012, 2017 до 2022 [сообщение #6047 является ответом на сообщение #6046] Mon, 28 April 2025 11:33 Переход к предыдущему сообщениюПереход к следующему сообщению
keepermode в настоящее время не в онлайне  keepermode
Сообщений: 36
Зарегистрирован: May 2023
Member
Режим апгрэйда выбрал REBUILD
Re: Апгрейд кластера с 2012, 2017 до 2022 [сообщение #6048 является ответом на сообщение #6047] Mon, 28 April 2025 11:51 Переход к предыдущему сообщениюПереход к следующему сообщению
keepermode в настоящее время не в онлайне  keepermode
Сообщений: 36
Зарегистрирован: May 2023
Member
C 1 активной ноды перевести атив на ноду 2 не удаётся т.к. версии разные.
Можно ли на 1 активной ноде провести апгрэйд инстансов без рисков что базы упадут, или лучше сделать это в свободное от пользователей время?  
Re: Апгрейд кластера с 2012, 2017 до 2022 [сообщение #6049 является ответом на сообщение #6048] Mon, 28 April 2025 13:35 Переход к предыдущему сообщениюПереход к следующему сообщению
keepermode в настоящее время не в онлайне  keepermode
Сообщений: 36
Зарегистрирован: May 2023
Member
Обязательно это выполнять?:
 PS ClusterFunctionalLevel после  повышения версии SQL, или можно\лучше после обновления систем до Win2016?

[Обновления: Mon, 28 April 2025 18:21]

Известить модератора

Re: Апгрейд кластера с 2012, 2017 до 2022 [сообщение #6051 является ответом на сообщение #6049] Tue, 29 April 2025 10:08 Переход к предыдущему сообщениюПереход к следующему сообщению
keepermode в настоящее время не в онлайне  keepermode
Сообщений: 36
Зарегистрирован: May 2023
Member
Сейчас такая картина: на обеих нодах апгрэйдили до SQL 2017.
Системы 1 нода - Win2012R2, 2 нода - Win2016.
Какую максимально новую систему можно ставить на 1 ноду? Win2022 или для начала Win2019?
Re: Апгрейд кластера с 2012, 2017 до 2022 [сообщение #6055 является ответом на сообщение #6007] Tue, 29 April 2025 16:26 Переход к предыдущему сообщению
BlackEric в настоящее время в онлайне  BlackEric
Сообщений: 378
Зарегистрирован: June 2022
Senior Member
according to the official article (Overview of Windows Server upgrades | Microsoft Learn), perform an in-place upgrade of 2012 R2 to 2022 is not supported.

Предыдущая тема: ошибка СУБД
Переход к форуму:
  


Текущее время: Thu May 01 14:25:18 GMT+3 2025

Общее время, затраченное на создание страницы: 0.00938 секунд