Как удалить старые снимки ZFS

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

После обновления на Ubuntu я получаю предупреждение о своей файловой системе ZFS. Есть ли утилита или скрипт, которые я могу использовать для удаления старых снимков? Вот сообщение:

ОШИБКА не удалось сохранить состояние системы: Минимальное свободное место для создания снимка и поддержания производительности ZFS составляет 20%.
Свободное место в пуле "rpool" составляет 10%.
Пожалуйста, удалите некоторое состояние вручную, чтобы освободить место.

Используйте zfs-prune-snapshots,
описанный как:

Удаляет снимки из одного или нескольких zpools, которые соответствуют заданным критериям

Пример из документации:

Удалить снимки старше недели для всех zpools

zfs-prune-snapshots 1w

То же самое, но с увеличенной подробностью и без фактического
удаления каких-либо снимков (пробный запуск)

zfs-prune-snapshots -vn 1w

Вы можете найти больше методов в посте
Как удалить все, кроме последних [n] ZFS снимков?

Если вы хотите сделать это без оболочных скриптов, таких как zfs-prune-snapshots, зная, что вы можете сделать следующее, может быть достаточно в зависимости от вашего варианта использования:

“Удалить snapshot и все предыдущие снимки”

zfs destroy mypool/data@%snapshot

“Удалить snapshot и все поздние снимки”

zfs destroy mypool/data@snapshot%

“Удалить все снимки”

zfs destroy mypool/data@%

Используйте флаг -n и -v для пробного запуска сначала. Пример:

zfs destroy -nv zroot/home@2024-10-16%
удалит zroot/home@2024-10-16
удалит zroot/home@2024-10-21
освободит 272M

Чтобы еще раз прояснить: целевой снимок также будет удален. Внимательно прочитайте вывод пробного запуска.

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

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

1. Утилита zfs-prune-snapshots

Одним из лучших подходов является использование утилиты zfs-prune-snapshots. Эта утилита предназначена для удаления снимков, соответствующих заданным критериям, и позволяет удобно управлять вашим хранилищем ZFS.

Пример использования:

  • Удаление снимков старше одной недели:

    zfs-prune-snapshots 1w
  • Выполнение симуляции (dry-run) для проверки, какие снимки будут удалены:

    zfs-prune-snapshots -vn 1w

2. Удаление снимков с помощью команды zfs

Если вы предпочитаете не использовать сторонние утилиты, вы можете воспользоваться встроенными командами ZFS для удаления снимков. Ниже приведены основные команды:

  • Удаление конкретного снимка и всех более старых снимков:

    zfs destroy mypool/data@%snapshot
  • Удаление конкретного снимка и всех более новых снимков:

    zfs destroy mypool/data@snapshot%
  • Удаление всех снимков для определённого пула:

    zfs destroy mypool/data@%

Рекомендации перед удалением:

Перед выполнением удаления снимков рекомендуется выполнять команду с опциями -n (симуляция) и -v (подробный вывод), чтобы удостовериться в том, какие именно снимки будут удалены. Например:

zfs destroy -nv zroot/home@2024-10-16%

Вывод этой команды предоставит вам информацию о том, какие снимки будут удалены, и сколько пространства будет освобождено.

3. ЧисткаSnapshots

Для более глубокой настройки удаления старых снимков можете обратиться к рекомендациям и скриптам, доступным в других источниках. Данный подход позволяет вам детально настраивать условия удаления снимков, основываясь на времени или других параметрах.

Заключение

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

Соблюдайте эти рекомендации, и ваша файловая система ZFS будет оставаться продуктивной и эффективной.

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

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