Re: [freebsd] zfs defrag

2017-11-24 Пенетрантность Mikhail Golub

sleep пробовал. Мне тоже такая идея в голову приходила.
Правда я минуту не спал :), меньше - 5 секунд.
Сразу вроде как помогло (где затыкалось), а на следующей ФС снова вылетело.

"добавить проверку статуса" - была мысль.
Но не знал как эту проверку реализовать.

24.11.2017 18:57, Paul Tatarenko пишет:

Здравствуйте, Владимир Друзенко!

Friday, November 24, 2017, 6:16:35 PM, you wrote:

[...покусано голодными мышами...]

ВД> Костыль, но может сработать:
ВД> (sleep 60 && zfs destroy -r pool/fs) &

Или в цикле добавить проверку статуса. Вдруг что-то за 60 секунд не
освободится.



___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] zfs defrag

2017-11-24 Пенетрантность Paul Tatarenko
Здравствуйте, Владимир Друзенко!

Friday, November 24, 2017, 6:16:35 PM, you wrote:

[...покусано голодными мышами...]

ВД> Костыль, но может сработать:
ВД> (sleep 60 && zfs destroy -r pool/fs) &

Или в цикле добавить проверку статуса. Вдруг что-то за 60 секунд не
освободится.

-- 
Best regards,  Paul Tatarenkohttp://tatarenko.kiev.ua

| Молодой человек решил, что мечта его жизни - стать великим писателем.
|  Когда его спросили, что значит в его понятии "великий", парень ответил:
|  - Я хочу писать вещи, вызывающие бурю страстей,
|   от которых весь мир будет плакать и смеяться, изумляться и ненавидеть.
|  Ему удалось осуществить свою мечту. Сегодня молодой человек работает
|  на Microsoft и составляет сообщения об ошибках в Windows...

[listening to coolest sound - silence][Silence is sexy - Einsturzende Neubauten]
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] zfs defrag

2017-11-24 Пенетрантность Владимир Друзенко

24.11.2017 17:03, Mikhail Golub пишет:

Всем привет.

Как я понял по информации с просторов Интернет, то единственный способ 
дефрагментировать zfs пул - "zfs send | zfs recv".


Имеется FreeBSD 11.1
Есть пул с FRAG 62%.
В пуле файловые системы с сайтами (у каждого сайта своя ФС с квотами и 
т.п.). И через определенные интервалы времени делается снимок ФС для 
оперативного бэкапа и хранятся такие снимки некоторое время.

Т.е. имеем несколько ФС и у каждой ФС по несколько снапшотов.

Нашел пример, что можно сделать вот так.
zfs snapshot pool/ФС@temp
zfs send pool/ФС@temp | zfs recv pool/new-ФС
zfs destroy pool/ФС@temp
zfs destroy -r pool/ФС
zfs rename pool/new-ФС pool/ФС

Если команды выполнять ручками, то все работает нормально.
Но усложнив задачу и заменив "zfs send pool/ФС@temp" на "zfs send -R 
pool/ФС@temp", чтобы снапшоты (резервные копии) тоже передать,
и запихнуть все в цикл, то случайным образом вываливается на команде 
"zfs destroy -r" с сообщением "zfs cannot destroy ... dataset is busy".

Если после этого вручную выполнить "zfs destroy -r pool/fs" - проблем нет.

Костыль, но может сработать:
(sleep 60 && zfs destroy -r pool/fs) &


Интернет пока не помог в поиске решения :(

Или может есть более правильный способ дефрагментации пула zfs? (но 
без удаления снапшотов с резервными копиями)


Спасибо.


___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


[freebsd] zfs defrag

2017-11-24 Пенетрантность Mikhail Golub

Всем привет.

Как я понял по информации с просторов Интернет, то единственный способ 
дефрагментировать zfs пул - "zfs send | zfs recv".


Имеется FreeBSD 11.1
Есть пул с FRAG 62%.
В пуле файловые системы с сайтами (у каждого сайта своя ФС с квотами и 
т.п.). И через определенные интервалы времени делается снимок ФС для 
оперативного бэкапа и хранятся такие снимки некоторое время.

Т.е. имеем несколько ФС и у каждой ФС по несколько снапшотов.

Нашел пример, что можно сделать вот так.
zfs snapshot pool/ФС@temp
zfs send pool/ФС@temp | zfs recv pool/new-ФС
zfs destroy pool/ФС@temp
zfs destroy -r pool/ФС
zfs rename pool/new-ФС pool/ФС

Если команды выполнять ручками, то все работает нормально.
Но усложнив задачу и заменив "zfs send pool/ФС@temp" на "zfs send -R 
pool/ФС@temp", чтобы снапшоты (резервные копии) тоже передать,
и запихнуть все в цикл, то случайным образом вываливается на команде 
"zfs destroy -r" с сообщением "zfs cannot destroy ... dataset is busy".

Если после этого вручную выполнить "zfs destroy -r pool/fs" - проблем нет.

Интернет пока не помог в поиске решения :(

Или может есть более правильный способ дефрагментации пула zfs? (но без 
удаления снапшотов с резервными копиями)


Спасибо.

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd