Обновление
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
мониторинга.