Обновление до v21.04

Необходимое вмешательство (инструкции ниже):

  1. Чтобы сохранить данные графиков из прошлых версий, нужно выполнить миграцию (даже если экземпляр один).

  2. Старые программы BPF нужно заново собрать под новую версию.

Обновление стенда

Перед обновлением настоятельно рекомендуется сделать резервную копию.

  1. Остановить MITIGATOR:

    docker-compose down
    
  2. Обновить docker-compose.yml в /srv/mitigator:

    wget https://docs.mitigator.ru/v21.04/dist/docker-compose.yml -O /srv/mitigator/docker-compose.yml
    

    Правки для адаптеров Mellanox, изменились в v21.04, нужно произвести их для новой версии.

  3. Скачать базовый файл переменных и сохранить его под именем .env:

    wget https://docs.mitigator.ru/v21.04/dist/env -O /srv/mitigator/.env
    
  4. В файле .env выставить VERSION=v21.04.0 (или более новую минорную).

Миграция графиков

  1. Скачать файл миграции update2104.sql в /srv/mitigator.

  2. Запустить ClickHouse:

    docker-compose up -d clickhouse
    
  3. Выполнить миграцию:

    docker-compose exec -T clickhouse clickhouse-client -mn < update2104.sql
    

    Сообщения печатаются только в случае ошибок. В этом случае текст сообщения нужно сообщить разработчикам.

Миграция программ BPF

Никакие старые программы не будут автоматически перенесены на новую версию.

Нужно обновить код, скомпилировать код на https://bpf.mitigator.ru (или самостоятельно) и загрузить в MITIGATOR.

Старый код требует, в основном, механических изменений:

  1. Новая версия ABI, вместо макроса FILTER_V1 используется ENTRYPOINT.
  2. Переименованы некоторые поля struct Flow и struct EtherHeader.

Завершение обновления

Запустить службу MITIGATOR:

docker-compose up -d