Обновление
YDB распределенная система, поддерживающая плавное обновление (rolling restart) без даунтайма и деградации производительности.
Порядок обновления
Базовым сценарием является обновление исполняемого файла и последовательный рестарт каждого узла:
- Обновление и рестарт storage узлов;
- Обновление и рестарт динамических узлов.
Процесс остановки и запуска описан на странице Безопасные рестарт и выключение узлов.
Узлы YDB следует обновлять последовательно по одному, после каждого шага контролировать состояние кластера через YDB Monitoring - на вкладке Storage
не должно быть пулов в состоянии Degraded
(как на примере ниже). В противном случае обновление необходимо остановить.
Совместимость версий
Совместимыми для обновления являются все минорные версии в рамках одной мажорной версии. Мажорные версии совместимы последовательно. Для обновления на следующую мажорную версию предварительно следует обновиться на последний доступный минорный релиз текущей мажорной версии. Например:
X.Y.* → X.Y.*
— обновление возможно, все минорные версии в рамках одной мажорной совместимы.X.Y.Z
(последняя доступная вX.Y.*) → X.Y+1.*
- обновление возможно, мажорные версии последовательны.X.Y.*
→X.Y+2.*
— обновление невозможно, мажорные версии непоследовательны.X.Y.* → X.Y-2.*
— обновление невозможно, мажорные версии непоследовательны.
Важно
Также, в любом случае нельзя откатываться на более чем 2 мажорные версии назад относительно хотя бы раз выкаченной версии, так как настолько старая версия может не знать как работать с данными на дисках, которые записала текущая.
Список доступных версий можно получить на странице загрузки. Релизная политика YDB описана более детально в статье Управление релизами в разделе документации для разработчиков YDB.
Примеры совместимости версий
- v.22.2.5 -> v.22.2.47 - обновление возможно
- v.22.2.47 -> v.22.3.21 - обновление возможно
- v.22.2.40 -> v.22.3.21 - обновление невозможно, необходимо сначала обновиться до последней минорной версии (v.22.2.47)
- v.22.2.47 -> v.22.4.5 - обновление невозможно, необходимо сначала обновиться до следующей мажорной версии (v.22.3.*).
Проверка результата обновления
Проверить версии узлов после обновления можно на странице Nodes
мониторинга.