On 02/20/2018 01:00 PM, Momchil Ivanov wrote: > On Mon, February 19, 2018 3: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-на тези данни. >> >> >> Поздрави, >> Мариян > > Здравей, > > в случай, че целта ти е друг клиент да не вижда старата информация на този > клиент, решението е може би по-просто. Трябва да зануляваш секторите, > когато те се зачисляват за първи път от lvm за даден клиент. По този начин > дори и той да се пробва да си прочете цялото му заделено място с dd, ще > види едно нищо. За целта може би трябва малка добавка в lvm, в случай че > няма такава опция. > > По този начин ще презаписваш само нужните сектори. В края на живота на > диска трябва така или иначе да го презапишеш целия, преди да го изхвърлиш.
Предложението ти не е лошо, но е в пъти по-сложно и за съжаление ще hit-ва сериозно write performance-а за клиента. Замисли се, вместо директно да почнеш да пишеш на диска, първо ще се случва write със същата големина :( > Поздрави, > Момчил > _______________________________________________ > Lug-bg mailing list > Lug-bg@linux-bulgaria.org > http://linux-bulgaria.org/mailman/listinfo/lug-bg >
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg