Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Yandex Managed Service for MongoDB
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Информация об имеющихся кластерах
    • Создание кластера
    • Подключение к базе данных
    • Остановка и запуск кластера
    • Изменение настроек кластера и базы данных
    • Переключение первичной реплики
    • Обновление версии MongoDB
    • Управление базами данных
    • Управление хостами кластера
    • Управление пользователями БД
    • Управление резервными копиями
    • Управление шардами
    • Удаление кластера
    • Мониторинг состояния кластера и хостов
    • Диагностика производительности
    • Инструменты для анализа производительности
  • Практические руководства
    • Шардирование коллекций
    • Миграция данных в Managed Service for MongoDB
    • Перенос коллекций из MongoDB в Managed Service for MongoDB
    • Анализ производительности и оптимизация
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Классы хостов
      • Действующие классы хостов
      • Архив
        • До 1 июня 2020 года
      • Использование устаревших классов хостов
    • Сеть в Managed Service for MongoDB
    • Квоты и лимиты
    • Хранилище в Managed Service for MongoDB
    • Резервные копии
    • Репликация
    • Шардирование
    • Пользователи и роли
    • Техническое обслуживание
    • Поддерживаемые клиенты
    • Настройки MongoDB
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • До 1 января 2019 года
      • С 1 января до 1 марта 2019 года
      • С 1 марта 2019 года до 1 февраля 2020 года
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • BackupService
      • ClusterService
      • DatabaseService
      • ResourcePresetService
      • UserService
      • OperationService
    • REST (англ.)
      • Overview
      • Backup
        • Overview
        • delete
        • get
        • list
      • Cluster
        • Overview
        • addHosts
        • addShard
        • backup
        • create
        • delete
        • deleteHosts
        • deleteShard
        • enableSharding
        • get
        • getShard
        • list
        • listBackups
        • listHosts
        • listLogs
        • listOperations
        • listShards
        • move
        • rescheduleMaintenance
        • resetupHosts
        • restartHosts
        • restore
        • start
        • stepdownHosts
        • stop
        • streamLogs
        • update
      • Database
        • Overview
        • create
        • delete
        • get
        • list
      • ResourcePreset
        • Overview
        • get
        • list
      • User
        • Overview
        • create
        • delete
        • get
        • grantPermission
        • list
        • revokePermission
        • update
      • Operation
        • Overview
        • get
  • История изменений
  • Вопросы и ответы
    • Общие вопросы
    • Вопросы о MongoDB
    • Все вопросы на одной странице
  1. Пошаговые инструкции
  2. Обновление версии MongoDB

Обновление версии MongoDB

Статья создана
Yandex.Cloud
,
улучшена
amatol
  • Перед обновлением
  • Обновить кластер
  • Примеры

Вы можете обновить кластер Managed Service for MongoDB в рамках одной мажорной версии. Переход между мажорными версиями (например, 4 → 5) не поддерживается.

Обновление доступно только на следующую версию относительно текущей, например, с версии 4.0 на 4.2. Обновление до более поздних версий производится поэтапно. Например, обновление версии MongoDB с 4.0 до 4.4 выполняется в такой последовательности: 4.0 → 4.2 → 4.4.

Перед обновлением

Перед обновлением кластера убедитесь, что это не нарушит работу ваших приложений:

  1. Посмотрите историю изменений для версий MongoDB, до которых вы собираетесь обновить кластер, и проверьте, не повлияют ли какие-то изменения на работу приложений.
  2. Попробуйте обновить тестовый кластер (его можно развернуть, например, из резервной копии основного кластера).
  3. Выполните резервное копирование основного кластера непосредственно перед обновлением.

Обновить кластер

Консоль управления
CLI
Terraform
API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.
  2. Выберите нужный кластер в списке и нажмите кнопку Изменить кластер.
  3. В поле Версия выберите номер новой версии.
  4. Нажмите кнопку Сохранить изменения.

После запуска обновления кластер переходит в статус UPDATING. Дождитесь окончания операции и проверьте версию кластера.

  1. Получите список ваших кластеров MongoDB командой:

    yc managed-mongodb cluster list
    
  2. Получите информацию о нужном кластере и проверьте версию MongoDB, указанную в свойстве config.version:

    yc managed-mongodb cluster get <id кластера>
    
  3. Запустите обновление MongoDB:

    yc managed-mongodb cluster update <id кластера> --mongodb-version=<номер новой версии>
    

    После того, как обновление запущено, кластер переходит в статус UPDATING. Дождитесь окончания операции и проверьте версию кластера.

  4. После обновления все возможности MongoDB, у которых нет обратной совместимости с прежней версией, выключены. Чтобы снять это ограничение, выполните команду:

    yc managed-mongodb cluster update <id кластера> --feature-compatibility-version=<номер новой версии>
    

    Подробнее об обратной совместимости читайте в документации MongoDB.

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание MongoDB-кластера.

  2. Добавьте к описанию кластера Managed Service for MongoDB поле version или измените его значение, если оно уже существует:

    resource "yandex_mdb_mongodb_cluster" "<имя кластера>" {
      ...
      cluster_config {
        version = "<версия MongoDB>"
      }
    }
    
  3. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее см. в документации провайдера Terraform.

Обновить версию MongoDB для кластера можно с помощью метода API update: передайте в запросе нужное значение в свойстве configSpec.version.

После обновления все возможности MongoDB, у которых нет обратной совместимости с прежней версией, выключены. Чтобы снять это ограничение, используйте метод API update: передайте в запросе номер новой версии в свойстве configSpec.featureCompatibilityVersion.

Подробнее об обратной совместимости читайте в документации MongoDB.

Примеры

Допустим, нужно обновить кластер с версии 4.0 до версии 4.2.

CLI
  1. Чтобы получить список кластеров и узнать идентификатор кластера, выполните команду:

    yc managed-mongodb cluster list
    +----------------------+---------------+---------------------+--------+---------+
    |          ID          |     NAME      |     CREATED AT      | HEALTH | STATUS  |
    +----------------------+---------------+---------------------+--------+---------+
    | c9q8p8j2gaih8iti42mh |   mongodb406  | 2019-04-23 12:44:17 | ALIVE  | RUNNING |
    +----------------------+---------------+---------------------+--------+---------+
    
  2. Чтобы получить информацию о кластере c9qut3k64b2o9umqogr7, выполните команду:

    yc managed-mongodb cluster get c9qut3k64b2o9umqogr7
      id: c9qut3k64b2o9umqogr7
      folder_id: b1g0itj57rbjk9thrinv
      created_at: "2019-07-16T09:43:50.393231Z"
      name: mongodb406
      environment: PRODUCTION
      monitoring:
      - name: Console
        description: Console charts
        link: https://console.cloud.yandex.ru/folders/b1g0itj57rbjk9thrinv/managed-mongodb/cluster/c9qut3k64b2o9umqogr7?section=monitoring
      config:
        version: "4.0"
        feature_compatibility_version: "4.0"
        ...
    
  3. Для обновления кластера c9qutgkd4b2o9umqog97 до версии 4.2, выполните команду:

    yc managed-mongodb cluster update c9qutgkd4b2o9umqog97 --mongodb-version=4.2
    
  4. Чтобы включить все возможности версии 4.2 в кластере c9qutgkd4b2o9umqog97, выполните команду:

    yc managed-mongodb cluster update c9qutgkd4b2o9umqog97 --feature-compatibility-version=4.2
    

Была ли статья полезна?

Language / Region
© 2022 ООО «Яндекс.Облако»
В этой статье:
  • Перед обновлением
  • Обновить кластер
  • Примеры