24.04: Журнал слишком велик, несмотря на SystemMaxUse и SystemKeepFree

Вопрос или проблема

У меня /var/log на отдельном устройстве объемом всего 100 МБ. Я управляю дисковым пространством для обычных логов с помощью logrotate, для journald я пытался сделать это через /etc/systemd/journald.conf. Однако это не работает:

[Journal]
SystemMaxUse=50M
SystemKeepFree=16000M
RuntimeMaxUse=40M

Используемое дисковое пространство превышает 50 МБ более чем на 100%:

# journalctl --disk-usage
Архивные и активные журналы занимают 117.1M в файловой системе.

За последние недели журнал вырос до состояния, в котором journald не может исправить ситуацию самостоятельно:

# journalctl -b --no-pager _SYSTEMD_UNIT=systemd-journald.service
Dec 07 07:43:44 gateway systemd-journald[551]: Сбор сообщений аудита отключен.
Dec 07 07:43:44 gateway systemd-journald[551]: Журнал запущен
Dec 07 07:43:44 gateway systemd-journald[551]: Временной журнал (/run/log/journal/214b8447bbfe4abba739f97a142d1916) составляет 5.0M, максимум 40.0M, 35.0M свободно.
Dec 07 07:43:44 gateway systemd-journald[551]: Временной журнал (/run/log/journal/214b8447bbfe4abba739f97a142d1916) составляет 5.0M, максимум 40.0M, 35.0M свободно.
Dec 07 07:43:44 gateway systemd-journald[551]: Получен запрос клиента на сброс временного журнала.
Dec 07 07:43:44 gateway systemd-journald[551]: Файл /var/log/journal/214b8447bbfe4abba739f97a142d1916/system.journal поврежден или неправильно завершен, переименовываю и заменяю.
Dec 07 07:43:44 gateway systemd-journald[551]: Не удалось открыть системный журнал: Нет места на устройстве
Dec 07 07:43:44 gateway systemd-journald[551]: Время вернулось назад, вращение.

Я знаю, что есть несколько способов исправить ситуацию на месте, включая вакуумацию или просто удаление файлов журналов. Я также мог бы решить ситуацию на постоянной основе, настроив ежедневную задачу cron для вакуумации. Однако пока не хочу прибегать к такому временного решению и хотел бы понять, как правильно настроить journald:

Что мне нужно установить в конфигурации, чтобы эффективно ограничить journald до 50 МБ. Установки, которые у меня есть, очевидно, недостаточно хороши, хотя я пробовал гораздо больше, чем просто “SystemMaxUse”, ищя решение проблемы в Google.

На случай, если кому-то это понадобится:

/var/log/journal/214b8447bbfe4abba739f97a142d1916# ls -al
total 114328
drwxr-sr-x+ 2 root systemd-journal    1860 Dec  7 07:43 .
drwxr-sr-x+ 3 root systemd-journal      60 Nov 16 03:03 ..
-rw-r-----+ 1 root systemd-journal 6553600 Nov 17 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 17 07:25 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 17 07:40 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 18 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 19 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 20 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 21 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 22 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 23 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 23 12:46 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 24 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 24 17:51 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 24 18:16 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 25 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 26 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 27 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 28 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 29 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 30 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Dec  1 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Dec  2 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Dec  3 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Dec  4 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Dec  5 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Dec  6 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Dec  7 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Dec  7 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 21 11:08 system@0be54a54a70f4a7f93a8f5acc242ebea-00000000000093b6-00062762ac42d88f.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 21 23:01 system@0be54a54a70f4a7f93a8f5acc242ebea-0000000000009ee0-0006276971097c35.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 23 10:01 system@2800bad1984a4a5e8249fcdde2f73602-000000000000c71b-0006278ae6ab4e5b.journal
-rw-r-----+ 1 root systemd-journal 6553600 Dec  2 11:14 system@2c862e9d86b849d29146af36c321215d-000000000001c4b3-0006283ff33cee95.journal
-rw-r-----+ 1 root systemd-journal 6553600 Dec  2 22:59 system@2c862e9d86b849d29146af36c321215d-000000000001cfe1-00062846cfea0813.journal
-rw-r-----+ 1 root systemd-journal 6553600 Dec  1 11:06 system@2f60706790f242a0b6a6da5ceb8f025d-000000000001aae8-0006282bd566a38b.journal
-rw-r-----+ 1 root systemd-journal 6553600 Dec  1 23:00 system@2f60706790f242a0b6a6da5ceb8f025d-000000000001b61b-00062832957f4728.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 24 11:16 system@33c921c8f4de430ea952d48bf15537dc-000000000000e92e-0006279f04899b3d.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 16 11:53 system@34a36265677946739ad13c76a32a37c0-0000000000000324-000626fe15c43810.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 17 00:30 system@34a36265677946739ad13c76a32a37c0-0000000000000e2f-000627057df44c2e.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 27 11:08 system@4ab06f2235204f0386ea0bc2898ec2ee-000000000001439e-000627db5e081e2f.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 27 23:01 system@4ab06f2235204f0386ea0bc2898ec2ee-0000000000014ecd-000627e22412a6c6.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 25 00:51 system@526c4b04d01842f6908c840134f0f250-000000000001015f-000627abc68c4307.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 29 11:15 system@6639dc2057204f7592f3d4d42752fdd5-0000000000017770-0006280399b629d0.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 29 23:00 system@6639dc2057204f7592f3d4d42752fdd5-000000000001829d-0006280a78ce6aad.journal
-rw-r-----+ 1 root systemd-journal 6553600 Dec  5 11:16 system@68cb813ae84d434abe4d596be08c3ae2-000000000002136b-0006287c4cc4b07a.journal
-rw-r-----+ 1 root systemd-journal 6553600 Dec  5 22:36 system@68cb813ae84d434abe4d596be08c3ae2-0000000000021e9c-000628832f6f7de2.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 18 10:45 system@6eacf586b52643d89f3f86e64e47e6a7-00000000000041d9-00062726a7d3464f.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 18 19:21 system@6eacf586b52643d89f3f86e64e47e6a7-0000000000004d23-0006272cc541614e.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 26 11:32 system@8155b240de694d6fbc59a68564175bcd-00000000000129ec-000627c796c751ea.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 26 23:10 system@8155b240de694d6fbc59a68564175bcd-0000000000013519-000627ce5d484c33.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 20 10:50 system@84f1d1a7c8ff459abe0e8a3a704b1c19-0000000000007931-0006274e8be6d36a.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 20 22:20 system@84f1d1a7c8ff459abe0e8a3a704b1c19-0000000000008484-0006275512d5ec6c.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 28 11:17 system@85eb7fbdb0d04be08073188bffea4930-0000000000015d65-000627ef7bdd0835.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 28 22:45 system@85eb7fbdb0d04be08073188bffea4930-000000000001689b-000627f6621e8de9.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 25 11:10 system@99beef625c3b4e6a8b5d3eebe11be6df-0000000000011047-000627b32261d082.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 25 23:04 system@99beef625c3b4e6a8b5d3eebe11be6df-0000000000011b75-000627b9ef8d1929.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 30 11:09 system@a3c8c06e89b2478ab0f3df167225b09f-000000000001911f-00062817b77866dc.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 30 23:06 system@a3c8c06e89b2478ab0f3df167225b09f-0000000000019c51-0006281e82633a79.journal
-rw-r-----+ 1 root systemd-journal 6553600 Dec  4 11:08 system@add9a48fc2484c70b7800e6194ef9a19-000000000001f826-000628682ee7fc64.journal
-rw-r-----+ 1 root systemd-journal 6553600 Dec  4 21:46 system@add9a48fc2484c70b7800e6194ef9a19-0000000000020354-0006286ef4f5ac34.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 17 15:45 system@b632697d6df94e92aeebee7ef73fbe31-0000000000002ae6-0006271634bc89ac.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 18 02:47 system@b632697d6df94e92aeebee7ef73fbe31-000000000000366c-0006271cd8440ae2.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 23 20:51 system@bff377771a69448a9c117996ba47fc03-000000000000d7ee-000627930cd0539e.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 19 11:39 system@caf42cb256b1425d9db06ff8d610963a-0000000000005f82-0006273ac5fbbb1b.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 19 23:08 system@caf42cb256b1425d9db06ff8d610963a-0000000000006aae-00062741a42f81de.journal
-rw-r-----+ 1 root systemd-journal 6553600 Dec  3 11:10 system@e1b62490f888489e8926c2642953ca15-000000000001de78-00062854112238fa.journal
-rw-r-----+ 1 root systemd-journal 6553600 Dec  3 23:04 system@e1b62490f888489e8926c2642953ca15-000000000001e9aa-0006285adf7bf191.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 22 11:17 system@eb2ba0d5270841d0963aa38bb64046e6-000000000000ad66-00062776c8bf9cfd.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 22 22:59 system@eb2ba0d5270841d0963aa38bb64046e6-000000000000b89a-0006277daf11f403.journal
-rw-r-----+ 1 root systemd-journal 6553600 Dec  6 11:16 system@f5586191ee47484984f06cff09ae57a4-0000000000022da2-000628906a975db2.journal
-rw-r-----+ 1 root systemd-journal 6553600 Dec  6 23:09 system@f5586191ee47484984f06cff09ae57a4-00000000000238d6-000628974d44e727.journal
-rw-r-----+ 1 root systemd-journal 6553600 Dec  5 22:36 user-1000.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 17 07:25 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 17 07:40 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 19 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 23 12:46 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 23 12:46 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 24 17:51 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 24 18:16 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Dec  5 03:00 [email protected]~
-rw-r-----+ 1 root systemd-journal 6553600 Nov 23 10:01 user-1000@2800bad1984a4a5e8249fcdde2f73602-000000000000cf1f-0006278eb5f999e1.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 25 00:51 user-1000@526c4b04d01842f6908c840134f0f250-0000000000010564-000627abc74af167.journal
-rw-r-----+ 1 root systemd-journal 6553600 Dec  5 22:36 user-1000@68cb813ae84d434abe4d596be08c3ae2-0000000000022781-0006288b7ef0c60c.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 18 10:45 user-1000@6eacf586b52643d89f3f86e64e47e6a7-000000000000498e-0006272a2da82765.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 18 19:21 user-1000@6eacf586b52643d89f3f86e64e47e6a7-0000000000005134-0006272ee7302306.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 26 23:10 user-1000@8155b240de694d6fbc59a68564175bcd-0000000000013f00-000627d7e1d3892c.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 20 10:50 user-1000@84f1d1a7c8ff459abe0e8a3a704b1c19-0000000000008247-0006275358fcbd3f.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 20 22:20 user-1000@84f1d1a7c8ff459abe0e8a3a704b1c19-00000000000088b8-0006275911806f5f.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 28 22:45 user-1000@85eb7fbdb0d04be08073188bffea4930-0000000000016b5a-000627f8e557f9d7.journal
-rw-r-----+ 1 root systemd-journal 6553600 Dec  4 21:46 user-1000@add9a48fc2484c70b7800e6194ef9a19-000000000002061d-0006287090f27a09.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 17 15:45 user-1000@b632697d6df94e92aeebee7ef73fbe31-0000000000003373-0006271afa97ff34.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 18 02:47 user-1000@b632697d6df94e92aeebee7ef73fbe31-000000000000382c-0006271dfec492e1.journal
-rw-r-----+ 1 root systemd-journal 6553600 Nov 19 23:08 user-1000@caf42cb256b1425d9db06ff8d610963a-0000000000006e59-0006274507049591.journal

Спасибо.

Ответ или решение

Проблема с журналом systemd: Разрешение проблемы с размером

Ваша задача заключается в том, чтобы правильно настроить journald для эффективного управления дисковым пространством, в то время как вы сталкиваетесь с проблемой превышения лимитов, установленных параметрами в файле конфигурации /etc/systemd/journald.conf. Давайте разберем вашу конфигурацию и предложим необходимые изменения.

Существующие настройки

В текущей конфигурации вы установили:

[Journal]
SystemMaxUse=50M
SystemKeepFree=16000M
RuntimeMaxUse=40M

Эти параметры должны помочь в управлении использованием дискового пространства для журналов. Тем не менее, вы сталкиваетесь с тем, что фактическое использование превышает ожидания, с результатом:

Archived and active journals take up 117.1M in the file system.

Это говорит о том, что ваших настроек недостаточно для эффективного контроля за размером журналов.

Возможные причины проблемы

  1. Неправильная интерпретация параметра SystemKeepFree:

    • Параметр SystemKeepFree устанавливает минимальное количество свободного пространства на устройстве, которое должно оставаться доступным для других процессов. Значение 16000M может быть слишком высоким для вашего устройства, из-за чего journald не очищает свои журналы, чтобы освободить место.
  2. Обновление конфигурации:

    • Важно после изменения файла конфигурации использовать команду systemctl restart systemd-journald для применения новых параметров.
  3. Отсутствие автоматической очистки:

    • Если настройки не соответствуют фактическому объему данных, которые записываются в журналы, это может привести к их непрерывному росту.

Рекомендованная конфигурация

Чтобы лучше контролировать размеры журналов, предлагается следующее изменение конфигурации:

[Journal]
SystemMaxUse=50M
SystemKeepFree=5M
RuntimeMaxUse=30M

Корректировки:

  • Заменили SystemKeepFree с 16000M на 5M. Это позволит journald более агрессивно очищать старые записи, чтобы сохранить меньше свободного места.
  • Уменьшили RuntimeMaxUse до 30M, чтобы лучше справляться с временными журналами.

После применения этих изменений перезапустите службу systemd-journald:

sudo systemctl restart systemd-journald

Поддержка и регулярные действия

Помните, что библиотека journald не всегда может автоматически очищать старые записи, особенно если они все еще необходимы. Рассмотрите возможность включения регулярного мониторинга и настройки дополнительных уведомлений о заполняемом пространстве на диске.

  1. Проверка занятости: Используйте команду journalctl --disk-usage для периодической оценки использования пространства.
  2. Настройка cron: Если вы всё-таки увидите, что журналы снова растут, вы можете настроить cron для автоматического вызова journalctl --vacuum-size=50M или --vacuum-time=1d.

Заключение

С помощью правильной настройки конфигурации и регулярного мониторинга вы сможете надежно контролировать размер журналов systemd, избегая его ненужного переполнения. Эти изменения помогут вам оптимизировать использование дискового пространства и предотвратить возникновение ошибок, связанных с переполнением. Вы всегда можете возвратиться к архивированию или удалению старых журналов для более долгосрочной стратегии управления данными.

Оцените материал
Добавить комментарий

Капча загружается...