VK WorkSpace On-Premise logo
Помощь
Обновлена 5 ноября 2026 г. в 15:18

Как перенести нагрузку на новые гипервизоры

Назначение документа

В документе представлена информация о переносе сервисов Почты VK WorkSpace на новые гипервизоры в кластерных установках. Чаще всего так переносят сервисы, создающие повышенную нагрузку.

Сервисы делятся на два типа:

  • stateless-сервисы — не хранят данные на сервере и после перезапуска начинают работу «с нуля» без потери информации. Это веб-интерфейсы, API-сервисы, прокси и обработчики запросов. Такие сервисы переносятся на другие гипервизоры без дополнительных действий — см. раздел Как перенести stateless-сервис;
  • stateful-сервисы — хранят данные на диске сервера: базы данных, поисковые индексы, очереди сообщений, хранилища секретов. Чтобы данные сохранились, при переносе их нужно скопировать вручную — см. раздел Как перенести stateful-сервис.

Предварительные условия

  • Кластерная установка Почты VK WorkSpace версии 26.3 или выше.
  • Доступ в веб-интерфейс установщика: http://server-ip-address:8888.
  • Новые гипервизоры уже добавлены в установщик и доступны.

Как перенести stateless-сервис

  1. Перейдите в веб-интерфейс установщика VK WorkSpace.

  2. На главной странице перейдите в Обслуживание → Распределение меток.

  3. На вкладке Значения лейблов добавьте новое значение метки.

    Значения лейблов
  4. На вкладке Назначения серверов распределите созданную метку между гипервизорами: выберите серверы, на которые нужно перенести нагрузку. Одному гипервизору можно присвоить несколько меток.

    Назначения серверов

    Нажмите кнопку Сохранить.

  5. На вкладке Назначение ролей установите созданную метку на роль, которую нужно перенести.

    Назначение ролей

    Нажмите кнопку Сохранить.

  6. Перейдите на главную страницу, нажав на логотип VK WorkSpace в левом верхнем углу.

  7. Запустите автоматическую установку кнопкой Как перенести нагрузку на новые гипервизоры.

После завершения установки сервисы выбранной роли будут запущены на новых гипервизорах.

Как перенести stateful-сервис

Метки не действуют на stateful-сервисы, поэтому их переносят вручную: останавливают сервис, копируют его данные на целевой гипервизор и указывают этот гипервизор в конфигурации установщика.

Далее перенос показан на примере сервиса rebeccapg1 с узла devops-cillium-x-worker-1 на узел devops-cillium-x-control-1.

У сервиса два имени:

  • роль — тип сервиса, например rebeccapg;
  • название сервиса (hostname) — имя конкретного экземпляра, например rebeccapg1. Это же имя носят каталог с данными и StatefulSet.
  1. Удалите StatefulSet сервиса, чтобы остановить его:

    kubectl delete sts rebeccapg1 -n onprem
  2. На узле, где работал сервис, заархивируйте каталог с данными. Каталог находится в /opt/mailOnPremise/docker-volumes/<название_сервиса>/:

    cd /opt/mailOnPremise/docker-volumes/tar cvf rebeccapg1.tar rebeccapg1
  3. Скопируйте архив на целевой гипервизор:

    scp rebeccapg1.tar root@<ip-адрес_гипервизора>:/opt/mailOnPremise/docker-volumes/
  4. На целевом гипервизоре разархивируйте каталог с данными, затем восстановите его владельца и права доступа:

    cd /opt/mailOnPremise/docker-volumes/tar xvf rebeccapg1.tarchown -R root:root rebeccapg1chmod 755 -R rebeccapg1
  5. В файле /home/deployer/computes.yaml для роли rebeccapg укажите новое значение поля hypervisor, поменяв его с devops-cillium-x-worker-1 на devops-cillium-x-control-1:

    - role: rebeccapg  hostname: rebeccapg1  hypervisor: devops-cillium-x-control-1  podK8SParams:    cluster: ext-k8s1  zone: ""
  6. Перезапустите установщик:

    systemctl restart deployer
  7. В установщике VK WorkSpace убедитесь, что у сервиса rebeccapg1 изменилось название гипервизора на devops-cillium-x-control-1. Выполните шаг up_container:

    Продолжение установки с шага up_container
  8. Убедитесь, что сервис поднялся на целевом гипервизоре:

    kubectl get pods -A -o wide | grep rebeccapg

    В столбце NODE должен быть указан целевой гипервизор.


Технический писатель: Москвина Анна

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