software:proxmox:proxmox-check-free-space

Proxmox Backup Server: Стоп-кран

Не помню где спер, поэтому без ссылок.

Если вы используете Proxmox Backup Server (PBS) и датасторы на ZFS заняты более чем на 80% - у вас начинаются проблемы со скоростью. Если ZFS занят на 100% - все, у вас уже нет проблем по простой причине - попытки «что-то быстренько» удалить не получатся. И все что остается - удалить такой датастор со всеми бесценными бэкапами и создать его заново.

Этот скриптик проверяет наличие свободного места на Datastorе. Если меньше указанного в переменной THRESHOLD - погасит сервер PBS. Это поможет сохранить старые бэкапы, хоть какая-то защита от проблем.

#!/bin/bash
 
# Указываем порог свободного места (в процентах)
THRESHOLD=10
 
# Получаем информацию о свободном месте в каждом datastore
datastores=$(pvesm list datastores | awk '{print $1}' | grep -v Datastore)
 
for datastore in $datastores; do
  # Получаем общий размер и свободное место в datastore
  total_space=$(pvesm get $datastore --output-format json | jq -r '.total')
  free_space=$(pvesm get $datastore --output-format json | jq -r '.free')
 
  # Вычисляем процент свободного места
  free_percent=$(echo "scale=2; ($free_space \* 100) / $total_space" | bc)
 
  # Проверяем, меньше ли процент свободного места порога
  if (( $(echo "$free_percent < $THRESHOLD" | bc -l) )); then
    echo "ВНИМАНИЕ: На datastore $datastore осталось менее $THRESHOLD% свободного места!"
    echo "Остановка Proxmox Backup Server..."
    systemctl stop pbs
    break
  fi
done
  • software/proxmox/proxmox-check-free-space.txt
  • Последнее изменение: 2025/01/19 15:27
  • fireball