| 
    
    | 
   
           
    
     
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
 
 
 
      
      |  
     
    | 
   
    
    |