Здравейте, тук май не съм писал до сега. Относно казуса, дали не може да се проверят секторите с badblocks -t, на теория би трябвало да може да се тестват секторите за определен pattern и да изкара само тези който са занулени (или не са), а останалите могат да се подадат на dd if=/dev/zero of=/dev/sda bs=512 count=1 seek=62 като seek и bs трябва да са еднакви за dd и badblocks. Всичките тези неща съм си ги изсмукал от пръстите, не съм го правил и даже не съм тествал изхода от badblcoks дали ще работи, ако не - все трябва да има друга програма която да провери съдържанието на секторите и да се подаде резултата от нея на dd.
Ще ми е интересно да мина на събирането - много хора ли сте - в смисъл има ли място обикновенно и проблем ли е ако дойда по средата на срещата? 2018-02-20 16:42 GMT+02:00 Marian Marinov <m...@yuhu.biz>: > 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 > > > > > > _______________________________________________ > Lug-bg mailing list > Lug-bg@linux-bulgaria.org > http://linux-bulgaria.org/mailman/listinfo/lug-bg > >
_______________________________________________ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg