On 02/19/2018 04:36 PM, Marian Marinov wrote:
> Здравейте група,
> рядко вече се обсъждат интересни теми тук, но мисля да ви предложа един казус
> над който можем да "медитираме" заедно :)
>
>
> Ние scrub-ваме дисковете на всички containers, които се destroy-ват в нашата
> система, но предвид, че използваме thinpools се получава следният неприятен
> казус.
> Ако thinpool-а е на 85% и някой си направи много голям volume, докато този
> volume не е много пълен системата няма проблем.
> Но в момента в който клиента си изтрие container-а ние започваме да
> scrub-ваме с dd и реално пълним цеият капацитет и можем без да искаме да
> препълним thinpool-a :(
>
> Ta въпросът ми е, сещате ли се за начин по който да се запишат данни върху
> един partition/logical volume, само върху секторите в които реално има данни
> :)
>
> По принцип chunksync & casync прават подобен анализ на volume-а и копират
> само разликите, но на мен ми трябва вместо разлики да се записват данни, пък
> било то и нули.
>
> Аз в момента обмислям дали да patch-на dd, да има опция която да му казва да
> прочете блокчето и ако там няма данни да не записва нищо или да напиша
> fstool, който да чете fs table-а и да overwrite-ва само блоковете, за които
> FS-а знае, че има данни.
>
> Проблемът на вторият подход е, че ако даден файл е изтрит от FS-а и на негово
> място(на неговите blocks) няма нови данни, това означава, че ще пропусна да
> scrub-на тези данни.
>
>
> Поздрави,
> Мариян
>
>
>
> _______________________________________________
> Lug-bg mailing list
> [email protected]
> http://linux-bulgaria.org/mailman/listinfo/lug-bg
Привет
Аз имам следното доста баламско предложение за решение на казуса, може
би няма да е приложимо в конкретният случай, но все пак ще споделя идеята:
- монтира се дяла в произволна директория
- изпълнява се нещо от сорта "#find /path/to/mounted/thinvol -xdev -type
f | xargs shred -n1 -z -u", като разбира се ще има проблеми с файлове
съдържащи интервали или други специални символи в името си, но все
сравнително лесно решими - IMHO.
- изтриват се всички директории
- демонтира се и в/у дяла се изпълнява mkfs.{FS_TYPE}
/dev/mapper/thinvol (с цел да се затрият и мета-данните от файловата
система) - може и да има по-хитър начин, но поне аз не се досещам.
Потенциален проблем ще има, ако съществува голям sparse, който неминуемо
ще доведе до заемане на повече място от колко реално е използвал.
73.
_______________________________________________
Lug-bg mailing list
[email protected]
http://linux-bulgaria.org/mailman/listinfo/lug-bg