URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 92181
[ Назад ]

Исходное сообщение
"Проблемы с ZFS"

Отправлено LPby , 26-Авг-11 15:12 
На днях столкнулся с проблемой. При полном заполнении пула ZFS невозможно удалить файлы. Причем ситуация неоднозначная.
На тестовом сервере я пытался воспроизвести ту же ситуацию. Создал пул из файла и создал в нем один больной файл, размером, равным всему доступному месту пула. Затем файл удалил. Удаление прошло без проблем.
НО!!
Когда я создал большое количество файлов и места свободного так же не осталось, удалить файл не получилось.

# pwd
/test-pool/fs

# zfs list /test-pool/fs
NAME           USED  AVAIL  REFER  MOUNTPOINT
test-pool/fs  63.1M      0  63.1M  /test-pool/fs

# df -k /test-pool/fs/
Filesystem            kbytes    used   avail capacity  Mounted on
test-pool/fs           65038   64610       0   100%    /test-pool/fs

# ls -lh 1
-rw-r--r--   1 root     root        1.0K Aug 26 13:32 1

# rm 1
rm: 1 not removed: No space left on device

Пробовал использовать свойства quota и reservation -- безуспешно.
Погуглив, нашел описание похожих проблем, но объяснения и решения нет. Есть различные  пути решения проблемы, но это все из области танцев с бубном и костылей.
В данном случае интересна сама причина, по которой не удается удаление. И, возможно, штатный метод предотвращения подобной ситуации.


Содержание

Сообщения в этом обсуждении
"Проблемы с ZFS"
Отправлено universite , 26-Авг-11 16:39 

> # zfs list /test-pool/fs

zfs list -t snapshot -S used | grep /test-pool/fs

> # df -k /test-pool/fs/
> Filesystem            
> kbytes    used   avail capacity  Mounted
> on
> test-pool/fs           65038
>   64610       0  
>  100%    /test-pool/fs

Написано: нет места!


"Проблемы с ZFS"
Отправлено LPby , 26-Авг-11 17:07 
>> # zfs list /test-pool/fs
> zfs list -t snapshot -S used | grep /test-pool/fs
>> # df -k /test-pool/fs/
>> Filesystem
>> kbytes    used   avail capacity  Mounted
>> on
>> test-pool/fs           65038
>>   64610       0
>>  100%    /test-pool/fs
> Написано: нет места!

# zfs list -t snapshot
no datasets available

Снепшотов нет, что места нет это я знаю, для того и вывод команды дал.
Суть вороса -- почему так происходит, почему в одном случае при отсутствии свободного места удаление возможно, в другом нет?


"Проблемы с ZFS"
Отправлено universite , 26-Авг-11 17:10 

> Снепшотов нет, что места нет это я знаю, для того и вывод
> команды дал.
> Суть вороса -- почему так происходит, почему в одном случае при отсутствии
> свободного места удаление возможно, в другом нет?

Насколько я понял, у ZFS проблемы с очисткой, при нехватке места.
В вашем случае не хватает места для маркировки "удаления" файла.
поиграйтесь с размером файла, чтоб выяснить сколько еще байт ZFS необходимо, чтоб файл нормально удалялся.


"Проблемы с ZFS"
Отправлено mef_ , 26-Авг-11 23:11 
Можно попробовать вначале обнулить файл, а потом удалить)

"Проблемы с ZFS"
Отправлено Wulf , 02-Сен-11 00:40 
> Можно попробовать вначале обнулить файл, а потом удалить)

Это обычно и есть "официальный" метод решения проблемы, только не работает если файл находится в каком-либо снапшоте


"Проблемы с ZFS"
Отправлено Pahanivo , 02-Сен-11 08:02 
>> Можно попробовать вначале обнулить файл, а потом удалить)
> Это обычно и есть "официальный" метод решения проблемы, только не работает если
> файл находится в каком-либо снапшоте

фиксы планируются?