Недавно обнаружил, что корневой раздел / (он всего 10 Gb) в виртуальной машине с Proxmox Backup Server в Proxmox PVE практически полностью заполнен, невозможно даже установить обновления.

Проверка свободного места:

df -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/pbs-root  8.2G  7.6G  113M  99% /

С помощью du вижу, что каталог /var/log/proxmox-backup/tasks занимает неприлично много места:

du -sh /var/log/proxmox-backup/*

118M /var/log/proxmox-backup/api
2.8G /var/log/proxmox-backup/tasks

Решил, что ничего страшного не произойдет, если вручную удалю все данные, это же всего лишь логи, но после этой процедуры перестало работать резервное копирование с машин PVE. Оказалось, что при удалении каталога tasks, PBS заново создаёт его, но с неправильными правами root:root, и не позволяет в него записывать данные из-под обычного пользователя. Об этом я узнал, когда пошёл на форум Proxmox.

В итоге, на нём же было найдено решение, привожу описание, как я поступил.

1) Единоразово очищаем общий журнал логов:

journalctl --vacuum-size=256M

2) Создаём скрипт:

nano /root/scripts/cleanlogs.sh
#!/bin/bash
# Очистка логов в каталоге "tasks"
set -eu
DAYS=30
 
# Поиск каталогов старше, чем $DAYS
for FOLDER in $(/usr/bin/find /var/log/proxmox-backup/tasks -type d -mtime +$DAYS)
do
  PARENT=$(/usr/bin/dirname $FOLDER)
  [[ "tasks" == "$(/usr/bin/basename $PARENT)" ]] && /usr/bin/rm -rf $FOLDER
done

3) Установим разрешения на исполнение:

chmod +x /root/scripts/cleanlogs.sh

4) Добавим запись в cron:

crontab -e

@monthly /root/scripts/cleanlogs.sh

После первого выполнения скрипта объём свободного места увеличился:

df -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/pbs-root  8.2G  4.2G  3.6G  55% /

Проблему я решил, не прибегая к увеличению размера корневого раздела диска.

Поделитесь Вашим мнением
Ваш комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

✨ Еще записи из этой же рубрики

Что будем искать? Например,Поиск