|
Re: [Lug-bg] Disk scrubbing
- Subject: Re: [Lug-bg] Disk scrubbing
- From: browseman <browseman@xxxxxxxxx>
- Date: Sun, 4 Mar 2018 10:54:45 +0200
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
Lug-bg@xxxxxxxxxxxxxxxxxx
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
Lug-bg@xxxxxxxxxxxxxxxxxx
http://linux-bulgaria.org/mailman/listinfo/lug-bg
|
|
|