Ти същото можеш да направиш и с dd if=/dev/zero of=/dev/something. Проблемът и на двата подхода е, че записва нулите на диска и така унищожава benefit-а на thinpool-а.
За да стане по-ясно, нека приемем, че имаме едно SSD върху което има един единствен partition направен на LVM Physical Volume. Този PV се използва в една VG, където сме направили thinpool. В thinpool-а се прави partition от да кажем 500GB но SSD-то е 1TB. Сега правим snapshot на 500GB partition-а, който е пълен с да кажем 100GB данни и реално сме с не повече от 102GB данни, заради това, че цялото нещо е направено в thinpool-а. Проблемът е, че ако направим още 4-5 такива snapshot-а и те не си използват пространството през целият си живот, то ако в един момент от времето решим да scrub-нем два volume-а ще напълним на 100% corepool-а и ще го счупим :( Ние имаме защита за това, но остава въпросът, как да ги scrub-на тези volumes? А какво ще стане ако нямам място да scrub-на дори един от тези 500GB partitions? Всяко нещо, което записва по всички блокове на /dev/something ще увеличи snapshot-а до пълната големина на logical volume-а, затова и търся нещо, което да пипа единствено блоковете, които имат данни различни от 0. On 02/19/2018 11:31 PM, Neter wrote: > Добре де, ами какво се случва, ако се изпълни това в прикачения файл > (неизвестно защо клиентът ми не ще да го изпрати вписано в тялото на > писмото)? Сигурен съм, че може да се напише и по-кратко, но за идеята :) > > На 19.02.2018 16:36, Marian Marinov написа: >> Здравейте група, >> рядко вече се обсъждат интересни теми тук, но мисля да ви предложа един >> казус над който можем да "медитираме" заедно :) >> >> >> Ние 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 >> 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