VK Private Cloud logo
Помощь
Обновлена 21 августа 2026 г. в 08:12

Миграция данных Cloud Audit

После обновления Платформы выполните миграцию данных Cloud Audit для оптимизации индексов. В процессе миграции оригинальные данные будут сохранены в отдельной таблице, которую можно будет удалить после окончания процесса.

  1. На управляющем узле с установленной утилитой kubectl получите скрипт миграции:

    # podname=$(kubectl -n paas-vkcloud get pods | grep storage-consumer | head -n 1 |  cut -d " " -f1)# kubectl -n paas-vkcloud cp $podname:/go/bin/db/migrations/000005_data_plane_order_key.sh ./000005_data_plane_order_key.sh
  2. Получите количество реплик для подов консьюмеров:

    # kubectl -n paas-vkcloud get pods | grep storage-consumer | wc -l
  3. Убедитесь, что на диске достаточно места:

    # clickhouse-client --port <ПОРТ> --database cloudaudit --multiquery --multiline "SELECT table, formatReadableSize(sum(bytes)) as size, min(min_date) as min_date, max(max_date) as max_date FROM system.parts WHERE active GROUP BY table" --format Pretty

    Здесь <ПОРТ> — значение переменной ch_listen_tcp_port в файле ./vkcloud/group_vars/vkcloud_ch_cluster_cloudaudit/vars.yml.

    Пример ожидаемого результата
    events 18.52 MiB 1970-01-01 1970-01-01metadata 9.53 KiB 2025-10-21 2025-10-28trace_log 10.29 MiB 2025-10-21 2025-10-28
  4. Остановите поды с консьюмерами:

    # kubectl scale -n paas-vkcloud --replicas=0 deployment/audit-storage-consumer-storage-consumer
  5. Остановите фоновые слияния данных (merges) на всех шардах кластера:

    # clickhouse-client --query --port <ПОРТ> "SYSTEM STOP MERGES ON CLUSTER 'vkcloud_ch_cluster_cloudaudit'" --format Pretty# clickhouse-client --query --port <ПОРТ> "SYSTEM STOP TTL MERGES ON CLUSTER 'vkcloud_ch_cluster_cloudaudit'" --format Pretty

    Здесь <ПОРТ> — значение переменной ch_listen_tcp_port в файле ./vkcloud/group_vars/vkcloud_ch_cluster_cloudaudit/vars.yml.

  6. Отредактируйте скрипт 000005_data_plane_order_key.sh:

    • Укажите <port> — значение переменной ch_listen_tcp_port в файле ./vkcloud/group_vars/vkcloud_ch_cluster_cloudaudit/vars.yml.
    • Удалите --user <user> --password <password>.
  7. Выполните скрипт:

    # bash ./000005_data_plane_order_key.sh
  8. Запустите фоновые слияния данных на всех шардах кластера:

    # clickhouse-client --port <ПОРТ> --query "SYSTEM START MERGES ON CLUSTER 'vkcloud_ch_cluster_cloudaudit'" --format Pretty# clickhouse-client --port <ПОРТ> --query "SYSTEM START TTL MERGES ON CLUSTER 'vkcloud_ch_cluster_cloudaudit'" --format Pretty

    Здесь <ПОРТ> — значение переменной ch_listen_tcp_port в файле ./vkcloud/group_vars/vkcloud_ch_cluster_cloudaudit/vars.yml.

  9. Запустите консьюмеры:

    # kubectl scale -n paas-vkcloud --replicas=<КОЛИЧЕСТВО_РЕПЛИК> deployment/audit-storage-consumer-storage-consumer

    Здесь <КОЛИЧЕСТВО_РЕПЛИК> — количество реплик, полученное ранее.

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

    # clickhouse-client --query --port <ПОРТ> --database cloudaudit "DROP TABLE events_old ON CLUSTER '<КЛАСТЕР>'

    Здесь <КЛАСТЕР> — значение переменной ch_macros[cloudaudit].cluster в файле ./vkcloud/group_vars/vkcloud_clickhouse/vars.yml.

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