файлы, перемещенные или удаленные с диска zfs, не освобождают место на диске

файлы, перемещенные или удаленные с диска zfs, не освобождают место на диске

Я использую ubuntu 21.10, установленную заново с файловой системой zfs. Если я удаляю некоторые файлы, а затем очищаю корзину или перемещаю их на другой (внешний) диск, это не освобождает место на диске. На самом деле df показывает: rpool/ROOT/ubuntu_zooqq5 35G 4,5G 31G 13% / где 35 ГБ — размер диска.

Каждый раз, когда я добавляю какой-либо файл на диск, размер диска уменьшается.

Я восстанавливаю пространство (и размер диска увеличивается), удаляя снимки zfs с помощью скрипта, но как это сделать правильно?

Может быть, это ошибка?

решение1

Удаленные файлы по-прежнему ссылаются на прошлые снимки, поэтому то, что вы описываете, является ожидаемым поведением.

Как вы уже заметили, пространство остается занятым из-за снимков; только после удаления последнего снимка, ссылающегося на удаленные файлы, соответствующее пространство снова станет доступным для новых файлов.

Обратите внимание, чтоdfне предоставляет точных значений свободного пространства в файловых системах ZFS. ZFS использует один или несколько дисков (или разделов) для хранения пулов, которые могут содержать один или несколько наборов данных (интерпретируемых dfкак файловые системы), все из которых совместно используют свободное пространство пула. Снимки также заполняют пул (как часть наборов данных), что еще больше влияет на dfотчеты «Размер» для отдельной файловой системы. ZFS является одновременно файловой системой, менеджером томов и опционально управляет массивами RAID; это было бы аналогично, например, ext4 на LVM опционально на RAID.

Чтобы увидеть, как пулы соответствуют дискам или разделам, можно использовать zpool status. В Ubuntu вы можете найти перечисленные диски или разделы под /dev/disk/by-uuid/и /dev/disk/by-partuuid/соответственно. Чтобы увидеть свободное место в пулах, вы можете вывести список всех пулов через zpool list. Вы можете вывести список всех наборов данных ZFS («файловых систем») через zfs list, где USEDстолбец указывает пространство, используемое набором данных, которое включает файлы, дочерние наборы данных и моментальные снимки, принадлежащие определенному набору данных; AVAILуказывает оставшееся место в пуле и REFERуказывает размер файлов, специфичных для этой файловой системы, т. е. не моментальных снимков или дочерних файловых систем.

Связанный контент