Re: verifiering av filer
Hej! On 12/31/11 18:05, j...@lillahusetiskogen.se wrote: Jamen, det är väl ganska exakt vad Anton skriver, om sync alltså. Nej. Anton sa att man förlorar data om man inte kör sync innan. Linux-kärnans dokumentation håller inte med. Den säger att man inte under några förutsättningar förlorar data. mvh /Martin [...] /Janne On Sat, 31 Dec 2011 16:42:05 +0100 Martin Lebenmar...@leben.nu wrote: On 12/31/11 15:28, Anton Eliasson wrote: För att utveckla: sync skriver innehållet i skrivbuffertarna till disk omedelbart. Det påverkar inte läsbuffertarna. |echo 3 /proc/sys/vm/drop_caches| tömmer läs- och skrivbuffertarna utan att ta hänsyn till om innehållet i skrivbuffertarna har skrivits till disk eller inte. Det är därför det kommandot måste köras direkt efter sync, för att inte information ska gå förlorad. Hej Anton! Detta lät helt orimligt i mina öron. Jag googlade lite och fann: http://www.kernel.org/doc/Documentation/sysctl/vm.txt Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free. ... där står också några rader längre ned: As this is a non-destructive operation and dirty objects are not freeable, the user should run `sync' first. Anledningen till att man vill köra echo 3 /proc/sys/vm/drop_caches omedelbart efter sync är alltså att man vill tömma så mycket av cache mm som möjligt. Ingenting annat. mvh /Martin Leben -- To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4f0061d3.20...@leben.nu
Re: verifiering av filer
On Sat, 31 Dec 2011 05:46:19 +0100 Anders Jackson anders.jack...@gmail.com wrote: Den 30 december 2011 11:29 skrev j...@lillahusetiskogen.se: On Fri, 30 Dec 2011 01:56:04 +0100 Anders Jackson anders.jack...@gmail.com wrote: Den 29 december 2011 12:25 skrev j...@lillahusetiskogen.se: Jag håller på och kopierar filer mellan två diskar och använder md5sum för att verifiera att det gick bra. Varför använder du inte det utmärkta programmet rsync(1) för detta? Utmärkt att ta backup mellan två ställen, om det är på samma maskin eller två olika spelar inte någon roll. Alldeles utmärkt program. Och, jo jag använder det. Grejen är den att jag för mina samlingar brukar ha två kopior för säkerhets skull och använder md5 för att kunna verifiera att dom är OK. Vad är nyttan med två kopior som är olika om man inte vet vilken som är trasig? Även om de är lika så kan de ju vara trasiga. Om orginalet är trasig så kommer ju kopian åxå vara det. Skit händer som bekant. Det kan hända på hårddiskar, och med så stora som vi har idag, så är risken ganska hög. För att skydda mot detta så behöver du ett filsystem som exempelvis ZFS, som är riktigt enkelt att kopiera säkert mellan två olika ZFS-filsystem. ZFS låter ju bra men verkar inte riktigt moget för Linux än. Sedan så kollar ju rsync om bägge sidor är lika med checksummor redan, så det behöver du ju inte göra igen. Om du vill vara säkerare, så kör sync och sedan rsync igen. Är totalstorleken på filerna så stort att de inte ryms i ram-buffertarna, så kommer RAm-buffertarna att skrivas över av innehållet från diskarna när nya delar läses in. Och rsync checka vad som finns på disken, inte i RAM-buffertarna. Så jag förstår inte problemet, faktiskt. Grejen är den att har man en md5-fil (eller ännu hellre en bättre hash) så kan man avgöra om båda eller ena eller ingen av filerna är identisk med den fil man hade från början. Idag, imorgon, nästa år... Eller så går md5-filen sönder... Efter att ha suttit och stirrat på skeendet ett tag inser jag att md5sum kollar data som är buffrat i RAM om det finns tillgängligt, inte resultatet på disk. Mycket snabbt men tämligen poänglöst. Om du vill vara säker på att buffertarna töms till diskar, så använd kommandot sync(1). Jo jag vet. Nu var ju problemet det omvända. Linux hittar filerna i buffrar i RAM och det är ju bra, oftast, men jag vill ju veta om kopian på den fysiska disken blev OK. Sync gör ju det. Det ser till att innehållet i RAM-buffertarna skrivs ut till filsystemet. Japp, och det är ju bra. Men problemet är att md5sum använder innehållet i RAM-buffertarna. Och, resultatet av det? Jag vet att RAM-buffertarna var OK, men filerna på disken då? Jag fick en bra länk från Anton: http://www.go2linux.org/linux/2011/01/how-clear-or-drop-cache-buffer-pages-linux-memory-880 Jo, jag såg det. Men förstår fortfarande inte varför det skulle vara bättre än att använda sync? Två olika problem. Om du vill sync:a maskinens diskar utan att vara inloggad, så försök att logga in som användaren sync. Den kommer att köra kommandot sync(1) och sedan avsluta anslutningen. Finns det något sätt att tvinga program att läsa från disk istf buffrade data i RAM? Du kan fortfarande få odekteterade bitfel, om det är ett stort filsystem och stora filer. Såvida du inte använder ett filsystem typ ZFS. Jupp, som sagt, skit händer... Gott nytt etc! /Janne Det samma! /Jackson /Janne -- To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20111231150051.10998665@nikolai
Re: verifiering av filer
On 2011-12-31 15:00, j...@lillahusetiskogen.se wrote: On Sat, 31 Dec 2011 05:46:19 +0100 Anders Jacksonanders.jack...@gmail.com wrote: Den 30 december 2011 11:29 skrevj...@lillahusetiskogen.se: On Fri, 30 Dec 2011 01:56:04 +0100 Anders Jacksonanders.jack...@gmail.com wrote: Den 29 december 2011 12:25 skrevj...@lillahusetiskogen.se: Jag håller på och kopierar filer mellan två diskar och använder md5sum för att verifiera att det gick bra. Varför använder du inte det utmärkta programmet rsync(1) för detta? Utmärkt att ta backup mellan två ställen, om det är på samma maskin eller två olika spelar inte någon roll. Alldeles utmärkt program. Och, jo jag använder det. Grejen är den att jag för mina samlingar brukar ha två kopior för säkerhets skull och använder md5 för att kunna verifiera att dom är OK. Vad är nyttan med två kopior som är olika om man inte vet vilken som är trasig? Även om de är lika så kan de ju vara trasiga. Om orginalet är trasig så kommer ju kopian åxå vara det. Skit händer som bekant. Det kan hända på hårddiskar, och med så stora som vi har idag, så är risken ganska hög. För att skydda mot detta så behöver du ett filsystem som exempelvis ZFS, som är riktigt enkelt att kopiera säkert mellan två olika ZFS-filsystem. ZFS låter ju bra men verkar inte riktigt moget för Linux än. Och kommer kanske aldrig bli på grund av licenskrocken mellan CDDL som ZFS använder och GNU GPL som linuxkärnan använder. Btrfs å andra sidan har ju ibland beskrivits som ZFS för Linux, men det är väl inte heller riktigt moget än. Sedan så kollar ju rsync om bägge sidor är lika med checksummor redan, så det behöver du ju inte göra igen. Om du vill vara säkerare, så kör sync och sedan rsync igen. Är totalstorleken på filerna så stort att de inte ryms i ram-buffertarna, så kommer RAm-buffertarna att skrivas över av innehållet från diskarna när nya delar läses in. Och rsync checka vad som finns på disken, inte i RAM-buffertarna. Så jag förstår inte problemet, faktiskt. Grejen är den att har man en md5-fil (eller ännu hellre en bättre hash) så kan man avgöra om båda eller ena eller ingen av filerna är identisk med den fil man hade från början. Idag, imorgon, nästa år... Eller så går md5-filen sönder... Efter att ha suttit och stirrat på skeendet ett tag inser jag att md5sum kollar data som är buffrat i RAM om det finns tillgängligt, inte resultatet på disk. Mycket snabbt men tämligen poänglöst. Om du vill vara säker på att buffertarna töms till diskar, så använd kommandot sync(1). Jo jag vet. Nu var ju problemet det omvända. Linux hittar filerna i buffrar i RAM och det är ju bra, oftast, men jag vill ju veta om kopian på den fysiska disken blev OK. Sync gör ju det. Det ser till att innehållet i RAM-buffertarna skrivs ut till filsystemet. Japp, och det är ju bra. Men problemet är att md5sum använder innehållet i RAM-buffertarna. Och, resultatet av det? Jag vet att RAM-buffertarna var OK, men filerna på disken då? Jag fick en bra länk från Anton: http://www.go2linux.org/linux/2011/01/how-clear-or-drop-cache-buffer-pages-linux-memory-880 Jo, jag såg det. Men förstår fortfarande inte varför det skulle vara bättre än att använda sync? Två olika problem. För att utveckla: sync skriver innehållet i skrivbuffertarna till disk omedelbart. Det påverkar inte läsbuffertarna. |echo 3 /proc/sys/vm/drop_caches| tömmer läs- och skrivbuffertarna utan att ta hänsyn till om innehållet i skrivbuffertarna har skrivits till disk eller inte. Det är därför det kommandot måste köras direkt efter sync, för att inte information ska gå förlorad. Nu tror jag dock att vi jagar upp oss på problem som inte finns, för sannolikt har de flesta metoder för filkopiering inbyggda kontroller för att säkerställa att rätt information kopieras. Sen finns det ju idéer om bitröta i magnetiska lagringsmedier och korruption i icke-ECC-internminnen som man kanske vill vara förberedd på. Om du vill sync:a maskinens diskar utan att vara inloggad, så försök att logga in som användaren sync. Den kommer att köra kommandot sync(1) och sedan avsluta anslutningen. Finns det något sätt att tvinga program att läsa från disk istf buffrade data i RAM? Du kan fortfarande få odekteterade bitfel, om det är ett stort filsystem och stora filer. Såvida du inte använder ett filsystem typ ZFS. Jupp, som sagt, skit händer... Gott nytt etc! /Janne Det samma! /Jackson /Janne -- Med vänliga hälsningar / Regards Anton Eliasson
Re: verifiering av filer
On Sat, 31 Dec 2011 15:28:26 +0100 Anton Eliasson anton.e...@gmail.com wrote: Jag fick en bra länk från Anton: http://www.go2linux.org/linux/2011/01/how-clear-or-drop-cache-buffer-pages-linux-memory-880 Jo, jag såg det. Men förstår fortfarande inte varför det skulle vara bättre än att använda sync? Två olika problem. För att utveckla: sync skriver innehållet i skrivbuffertarna till disk omedelbart. Det påverkar inte läsbuffertarna. |echo 3 /proc/sys/vm/drop_caches| tömmer läs- och skrivbuffertarna utan att ta hänsyn till om innehållet i skrivbuffertarna har skrivits till disk eller inte. Det är därför det kommandot måste köras direkt efter sync, för att inte information ska gå förlorad. Nu tror jag dock att vi jagar upp oss på problem som inte finns, för sannolikt har de flesta metoder för filkopiering inbyggda kontroller för att säkerställa att rätt information kopieras. Sen finns det ju idéer om bitröta i magnetiska lagringsmedier och korruption i icke-ECC-internminnen som man kanske vill vara förberedd på. Jag är tyvärr smärtsamt medveten om att stora filer går sönder. Både vid kopiering mellan datorer och lokalt. Jag har sett det tidigare också men med Ubuntu 11.04 blev det riktigt tydligt. Tyvärr verkar problemet även, om än inte så allvarligt, finnas också i Mint Debian. Och varför kör jag då inte vanlig Debian, som kanske fungerar felfritt. Jo, min hårdvara Asus E35M1-I stöds inte fullt ut av Debian. Så vitt jag vet. Gott nytt etc! /Janne -- To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20111231153941.1b63be05@nikolai
Re: verifiering av filer
On 12/31/11 15:28, Anton Eliasson wrote: För att utveckla: sync skriver innehållet i skrivbuffertarna till disk omedelbart. Det påverkar inte läsbuffertarna. |echo 3 /proc/sys/vm/drop_caches| tömmer läs- och skrivbuffertarna utan att ta hänsyn till om innehållet i skrivbuffertarna har skrivits till disk eller inte. Det är därför det kommandot måste köras direkt efter sync, för att inte information ska gå förlorad. Hej Anton! Detta lät helt orimligt i mina öron. Jag googlade lite och fann: http://www.kernel.org/doc/Documentation/sysctl/vm.txt Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free. ... där står också några rader längre ned: As this is a non-destructive operation and dirty objects are not freeable, the user should run `sync' first. Anledningen till att man vill köra echo 3 /proc/sys/vm/drop_caches omedelbart efter sync är alltså att man vill tömma så mycket av cache mm som möjligt. Ingenting annat. mvh /Martin Leben -- To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4eff2d4d.1090...@leben.nu
Re: verifiering av filer
Jamen, det är väl ganska exakt vad Anton skriver, om sync alltså. Och vad jag vill undvika är att md5sum använder RAM-buffrar för att verifiera vad som finns på disken. Nu inser ju även jag att disken har en cache som kan lura mig. Men den är liten jämfört med storleken på cachen Linux håller sig med, ~6GB, så risken att den ställer till det är ganska liten. Ja jag vet, jag låter paranoid, men mitt moderkort från Asus tillsammans med Ubuntu 11.04 har skrämt skiten ur mig. Kanske skulle återgå till min gamla burk... /Janne On Sat, 31 Dec 2011 16:42:05 +0100 Martin Leben mar...@leben.nu wrote: On 12/31/11 15:28, Anton Eliasson wrote: För att utveckla: sync skriver innehållet i skrivbuffertarna till disk omedelbart. Det påverkar inte läsbuffertarna. |echo 3 /proc/sys/vm/drop_caches| tömmer läs- och skrivbuffertarna utan att ta hänsyn till om innehållet i skrivbuffertarna har skrivits till disk eller inte. Det är därför det kommandot måste köras direkt efter sync, för att inte information ska gå förlorad. Hej Anton! Detta lät helt orimligt i mina öron. Jag googlade lite och fann: http://www.kernel.org/doc/Documentation/sysctl/vm.txt Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free. ... där står också några rader längre ned: As this is a non-destructive operation and dirty objects are not freeable, the user should run `sync' first. Anledningen till att man vill köra echo 3 /proc/sys/vm/drop_caches omedelbart efter sync är alltså att man vill tömma så mycket av cache mm som möjligt. Ingenting annat. mvh /Martin Leben -- To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20111231180543.096da49d@nikolai
Re: verifiering av filer
On Fri, 30 Dec 2011 01:56:04 +0100 Anders Jackson anders.jack...@gmail.com wrote: Den 29 december 2011 12:25 skrev j...@lillahusetiskogen.se: Hej! Hej Jag håller på och kopierar filer mellan två diskar och använder md5sum för att verifiera att det gick bra. Varför använder du inte det utmärkta programmet rsync(1) för detta? Utmärkt att ta backup mellan två ställen, om det är på samma maskin eller två olika spelar inte någon roll. Alldeles utmärkt program. Och, jo jag använder det. Grejen är den att jag för mina samlingar brukar ha två kopior för säkerhets skull och använder md5 för att kunna verifiera att dom är OK. Vad är nyttan med två kopior som är olika om man inte vet vilken som är trasig? Efter att ha suttit och stirrat på skeendet ett tag inser jag att md5sum kollar data som är buffrat i RAM om det finns tillgängligt, inte resultatet på disk. Mycket snabbt men tämligen poänglöst. Om du vill vara säker på att buffertarna töms till diskar, så använd kommandot sync(1). Jo jag vet. Nu var ju problemet det omvända. Linux hittar filerna i buffrar i RAM och det är ju bra, oftast, men jag vill ju veta om kopian på den fysiska disken blev OK. Jag fick en bra länk från Anton: http://www.go2linux.org/linux/2011/01/how-clear-or-drop-cache-buffer-pages-linux-memory-880 Om du vill sync:a maskinens diskar utan att vara inloggad, så försök att logga in som användaren sync. Den kommer att köra kommandot sync(1) och sedan avsluta anslutningen. Finns det något sätt att tvinga program att läsa från disk istf buffrade data i RAM? /Janne God fortsättning och gott nytt år. /Jackson Gott nytt etc! /Janne -- To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20111230112910.7f9c2...@nikolai.lillahusetiskogen.se
Re: verifiering av filer
Den 30 december 2011 11:29 skrev j...@lillahusetiskogen.se: On Fri, 30 Dec 2011 01:56:04 +0100 Anders Jackson anders.jack...@gmail.com wrote: Den 29 december 2011 12:25 skrev j...@lillahusetiskogen.se: Jag håller på och kopierar filer mellan två diskar och använder md5sum för att verifiera att det gick bra. Varför använder du inte det utmärkta programmet rsync(1) för detta? Utmärkt att ta backup mellan två ställen, om det är på samma maskin eller två olika spelar inte någon roll. Alldeles utmärkt program. Och, jo jag använder det. Grejen är den att jag för mina samlingar brukar ha två kopior för säkerhets skull och använder md5 för att kunna verifiera att dom är OK. Vad är nyttan med två kopior som är olika om man inte vet vilken som är trasig? Även om de är lika så kan de ju vara trasiga. Om orginalet är trasig så kommer ju kopian åxå vara det. Det kan hända på hårddiskar, och med så stora som vi har idag, så är risken ganska hög. För att skydda mot detta så behöver du ett filsystem som exempelvis ZFS, som är riktigt enkelt att kopiera säkert mellan två olika ZFS-filsystem. Sedan så kollar ju rsync om bägge sidor är lika med checksummor redan, så det behöver du ju inte göra igen. Om du vill vara säkerare, så kör sync och sedan rsync igen. Är totalstorleken på filerna så stort att de inte ryms i ram-buffertarna, så kommer RAm-buffertarna att skrivas över av innehållet från diskarna när nya delar läses in. Och rsync checka vad som finns på disken, inte i RAM-buffertarna. Så jag förstår inte problemet, faktiskt. Efter att ha suttit och stirrat på skeendet ett tag inser jag att md5sum kollar data som är buffrat i RAM om det finns tillgängligt, inte resultatet på disk. Mycket snabbt men tämligen poänglöst. Om du vill vara säker på att buffertarna töms till diskar, så använd kommandot sync(1). Jo jag vet. Nu var ju problemet det omvända. Linux hittar filerna i buffrar i RAM och det är ju bra, oftast, men jag vill ju veta om kopian på den fysiska disken blev OK. Sync gör ju det. Det ser till att innehållet i RAM-buffertarna skrivs ut till filsystemet. Jag fick en bra länk från Anton: http://www.go2linux.org/linux/2011/01/how-clear-or-drop-cache-buffer-pages-linux-memory-880 Jo, jag såg det. Men förstår fortfarande inte varför det skulle vara bättre än att använda sync? Om du vill sync:a maskinens diskar utan att vara inloggad, så försök att logga in som användaren sync. Den kommer att köra kommandot sync(1) och sedan avsluta anslutningen. Finns det något sätt att tvinga program att läsa från disk istf buffrade data i RAM? Du kan fortfarande få odekteterade bitfel, om det är ett stort filsystem och stora filer. Såvida du inte använder ett filsystem typ ZFS. Gott nytt etc! /Janne Det samma! /Jackson -- To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CACXJ-BiDdKtyvQeL9crXRqArXfqu=llonzpvra9+0tm13bd...@mail.gmail.com
Re: verifiering av filer
Stort tack! Som vanligt bra svar på den här listan! /Janne On Thu, 29 Dec 2011 12:29:11 +0100 Anton Eliasson anton.e...@gmail.com wrote: Du kan skrota det som finns i buffertminnet för att tvinga systemet att läsa om informationen från disk: http://www.go2linux.org/linux/2011/01/how-clear-or-drop-cache-buffer-pages-linux-memory-880 On 2011-12-29 12:25, j...@lillahusetiskogen.se wrote: Hej! Jag håller på och kopierar filer mellan två diskar och använder md5sum för att verifiera att det gick bra. Efter att ha suttit och stirrat på skeendet ett tag inser jag att md5sum kollar data som är buffrat i RAM om det finns tillgängligt, inte resultatet på disk. Mycket snabbt men tämligen poänglöst. Finns det något sätt att tvinga program att läsa från disk istf buffrade data i RAM? /Janne -- To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20111229130109.0c27c...@nikolai.lillahusetiskogen.se
Re: verifiering av filer
Den 29 december 2011 12:25 skrev j...@lillahusetiskogen.se: Hej! Hej Jag håller på och kopierar filer mellan två diskar och använder md5sum för att verifiera att det gick bra. Varför använder du inte det utmärkta programmet rsync(1) för detta? Utmärkt att ta backup mellan två ställen, om det är på samma maskin eller två olika spelar inte någon roll. Efter att ha suttit och stirrat på skeendet ett tag inser jag att md5sum kollar data som är buffrat i RAM om det finns tillgängligt, inte resultatet på disk. Mycket snabbt men tämligen poänglöst. Om du vill vara säker på att buffertarna töms till diskar, så använd kommandot sync(1). Om du vill sync:a maskinens diskar utan att vara inloggad, så försök att logga in som användaren sync. Den kommer att köra kommandot sync(1) och sedan avsluta anslutningen. Finns det något sätt att tvinga program att läsa från disk istf buffrade data i RAM? /Janne God fortsättning och gott nytt år. /Jackson -- To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CACXJ-Bj_E++9TaCZvv5=dgv2kfzyajk-azu8e2kco+kxu3k...@mail.gmail.com