Обновление

YDB распределенная система, поддерживающая плавное обновление (rolling restart) без даунтайма и деградации производительности.

Порядок обновления

Базовым сценарием является обновление исполняемого файла и последовательный рестарт каждого узла:

  1. Обновление и рестарт storage узлов;
  2. Обновление и рестарт динамических узлов.

Процесс остановки и запуска описан на странице Безопасные рестарт и выключение узлов.
Узлы YDB следует обновлять последовательно по одному, после каждого шага контролировать состояние кластера через YDB Monitoring - на вкладке Storage не должно быть пулов в состоянии Degraded (как на примере ниже). В противном случае обновление необходимо остановить.

Monitoring_storage_state

Совместимость версий

Совместимыми для обновления являются все минорные версии в рамках одной мажорной версии. Мажорные версии совместимы последовательно. Для обновления на следующую мажорную версию предварительно следует обновиться на последний доступный минорный релиз текущей мажорной версии. Например:

  • 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 мониторинга.