Upgrade to Grafana v12.3
[ru] DOCS_SHARED: "docs/grafana/latest/upgrade-guide/upgrade-v12.3/index.ru.md" ("/hugo/content/docs/grafana/latest/upgrade-guide/upgrade-v12.3/index.ru.md:16:1") shared directory "docs/grafana/latest/shared" not found
[ru] DOCS_SHARED: "docs/grafana/latest/upgrade-guide/upgrade-v12.3/index.ru.md" ("/hugo/content/docs/grafana/latest/upgrade-guide/upgrade-v12.3/index.ru.md:18:1") shared directory "docs/grafana/latest/shared" not found
[ru] DOCS_SHARED: "docs/grafana/latest/upgrade-guide/upgrade-v12.3/index.ru.md" ("/hugo/content/docs/grafana/latest/upgrade-guide/upgrade-v12.3/index.ru.md:20:1") shared directory "docs/grafana/latest/shared" not found
Technical notes
Миграция таблицы аннотаций
Запланируйте увеличение использования диска при обновлении с Grafana v11.x
Обновление с Grafana v11.x до Grafana v12.x запускает полное переписывание таблицы annotation. Миграция заполняет новый столбец dashboard_uid, из-за чего база данных переписывает всю таблицу и перестраивает её индексы.
В средах с большими наборами данных аннотаций может наблюдаться значительное временное увеличение использования диска, что может привести к:
- Быстрому расходованию диска в томе данных базы данных
- Сбоям миграции базы данных (например, “could not extend file: No space left on device”)
- Сбоям запуска Grafana
- Длительному простою в процессе обновления
Как узнать, затронут ли я?
Вы затронуты, если обновляетесь с Grafana v11.x до v12.x и в вашей базе данных есть большая таблица annotation.
Чтобы проверить размер таблицы аннотаций, подключитесь к своей базе данных и проверьте размер таблицы.
Для PostgreSQL выполните следующий запрос:
SELECT
pg_size_pretty(pg_relation_size('annotation')) AS table_size,
pg_size_pretty(pg_indexes_size('annotation')) AS indexes_size,
pg_size_pretty(pg_total_relation_size('annotation')) AS total_size;
Для MySQL выполните следующий запрос:
SELECT
ROUND(data_length / 1024 / 1024, 2) AS table_size_mb,
ROUND(index_length / 1024 / 1024, 2) AS indexes_size_mb,
ROUND((data_length + index_length) / 1024 / 1024, 2) AS total_size_mb
FROM information_schema.tables
WHERE table_schema = DATABASE()
AND table_name = 'annotation';
Для SQLite проверьте размер файла базы данных напрямую, так как SQLite хранит все таблицы в одном файле. Вы можете выполнить следующую команду в терминале:
ls -lh <PATH/TO/GRAFANA.DB>
Если общий размер составляет несколько гигабайт или больше, вам следует заранее спланировать действия перед обновлением.
Что мне сделать перед обновлением?
Перед обновлением выполните следующие шаги:
-
Проверьте доступное дисковое пространство: Убедитесь, что в томе данных вашей базы данных есть как минимум в 2–3 раза больше свободного дискового пространства, чем текущий размер таблицы
annotation. -
Просмотрите свои данные аннотаций: Подумайте, нужно ли вам сохранять все исторические аннотации.
-
Удалите старые аннотации (необязательно): Если у вас есть ненужные аннотации, удалите их перед обновлением.
-
Создайте резервную копию базы данных: Всегда создавайте резервную копию базы данных Grafana перед выполнением обновления. Для получения дополнительной информации обратитесь к разделу Резервное копирование Grafana.
Что мне сделать после обновления?
После успешного обновления до Grafana v12.x вы можете вернуть дисковое пространство, выполнив операции обслуживания базы данных в окне технического обслуживания.
Для PostgreSQL выполните операцию VACUUM FULL для таблицы annotation:
VACUUM FULL annotation;
Для MySQL выполните операцию OPTIMIZE TABLE для таблицы annotation:
OPTIMIZE TABLE annotation;
Для SQLite выполните операцию VACUUM для базы данных:
VACUUM;
Эти операции требуют блокировки таблицы и могут занять значительное время в зависимости от размера таблицы. Планируйте выполнять их в период низкой нагрузки.