Миграция данных Cloud Audit
После обновления Платформы выполните миграцию данных Cloud Audit для оптимизации индексов. В процессе миграции оригинальные данные будут сохранены в отдельной таблице, которую можно будет удалить после окончания процесса.
-
На управляющем узле с установленной утилитой
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 -
Получите количество реплик для подов консьюмеров:
# kubectl -n paas-vkcloud get pods | grep storage-consumer | wc -l -
Убедитесь, что на диске достаточно места:
# 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 -
Остановите поды с консьюмерами:
# kubectl scale -n paas-vkcloud --replicas=0 deployment/audit-storage-consumer-storage-consumer -
Остановите фоновые слияния данных (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. -
Отредактируйте скрипт
000005_data_plane_order_key.sh:- Укажите
<port>— значение переменнойch_listen_tcp_portв файле./vkcloud/group_vars/vkcloud_ch_cluster_cloudaudit/vars.yml. - Удалите
--user <user> --password <password>.
- Укажите
-
Выполните скрипт:
# bash ./000005_data_plane_order_key.sh -
Запустите фоновые слияния данных на всех шардах кластера:
# 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. -
Запустите консьюмеры:
# kubectl scale -n paas-vkcloud --replicas=<КОЛИЧЕСТВО_РЕПЛИК> deployment/audit-storage-consumer-storage-consumerЗдесь
<КОЛИЧЕСТВО_РЕПЛИК>— количество реплик, полученное ранее. -
После успешного выполнения миграции и проверки целостности данных удалите таблицу с резервной копией:
# clickhouse-client --query --port <ПОРТ> --database cloudaudit "DROP TABLE events_old ON CLUSTER '<КЛАСТЕР>'Здесь
<КЛАСТЕР>— значение переменнойch_macros[cloudaudit].clusterв файле./vkcloud/group_vars/vkcloud_clickhouse/vars.yml.