Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2017-05-07 15:02:43

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

WTF różnica w zajętości dysków

Elo
Nawet nie wiem od czego zacząć, bo tego nie da się ogarnąć logicznie XD
Mam dwa dyski: 250 GB i 1000GB
Przenoszę między nimi dane rsynciem, bo docelowo 250tka ma iść w odstawkę.
Rozmiarowo wygląda to tak:

Kod:

root@nexus:/mnt# df -k sdf/ sshfs
Filesystem          1K-blocks      Used Available Use% Mounted on
/dev/sdf            244078288 207504392  36573896  86% /mnt/sdf
160.64.1.10:/st1000 960385152 215887488 744497664  23% /mnt/sshfs
root@nexus:/mnt# for i in {sdf,sshfs};do mount |grep $i;done
/dev/sdf on /mnt/sdf type xfs (rw,relatime,attr2,inode64,noquota)
160.64.1.10:/st1000 on /mnt/sshfs type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=160.64.1.250,local_lock=none,addr=160.64.1.10)

Celowo operuję kilobajtami, bo nie ogarniam XD
No i dobra, przepycham między tymi filesystemami dane

Kod:

root@nexus:/mnt# rsync -rltv --update --info=progress2 sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/ sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/

Dobra, pojechało, więc sprawdzam
root@nexus:/mnt# du -sk sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/* sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/* |sed 's#/temporary_storage/transmission/Paczka.Strefa.Kursow/# #g'
1156228 sdf strefakursow.pl Ekosystem JavaScript - wprowadzenie.rar
7044    sdf strefakursow.pl Fundamenty jezyka Java.rar
5536    sdf strefakursow.pl Kurs Git - system kontroli wersji.rar
219820  sdf strefakursow.pl Kurs Gmail warsztat pracy.rar
4032    sdf strefakursow.pl Kurs HTML.rar
629528  sdf strefakursow.pl Kurs Linux dla kazdego.rar
4964    sdf strefakursow.pl Kurs Linux - zaawansowana administracja.rar
4496    sdf strefakursow.pl Kurs Maya - od interfejsu do modelowania.rar
684     sdf strefakursow.pl Kurs Programowania w jQuery.rar
5408    sdf strefakursow.pl Kurs Programowania w PHP5.rar
272444  sdf strefakursow.pl Kurs Programowania w Python.rar
1157360 sshfs strefakursow.pl Ekosystem JavaScript - wprowadzenie.rar
7056    sshfs strefakursow.pl Fundamenty jezyka Java.rar
404784  sshfs strefakursow.pl Kurs Git - system kontroli wersji.rar
220036  sshfs strefakursow.pl Kurs Gmail warsztat pracy.rar
4036    sshfs strefakursow.pl Kurs HTML.rar
630144  sshfs strefakursow.pl Kurs Linux dla kazdego.rar
803708  sshfs strefakursow.pl Kurs Linux - zaawansowana administracja.rar
4508    sshfs strefakursow.pl Kurs Maya - od interfejsu do modelowania.rar
688     sshfs strefakursow.pl Kurs Programowania w jQuery.rar
452208  sshfs strefakursow.pl Kurs Programowania w PHP5.rar
272712  sshfs strefakursow.pl Kurs Programowania w Python.rar

Ogarniacie? Bo ja nie XD. Specjalnie pokolorowalem dwie pary plików.
Dodam, że ls -lR też wykazuje różnice w objętości plików
Ostatnie porównanie by mieć pewność że rsync psuje pliki. Puściłem hashdeepa i poprawiłem trochę czytelność translate'em

Kod:

root@nexus:/mnt# cat h.sort |tr ',' '\t'
## 
## # hashdeep sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Ekosystem JavaScript - wprowadzenie.rar sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Fundamenty jezyka Java.rar sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Git - system kontroli wersji.rar sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Gmail warsztat pracy.rar sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs HTML.rar sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Linux dla kazdego.rar sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Linux - zaawansowana administracja.rar sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Maya - od interfejsu do modelowania.rar sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Programowania w jQuery.rar sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Programowania w PHP5.rar sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Programowania w Python.rar sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Ekosystem JavaScript - wprowadzenie.rar sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Fundamenty jezyka Java.rar sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Git - system kontroli wersji.rar sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Gmail warsztat pracy.rar sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs HTML.rar sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Linux dla kazdego.rar sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Linux - zaawansowana administracja.rar 
## Invoked from: /mnt
## sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Maya - od interfejsu do modelowania.rar sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Programowania w jQuery.rar sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Programowania w PHP5.rar sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Programowania w Python.rar
%%%% HASHDEEP-1.0
%%%% size       md5     sha256  filename
1183969378      66d29f8b93710dca6de289cea0ed35b6        c88ccc5d4ddb94f359ca0ce654090c97afb13fd938a1bd2996adcfeaa0afa749        /mnt/sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Ekosystem JavaScript - wprowadzenie.rar
1183969378      66d29f8b93710dca6de289cea0ed35b6        c88ccc5d4ddb94f359ca0ce654090c97afb13fd938a1bd2996adcfeaa0afa749        /mnt/sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Ekosystem JavaScript - wprowadzenie.rar
225088945       5df23151af609c4c868b9598e7e0601a        1ef4265d7ba24b8e8ca768f50eb2636dc3997b2afc30f90f4975174ce23e2a63        /mnt/sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Gmail warsztat pracy.rar
225088945       5df23151af609c4c868b9598e7e0601a        1ef4265d7ba24b8e8ca768f50eb2636dc3997b2afc30f90f4975174ce23e2a63        /mnt/sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Gmail warsztat pracy.rar
278978216       4cbbbb9b499604073366394c94e896d7        92d9dda76eb84ce7dc9963b85140b1ee48139ec122a1a3c611bf9d344d82a6c6        /mnt/sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Programowania w Python.rar
278978216       4cbbbb9b499604073366394c94e896d7        92d9dda76eb84ce7dc9963b85140b1ee48139ec122a1a3c611bf9d344d82a6c6        /mnt/sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Programowania w Python.rar
4127664 5ec7428b2efafaa1aa8b0515daf65245        80391063ebfc96b9576f624e2c1e0a7dcfd2d04c379529db5ff141bd428aee38        /mnt/sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs HTML.rar
4127664 5ec7428b2efafaa1aa8b0515daf65245        80391063ebfc96b9576f624e2c1e0a7dcfd2d04c379529db5ff141bd428aee38        /mnt/sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs HTML.rar
414085847       a798f5cd4e2e1c71b81ab61be77f5290        2eaab8b6f7c14a41404773b570d7754363769162a6b98ad56efec7eb2fb346ea        /mnt/sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Git - system kontroli wersji.rar
414085847       a798f5cd4e2e1c71b81ab61be77f5290        2eaab8b6f7c14a41404773b570d7754363769162a6b98ad56efec7eb2fb346ea        /mnt/sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Git - system kontroli wersji.rar
4602899 00a8dfd1a874ace7101a5495a58556f6        0f8cb9b7e8b5db02b26e783650cf324abb76af040ecc745e6855be9a5533af36        /mnt/sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Maya - od interfejsu do modelowania.rar
4602899 00a8dfd1a874ace7101a5495a58556f6        0f8cb9b7e8b5db02b26e783650cf324abb76af040ecc745e6855be9a5533af36        /mnt/sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Maya - od interfejsu do modelowania.rar
462601733       bb365fc1c86a0aad0020164e85e5679a        f1b08facd77fff3377a95af37030fcced471f057ee965631df4bb61250b7a643        /mnt/sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Programowania w PHP5.rar
462601733       bb365fc1c86a0aad0020164e85e5679a        f1b08facd77fff3377a95af37030fcced471f057ee965631df4bb61250b7a643        /mnt/sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Programowania w PHP5.rar
644629254       5767e0fa9ccd231543cf097bd1860a00        820c0d692f597f82ae62c751fa77dbbbff6430e1f2cb1e9f21745081e1695675        /mnt/sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Linux dla kazdego.rar
644629254       5767e0fa9ccd231543cf097bd1860a00        820c0d692f597f82ae62c751fa77dbbbff6430e1f2cb1e9f21745081e1695675        /mnt/sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Linux dla kazdego.rar
699381  06396abbfa06a8a7103d03bb7e97898e        d1f236954abcf3470968cc7acbfa6c7a3f312dd92947d37eb1c7b75127859b83        /mnt/sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Programowania w jQuery.rar
699381  06396abbfa06a8a7103d03bb7e97898e        d1f236954abcf3470968cc7acbfa6c7a3f312dd92947d37eb1c7b75127859b83        /mnt/sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Programowania w jQuery.rar
7212958 b34ee4464ad43bb63f7dedda15c53ca2        d14752a567c33d8cb78cb9f2e1b321cd9802a7678fab65b1c0c8694a4b493e4f        /mnt/sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Fundamenty jezyka Java.rar
7212958 b34ee4464ad43bb63f7dedda15c53ca2        d14752a567c33d8cb78cb9f2e1b321cd9802a7678fab65b1c0c8694a4b493e4f        /mnt/sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Fundamenty jezyka Java.rar
822184990       bfa3c151251627acc4ca1e63ce4354ec        06d76bc2fb37909032d953221aacb283f7b98743a535249ff11bcee3a6201126        /mnt/sdf/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Linux - zaawansowana administracja.rar
822184990       bfa3c151251627acc4ca1e63ce4354ec        06d76bc2fb37909032d953221aacb283f7b98743a535249ff11bcee3a6201126        /mnt/sshfs/temporary_storage/transmission/Paczka.Strefa.Kursow/strefakursow.pl Kurs Linux - zaawansowana administracja.rar
root@nexus:/mnt#

No i teraz, niech ktoś mi wytłumaczy o co tu chodzi XD. Pliki SĄ TAKIE SAME, mimo że standardowe narzędzia do operacji na filesystemie pokazują że nie są :/

Offline

 

#2  2017-05-07 19:52:09

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: WTF różnica w zajętości dysków

To normalne, że pliki się różnią rozmiarem po przeniesieniu ich. W opisie pliku masz dwa atrybuty. Jeden określa rozmiar jaki zajmuje plik na dysku (ilość bloków), a drugi to faktyczny rozmiar pliku. Te dwie wartości rzadko kiedy będą takie same, bo zapis pliku na dysku jest dokonywany w całych blokach. Przykład:

Kod:

$ stat  plik
  File: plik
  Size: 474475311       Blocks: 926728     IO Block: 4096   regular file
Device: fe06h/65030d    Inode: 1048582     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/  morfik)   Gid: ( 5004/     p2p)
Access: 2017-03-31 12:49:11.563690025 +0200
Modify: 2016-08-08 07:41:57.480478092 +0200
Change: 2016-08-08 07:41:57.488478218 +0200
 Birth: -

No i faktyczny rozmiar tego pliku to 474475311 bajtów (452 MiB). Natomiast ten plik zajmuje na dysku 926728 bloków (sektory 512 bajtów), czyli zajmuje 926728*512= 474484736 bajów i masz różnice 9425 bajtów. Zwykle też ta różnica nie będzie większa niż rozmiar pojedynczego bloku systemu plików (4K). Tu jest nieco więcej, i to pewnie za sprawą fragmentacji tego pliku. Choć trochę to dziwne, że jakiś blok wcześniej zajmuje mniej niż 4096 bajtów. Myślałem zawsze, że tylko ostatni blok będzie niepełny, coś jakiś dziwnie te pliki w tym EXT4 są zapisywane. xD U ciebie też jest podobnie z PHP5.rar ale pozostałe już nie różnią się więcej niż 4 KiB .Weź jeszcze sprawdź filefrag -ev na tym pliku

Ostatnio edytowany przez morfik (2017-05-07 19:55:05)

Offline

 

#3  2017-05-07 22:07:37

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

Re: WTF różnica w zajętości dysków

Zdążyłem zaorać opensslem (btw fajny bęczmark zapisu:P) 250tkę ;)
Ale fragmentacji nie obstawiałbym- dysk byl używany może miesiąc jako storage dla transmissiona, a posta napisałem w oparciu o ostatni torrent.

Słuchaj, jakby różnica była po 4k na pliku to pewnie nawet byl tego nie zauważył- do przeniesienia miałem 198GB stuffu, a po drugiej stronie wyszło 211GB.
Więc albo XFS (nie e4) tak oszczędnie gospodaruje miejscem, albo gdzieś pod drodze pracowite krasnale, przekazując przez głuchy telefon, odpowiadają kernelowi ile co zajmuje xD
Wykroję jakieś 32GB z lvm i sprawdzę jeszcze raz.


Ej dobra, chyba się wyjaśniło XD
http://imgur.com/BRkynVOl.png
Niemniej, po przekopiowaniu 452MB pliku kursu PHP Z nfs na świeżego XFS. plik docelowy ważył już pełne 452 MB.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)